Prometheus myths vs facts for monitoring teams choosing between Datadog and Nagios
Prometheus handles 10 million series but requires sharding and costs 12 engineer-days annually to maintain. Datadog offers zero maintenance at $15 per host, while Nagios suits static networks. The right choice depends on team capacity and infrastructure type.
Prometheus is a CNCF-graduated project that stores time-series data in memory for two hours before flushing to local disk. A single server handles roughly 10 million active series, but memory usage scales directly with cardinality. One million metrics consume approximately 100 GB of RAM. The default retention period is 15 days, which makes month-over-month trend analysis nearly impossible without external storage. This architecture creates a hard ceiling for vertical scaling. You cannot add horizontal capacity to a single instance.
The operational reality of self-hosting
Running Prometheus at scale requires sharding across multiple instances. This splits your data and forces developers to remember which instance holds specific historical records. Querying upstream or downstream services becomes a puzzle when data is siloed across dozens of nodes. Federation attempts to solve this by aggregating metrics, but it only captures a subset of the data. Running a federated instance is a non-trivial task that rarely succeeds in providing a true global view.
The high availability story is equally fragile. A single node failure means you lose real-time visibility during an incident. Running redundant instances introduces inconsistent data during rolling restarts. You must also manage duplicate alerts from both systems. The software is free, but the engineering cost is not. Installation takes about nine engineer-days plus one day per ten servers. Maintenance consumes 12 engineer-days annually for upgrades and storage tuning. For a 50-server fleet on cloud VMs, the three-year cost reaches €39,400. With Kubernetes involved, that figure climbs to €50,200.
Datadog removes these operational burdens entirely. It bills separately for infrastructure, custom metrics, logs, and APM. Infrastructure costs $15 per host per month, while APM adds $31 per host. Custom metrics cost roughly $1 per 100 series. This model scales with your success until the bill becomes a line item finance circles in red. Coinbase spent $65 million on Datadog across 2021 before building an in-house stack. The risk here is vendor lock-in, though OpenTelemetry mitigates this by allowing you to instrument once and export anywhere.
Nagios remains a viable option for traditional IT environments. It uses a push-based model where agents send data to a central server. This approach suits static networks better than dynamic Kubernetes clusters. Nagios requires manual configuration for every host and service. It lacks the dimensional data model that lets you slice metrics by labels after collection. Visualization is limited without third-party plugins like NagVis. Alerting supports email, SMS, and audio channels, but it does not handle complex threshold rules as natively as Prometheus Alertmanager.
| Feature | Prometheus | Datadog | Nagios |
|---|---|---|---|
| Model | Pull-based scraping | Hybrid push/pull | Push-based agents |
| Storage | Local disk (15-day default) | Managed SaaS | Local database |
| Scaling | Vertical only (single node) | Automatic | Manual server addition |
| Cost | Engineering hours + infra | Per-host/per-metric subscription | Free (open source) |
| Best For | Kubernetes / Cloud-native | Zero-maintenance enterprise | Traditional static networks |
The choice hinges on who operates the system at 3am. If you have platform engineers with spare capacity, self-hosting Prometheus saves money at large scale. If you lack dedicated staff, Datadog buys back engineer time. Nagios fits if your infrastructure is static and you need simple availability checks. Do not ignore cardinality; it decides your bill or crashes your server. Never put unbounded values like user IDs in metric labels. Keep those in logs. Instrument with OpenTelemetry now so the backend remains a decision you can change later.