Skip to main content

🧭 Get Slack alerts for CrashLoopBackOff (and fix it)

CrashLoopBackOff means a pod starts, fails, and Kubernetes waits longer before each restart. The app inside is crashing; the status is a symptom, not a cause.

🔎 Check it by hand​

  1. List the pods in the namespace
kubectl get pods -n <namespace>
  1. Read the output of the last crash
kubectl logs <pod> -n <namespace> --previous
  1. Read the pod events and last state
kubectl describe pod <pod> -n <namespace>

🎯 What kwatch sends​

The message reads like this.

Example message​

🟠 warehouse in staging (prod-eu-1) keeps crashing. Its node and registry are healthy and unchanged, so nothing outside it explains this. It fails with "FileNotFoundException: Could not load file or assembly 'Trella.Models.Common, Version=3.1.120.0'". Its last run lasted 10s. It runs a single replica, so this is downtime, not degradation. To read the output of the last crash, run kubectl logs warehouse-b3e14f5e-a -c app -n staging --previous

Community sends to one channel; Pro sends to all your channels. See Channels.

⭐ Which edition​

Community detects crash loops and sends the root-cause headline to one channel. Slack is a supported channel. Pro adds the full proof, who changed what, and delivery to all your channels.

🚀 Install kwatch​

One command, and it walks you through it.

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

Community is free forever; Pro is free during early access. See Installation and Community vs Pro.