Home/For Kubernetes
Best Observability Platforms for Kubernetes: Container Billing Explained (2026)
The Kubernetes Billing Problem
Kubernetes auto-scaling means host counts and pod counts fluctuate constantly. An observability platform that charges per-host using high-water-mark billing will cost more than expected because you pay for peak capacity, not average utilization. Per-container billing can also surprise you when pod counts spike during deployments or traffic surges. Usage-based billing (per-GB or per-series) aligns costs with actual data volume regardless of infrastructure topology.
How Each Platform Bills for K8s
| Platform | Billing Model | K8s Impact | Predictability |
|---|---|---|---|
| Prometheus | Free (self-hosted) | Native K8s service discovery. Zero billing impact from scaling. | Perfect |
| Grafana Cloud | Per-series + per-GB | Scales with data volume, not host count. Predictable on K8s. | High |
| New Relic | Per-GB data ingest | No per-host fees. Scales with telemetry volume, not pods. | High |
| Dynatrace | GiB-hour consumption | OneAgent auto-discovers pods. GiB-hour tracks actual usage. | Medium |
| Datadog (per-host) | Per-node, high-water-mark | Pays for peak node count per hour, averaged monthly. Spikes cost more. | Low |
| Datadog (per-container) | $0.002/container/hr | ~$1.44/container/month. Can be cheaper than per-host for dense nodes. | Medium |
| SigNoz | Per-GB + per-million | No per-host fees. OTel-native K8s support. | High |
Prometheus: The Kubernetes-Native Choice
Prometheus was created at SoundCloud by ex-Google engineers who wanted a Borgmon-like monitoring system for containers. It became the second CNCF graduated project (after Kubernetes itself). Every major Kubernetes distribution ships with Prometheus support.
- Native service discovery automatically finds new pods, services, and nodes as they are created
- kube-state-metrics provides cluster state (pod status, deployment replicas, node conditions)
- node-exporter provides host-level metrics (CPU, memory, disk, network) per node
- Prometheus Operator simplifies deployment and management on K8s with CRDs for ServiceMonitors and PrometheusRules
- Zero software cost regardless of cluster size
Datadog on Kubernetes
Datadog's Kubernetes integration is excellent from a features standpoint. The DaemonSet-deployed agent with Cluster Agent provides auto-discovery, container maps, live container views, and Orchestrator Explorer. The challenge is billing.
Per-host billing: Counts the underlying node. A 20-node cluster with auto-scaling to 50 nodes during peaks will average higher than 20 nodes/month due to high-water-mark billing. Budget for the average peak, not the baseline.
Per-container billing: Alternative option at $0.002/container/hour (~$1.44/container/month). Better for dense nodes running many small pods. Worse for nodes running a few large pods.
APM on K8s: APM is billed separately at $31/host/month on top of infrastructure. With auto-scaling, this is the cost component that surprises teams the most.
OpenTelemetry Collector on Kubernetes
The OpenTelemetry Collector is the vendor-neutral telemetry pipeline. Deploy it on K8s and send data to any backend.
DaemonSet deployment: One Collector per node. Collects node-level metrics, receives traces from application pods via gRPC/HTTP, and tails container logs. The standard pattern for production K8s.
Sidecar deployment: One Collector per pod. Higher resource overhead but better isolation. Useful for multi-tenant clusters or when different services need different processing pipelines.
Gateway deployment: Centralized Collector receiving data from agents. Adds buffering, load balancing, and sampling before forwarding to the backend. Reduces backend costs for high-volume clusters.
# Deploy OTel Collector on K8s
helm repo add open-telemetry \
https://open-telemetry.github.io/opentelemetry-helm-charts
helm install otel-collector \
open-telemetry/opentelemetry-collector \
--set mode=daemonset