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 an open-source Kubernetes incident monitor. It turns failures into clear alerts that explain what broke, why it happened, and what to do next:

  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.

kwatch runs in your own cluster, with no hosted account required. Pair it with Prometheus, Grafana, or Loki for long-term metrics and logs.

๐Ÿšจ What an alert looks likeโ€‹

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

๐Ÿšจ OOMKilled โ€” production / orders-api
Pod: orders-api-7ffc9d4f9-x9p4t
Node: worker-3 ยท severity: high

๐Ÿ’ก Cause: the container exceeded its 512Mi memory limit.
โžก๏ธ Next step: increase limits.memory or reduce memory usage.

๐Ÿ“„ Recent logs and Kubernetes events are included.

๐ŸŽฏ 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 Bash, kubectl, curl, and cluster install permissions. Confirm that kubectl can reach your cluster:

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 verifies the installation.

3. Check the resultโ€‹

kubectl get pods -n kwatch

By default you should see two kwatch pods with STATUS Running: one active leader and one standby. Both pods should show their container as READY 1/1; only the leader is ready for monitoring. A one-replica installation is also supported, but it has no kwatch self-failover. ๐ŸŽ‰

๐Ÿ› ๏ธ 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. โœจ