-rw-r--r-- > Self-Hosting Kubernetes Monitoring: Why I Killed Datadog I ran Datadog on my single-node k3s cluster for three months. It worked, it was pretty, and it shipped every log line of Kubernetes 2 min read 2026-07-15 cd →
-rw-r--r-- > K8s Monitoring Part 1: Migrating to kube-prometheus-stack Part 1 of my self-hosted monitoring series. The mission: replace my standalone prometheus and grafana Helm charts with kube-prometheus-stack, the community Kubernetes 3 min read 2026-07-15 cd →
-rw-r--r-- > K8s Monitoring Part 2: Traefik Status Codes per Service Part 2. Goal: see HTTP status codes per service, so "something is 500ing" becomes "ghost is 500ing" without opening a Kubernetes 2 min read 2026-07-15 cd →
-rw-r--r-- > K8s Monitoring Part 3: MetalLB Doesn't Move Your Packets Part 3. I wanted "MetalLB network in/out" on a dashboard. What I learned instead is that the question doesn't Kubernetes 2 min read 2026-07-15 cd →
-rw-r--r-- > K8s Monitoring Part 4: Loki + Alloy — Every Log for 6GiB Part 4, the one Datadog doesn't survive. Goal: every container log from every namespace, searchable in Grafana, on a 6GiB disk budget. Kubernetes 3 min read 2026-07-15 cd →