Cloud monitoring tools split into SaaS (Datadog, New Relic, Datadog, Grafana Cloud) and self-hosted (Prometheus + Grafana, Zabbix). AWS has CloudWatch (native), GCP has Cloud Monitoring (formerly Stackdriver). The team that uses managed SaaS has fast setup; self-hosted has more control. The team that uses cloud-native (CloudWatch, GCP CM) has no setup but limited cross-cloud.
Table of contents
- The SaaS tier
- The self-hosted tier
- Cloud-native options
- Choosing by use case
- Open-source observability stack
- FAQ
The SaaS tier
- Datadog: full-stack observability (infra, APM, logs, RUM, security). Pricing per host. Best-in-class UI. The team that uses Datadog has comprehensive observability as a service.
- New Relic: APM-focused, expanded to infra/logs. Pricing per host + ingest. The team that uses New Relic has APM strength.
- Grafana Cloud: Grafana as a service + Prometheus + Loki. The team that uses Grafana has the OSS stack managed.
- Datadog Competitors: Dynatrace (enterprise), Honeycomb (event-based), Sentry (errors), Logz.io (logs).
The team that picks SaaS has fast setup, comprehensive features, per-month cost.
The self-hosted tier
- Prometheus: CNCF, pull-based metrics, alerting rules. Standard for K8s. The team that uses Prometheus has OSS metrics.
- Grafana: visualization. Pairs with Prometheus. The team that uses Grafana has dashboards.
- Loki: log aggregation (Grafana ecosystem). The team that uses Loki has logs alongside metrics.
- Tempo: tracing (Grafana ecosystem). The team that uses Tempo has distributed traces.
- Thanos/Cortex: long-term Prometheus storage. The team that needs Prometheus retention uses these.
- Zabbix: traditional monitoring, broader than Prometheus.
The team that uses self-hosted has full control, no per-host cost, more ops work.
Cloud-native options
- AWS CloudWatch: metrics, logs, alarms. Free tier covers basic. The team that uses CloudWatch on AWS has zero setup.
- GCP Cloud Monitoring: metrics, logs, traces for GCP. Was Stackdriver. The team that uses GCP has zero setup.
- Azure Monitor: Azure-native. The team that uses Azure has zero setup.
The team that uses cloud-native has minimal setup but limited cross-cloud visibility.
Choosing by use case
- Quick start, multi-cloud: Datadog or New Relic.
- AWS only, basic: CloudWatch.
- K8s, OSS: Prometheus + Grafana.
- APM-first: New Relic or Datadog.
- Log-heavy: Datadog or ELK stack.
- Budget-conscious: Grafana Cloud (OSS stack, hosted).
- On-prem / air-gapped: Prometheus + Grafana self-hosted.
The team that picks based on use case has the right tool.
Open-source observability stack
The ‘LGTM’ stack (Loki, Grafana, Tempo, Mimir):
- Loki: log aggregation.
- Grafana: visualization.
- Tempo: distributed tracing.
- Mimir: long-term Prometheus storage.
The team that uses LGTM has full OSS observability with Grafana as the UI.
FAQ
What’s the best monitoring tool?
Depends. Datadog for most teams (comprehensive, easy). Prometheus for K8s + OSS preference. CloudWatch for AWS-only with minimal setup. The team that picks based on needs has the right answer.
How much does Datadog cost?
$15-23/host/month for infra + APM. Plus per-GB for logs. The team that has 50 hosts pays $750-1150/month for Datadog.
Is Prometheus hard to operate?
Yes for non-trivial scale. The team that has small clusters manages fine. Large clusters need Thanos/Cortex/Mimir for HA and long-term storage.
Can I use multiple tools?
Yes - common pattern: Prometheus + Grafana for metrics, separate log solution (Loki, ELK), separate APM (Datadog, New Relic). The team that uses best-of-breed has integration work.
What’s the difference between monitoring and observability?
Monitoring: predefined metrics + alerts. Observability: explore unknown failures via metrics/logs/traces. Modern tools blur the line. The team that uses ‘observability’ for modern stacks and ‘monitoring’ for traditional is consistent.
If you are sizing the infrastructure for the kind of project this post covers, the RunxBuild hosting calculator is the right place to model the line items. The compute, the memory, the storage, the bandwidth, the database - each one is a separate number, and the team’s mental model for the platform is the sum of those numbers. The RunxBuild dashboard is where the team sees the actual usage in one place.
Useful related references: