I'm managing five small e-commerce products and I'm looking for an efficient toolchain to set up alerts specifically for error logs. My tech stack consists of Next.js with Winston for logging, Docker with Docker Compose, and I'm using a Hetzner VPS running Ubuntu. Although the products run smoothly most of the time, there are instances like changes in payment processor APIs that disrupt the payment flow or instances of getting banned by third parties. I've already configured logging with different levels, but now I want to receive notifications about error logs through platforms like Telegram, WhatsApp, or Discord. I initially considered a centralized logging solution but prefer to keep the products independent of my infrastructure. Having experience with Elasticsearch and Grafana Loki, they seem like overkill for my needs. I'd appreciate any suggestions for the right tools to set up alerts on error logs while minimizing complexity and maintenance.
5 Answers
I personally use Grafana, VictoriaMetrics, OpenTelemetry, and Pushover for notifications. It's a solid stack. You might also consider something simpler like UptimeRobot for basic monitoring.
For your setup, you don’t really need a complex logging stack. I recommend shipping structured logs with OpenTelemetry and setting up alert rules right at the ingestion layer, instead of parsing raw logs. This keeps things manageable and avoids noise during incidents. CubeAPM is a great fit - it allows you to ingest structured logs from your applications, create rule-based alerts based on error levels, and even correlate errors with traces to see the entire failing request path. Plus, it's manageable without overwhelming operational demands.
For application metrics and notifications, I’d suggest Prometheus and Grafana alongside a notification service like Pushover or webhooks. For health monitoring, UptimeObserver is effective; UptimeKuma can work too, but it requires your own monitoring, which can be a hassle.
In my organization, we've been using SigNoz for self-hosting and it's proven to be much simpler and lighter than an ELK or Grafana/Loki setup. It runs smoothly on a smaller, more affordable EC2 instance.
If you want a no-fuss solution, hook your Winston logs directly to a notification service. There are libraries for Winston that integrate with Slack, Telegram, or Discord. Also, consider adding a Docker health check to restart services if they fail. For occasional monitoring, you could use basic log forwarding to CubeAPM for some nice dashboards without the full complexity of your own stack.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures