Skip to main content

🧐 What is kwatch?

kwatch is like a smart friend for your Kubernetes cluster:

💥
Something crashes → you get a message that says why (not just "pod is broken")
🔇
Smart about noise — groups related issues, ignores flapping, sends a digest when things get crazy
🧠
Explains itself — every alert names the cause, the impact, and what recently changed
Works in under a minute — just one command and a config file

🚫 No Prometheus🚫 No Grafana🚫 No 50-step setup
Just alerts that make sense. 🎯

🆚 kwatch vs the scary stuff

Feature👑 kwatch😰 DIY💸 SaaS
⏱️ Setup time~5 minuteshours of YAMLagent + backend setup
📦 Size~20 MB single binarywhole monitoring stackper-node agents + cloud costs
💬 AlertsSelf-explaining ("OOMKilled — raise memory limit")Rule-defined messageDepends on configuration
🗄️ StorageNone (stateless)Prometheus TSDBFull retention (costly)
📚 Learning curveOne ConfigMapPromQL + alert rulesPlatform-specific DSL

🚨 Before vs After

🤷 Before
CrashLoopBackOff
😰 Raw YAML output — good luck figuring it out
Error
😰 Just "Error" — no context, no cause
kwatch
💡 After
🚨 OOMKilled
💡 memory limit: 512Mi — try raising limits.memory
📋 logs + events included
🚨 HTTP probe failing
💡 on :8080/healthz (exit 137) — container ran out of memory
🔧 suggests raising memory limit

🎯 What does it catch?

Every monitor below is on by default — zero config needed:

🟥 Pod crashes (CrashLoop, OOM, ImagePull, Error)

Container state + last logs + events — tells you *why*

⏳ Pending pods (stuck Unschedulable)

Alerts after 300s stuck

🖥️ Node issues (NotReady, Disk/Memory pressure)

Per-condition severity

💾 PVC running out of space

Warn at 80%, critical at 90%

❌ Failed Jobs & stuck CronJobs

JobFailed / suspended / missed runs

🚀 Stuck rollouts & StatefulSets

ProgressDeadlineExceeded — deployment didn't finish

📡 DaemonSet pods not running

Unavailable pods detected

📈 HPA stuck at max replicas

After 20 minutes sustained

📣 Cluster autoscaler can't scale

FailedToScaleUp / NotTriggerScaleUp

🔒 TLS certs expiring

Enable if you want cert expiry warnings

💓 Heartbeat (dead man's switch)

Enable to page you if kwatch itself goes down

TLS and heartbeat are the only ones off — everything else just works out of the box.

🧠 Alerts that explain themselves

kwatch ships with a diagnosis engine that runs inside your cluster, reads the logs and events, and tells you what's wrong and what to do next.

How does the insight engine work?

1
Something breaks — a pod crashes, a node goes down, a deployment gets stuck
2
kwatch works out the root cause — it maps the pod to its node, owner, services, PVCs and config, and reads the container logs, events, and crash reasons
3
You get a plain-English fix — "OOMKilled — try raising memory limit" instead of a cryptic error code

🕳️ Knows when it was blind: kwatch stamps its own liveness, so if it was down while your cluster wasn't, the next startup message says how long nobody was watching.

diagnosis configuration
# Says *why* a crash happened — the root cause, impact, and what changed.
# Configuration is optional: the insight/dependency graph is on by default.

When a crash happens, the diagnosis engine reads the logs and tells you the most likely cause and what to do next. Like having a senior SRE on-call with you. 🎯

Installation

60-second install

Pick your method — both take under a minute 🚀

🏆Easiest

📦 Helm

helm repo add kwatch https://kwatch.dev/charts
helm install [RELEASE_NAME] kwatch/kwatch --namespace kwatch --create-namespace --version 0.11.0-rc.6

More details in the chart docs 📖

🐙Classic

kubectl

1
Get config
curl -L https://raw.githubusercontent.com/abahmed/kwatch/v0.11.0-rc.6/deploy/config.yaml -o config.yaml
2
Edit & apply
vim config.yaml # ✏️ add your webhook
kubectl apply -f config.yaml
3
Deploy kwatch 🎉
kubectl apply -f https://raw.githubusercontent.com/abahmed/kwatch/v0.11.0-rc.6/deploy/deploy.yaml

📖 Not a monitoring platform — and proud of it! 🎉

kwatch is not a metrics collector, dashboard, or observability backend. No TSDB, no dashboards, no log storage, no query language. kwatch is the alarm — your existing tools are the archive.

Need full observability? Pair kwatch with Prometheus + Grafana for metrics, or Loki for logs. kwatch handles the one thing a dashboard cannot: telling you something broke right now. ⏰

📨 Send alerts where you already work

kwatch delivers crash alerts to your team's messaging platform — no extra tools needed

SlackSlack
DiscordDiscord
Microsoft TeamsMicrosoft Teams
TelegramTelegram
PagerDutyPagerDuty
OpsGenieOpsGenie
MattermostMattermost
RocketChatRocketChat
MatrixMatrix
Google ChatGoogle Chat
FeishuFeishu
ZendutyZenduty
EmailEmail
DingTalkDingTalk
WebhookWebhook

… and 41 more — GitLab, Gitea, Matrix, Splunk, SendGrid, AWS SNS/SES, Twilio, PagerDuty & Jira. 56 providers supported in total.

🚀 Who uses kwatch?

Trusted by engineering teams around the world

🏢 Want to add your company? Open an issue!