Skip to main content

👋 Getting started

What is Kubernetes?

Kubernetes (often called K8s) runs your applications in containers. It keeps those containers running, moves them between machines, and starts new ones when needed.

That also means there are many moving parts. A container can run out of memory, a deployment can get stuck, or a service can lose its healthy backends.

What is kwatch?

kwatch is the alarm for your Kubernetes cluster. It watches your workloads and sends a clear message when something needs attention:

  1. 👀 Watch — kwatch reads Kubernetes status, events, and recent logs.
  2. 🧠 Explain — it connects the clues and finds the likely cause.
  3. 📣 Alert — it sends the reason, impact, and next step to your team.

You do not need Prometheus, Grafana, or a new dashboard to get started. kwatch is small, runs in your cluster, and stores no logs or metrics database.

🚨 What an alert looks like

Instead of only seeing CrashLoopBackOff, you get a message like:

🚨 OOMKilled — production / orders-api
Cause: the container used more than its 512Mi memory limit.
Next step: increase limits.memory or reduce memory usage.
Evidence: recent logs and Kubernetes events

🎯 What does kwatch watch?

Most monitors are enabled by default:

SignalWhat kwatch explains
🟥 Pod crashesCrash reason, logs, events, and a next step
⏳ Pending podsWhy the scheduler cannot place a pod
🖥️ NodesReadiness and disk or memory pressure
🚀 DeploymentsStuck rollouts and unavailable replicas
🧩 StatefulSets and DaemonSetsUnavailable or stuck workloads
🧑‍💼 Jobs and CronJobsFailed, suspended, or missed work
📈 HPAAn autoscaler stuck at its replica limit
📣 Cluster autoscalerEvidence that scaling could not happen
💾 PVCsStorage pressure and volume failures
🌐 Services and IngressMissing or unhealthy backends
🏛️ Control planeAPI server and platform health signals

TLS certificate monitoring and heartbeat notifications are opt-in. See the configuration guide or the complete configuration reference for every available key.

🚀 Install in three steps

1. Check your tools

You need kubectl, curl, and access to a Kubernetes cluster. Confirm that kubectl can reach it:

kubectl cluster-info

2. Run the manager

/bin/bash -c "$(curl -fsSL https://kwatch.dev/kwatch.sh)"

The manager asks where alerts should go, stores credentials safely in a Secret, installs kwatch, and waits until it is ready. No Helm is required.

3. Check the result

kubectl get pods -n kwatch

You should see a kwatch pod with READY 1/1 and STATUS Running. 🎉

🛠️ What next?

If you are unsure where to begin, install with the manager first. You can run it again later to configure, upgrade, check, or uninstall kwatch. ✨