Full-stack Kubernetes observability with Logfire
Blog post from Pydantic
Kubernetes observability often involves separate tools for cluster metrics and application traces, complicating incident correlation. A streamlined solution involves deploying an OpenTelemetry Collector as a DaemonSet to collect Prometheus metrics from kube-state-metrics and kubelet cAdvisor, enriching them with Kubernetes metadata using the k8sattributes processor, and exporting to Logfire. This setup allows for unified visibility into events like pod memory usage spikes, OOM kills, and the specific request traces that trigger them. The architecture involves kube-state-metrics for cluster object states and kubelet cAdvisor for container-level runtime metrics, with the OpenTelemetry Collector integrating these into a single, enriched data stream. By providing Kubernetes metadata, the system facilitates cross-signal correlation, enabling users to filter and join metrics and traces by pod or deployment in Logfire, enhancing the analysis of application performance and resource usage.