See everything in your Kubernetes cluster in 5 minutes.
Open-source monitoring with one agent: nodes, pods, containers, the services next to them, and the network between them. No PromQL, no dashboards to build. Docker hosts too.
Works withKubernetes
Docker
# Kubernetes · server and agents in namespace watchlog kubectl create namespace watchlog kubectl label namespace watchlog \ pod-security.kubernetes.io/enforce=privileged helm install watchlog \ oci://ghcr.io/watchlog-light/charts/watchlog \ -n watchlog --version 0.5.0
# Docker host · server, with a password and key in .env curl -fsSLO https://watchlog.io/compose.yaml printf 'WATCHLOG_DB_PASSWORD=%s\nWATCHLOG_SECRET_KEY=%s\n' \ "$(openssl rand -hex 16)" "$(openssl rand -base64 32)" > .env docker compose up -d # then copy the agent command from Settings → Clusters

- Open source · AGPL-3.0
- ~20 MB per node
- eBPF, no sidecars
- Kubernetes and Docker
- Read-only agent
The answers you need, without assembling a stack.
Why is this broken? WatchLog tells you.
Every alert, failing connection and crashing pod or container gets its probable cause: one sentence, the evidence behind it, and what was checked. Fixed rules over the data WatchLog already collects; no AI, no scores.
frontend fails because api was scaled to 0: nothing answers its calls.
shop-worker-1 is OOM-killed when it reaches its 256 MiB memory limit: 12 times in the last hour.


Service map from real traffic
eBPF sees every connection: who talks to whom, failures and latency, between pods or containers. No sidecars, no code changes.
What eBPF reads →Restart reasons, not just counts
OOMKilled, exit codes and crash loops explained in plain words, for pods and containers, with the change that came before.
See it in the live demo →Alerts that work on day one
Sensible rules switched on at install, to Slack, Telegram, email or a webhook, with the likely cause in the message.
The default rules →The services next to your apps
Redis, PostgreSQL, MySQL and MariaDB, MongoDB, Nginx, Traefik, RabbitMQ and Kafka found automatically, each with its own page.
Applications →Logs on demand
The last lines of a pod's or container's log, where you already look: redacted, streamed and never stored.
How logs work →Right-sizing hints
Requests and limits against seven days of real use, in plain sentences: what was set, what was used, what would cover it. No scores.
What each hint means →Press ⌘K, go anywhere
Pages, clusters, workloads, pods, nodes, hosts, containers and applications, found by name with ⌘K or Ctrl+K. Keyboard first.
How to find anything →Docker hosts, first class
The same views for hosts, Compose projects and containers, from one docker run per host.
Install on Docker →
Ask your AI what broke. It answers from WatchLog.
Connect Claude or ChatGPT with a read-only token. It reads real exit codes, OOM kills, slow queries and rollouts, on Kubernetes and Docker.
Try it on the live demo →How it works
Read only: tokens can't change anything and never see secrets, and every call is logged. No AI runs inside WatchLog.
What's wrong with my clusters?
Asking WatchLog…
- get_problems182 ms2 critical problems in shop
- explain_alert95 msimage-resizer · OOMKilled, exit 137
- explain_alert88 mspayments-api · exit 1, CrashLoopBackOff
- get_events61 msWarning events of the last 2 h
- get_service_map112 msno failing connections
kind-demo is red because two pods in shop keep crashing.
1.shop/image-resizer goes over its 32Mi memory limit and gets killed (OOMKilled, exit 137). Nothing was deployed before it.
2.shop/payments-api exits with code 1 and is in CrashLoopBackOff. It isn't memory: read its last run with kubectl logs --previous.
No nodes are down, and no connections are failing.
Recorded with Claude Code against WatchLog, shortened. Every MCP client gets the same tools.
What's wrong with my clusters?
Asking WatchLog…
- get_problems140 ms2 critical, 4 warnings
- list_alerts61 ms3 alerts firing
- explain_alert83 msstorefront-api · exit 2, restarting
- get_pod77 msbilling-worker · OOMKilled, exit 137
- get_node52 msdocker-02 · silent for 7 days
prod-fleet has a silent host and two containers in trouble.
1.docker-02 stopped reporting 7 days ago. Check that the host and its WatchLog agent are up, or remove it.
2.billing-worker was killed at its memory limit (OOMKilled, exit 137), three times so far.
3.storefront-api exits with code 2 every few seconds and Docker starts it again: 35 restarts. Read docker logs storefront-api.
Recorded with Claude Code against WatchLog, shortened. Every MCP client gets the same tools.
Your databases, caches and queues, too.
Found automatically in what the agents already see, on Kubernetes and Docker. Connect with the command WatchLog writes for you, and each gets a full page, alerts and plain-language reasons.

