Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions deploy/monitoring/prometheusrule.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,13 @@ spec:
annotations:
runbook_url: https://github.com/hivecommons/dibs/blob/main/runbooks/incident-response.md#6-match-engine-llm-alert
summary: More than half of Dibs match-engine LLM calls for op {{ $labels.op }} are failing.
- alert: DibsPodRestarting
# Needs kube-state-metrics. Catches OOM kills and crash loops that
# recover between scrapes, which DibsDown (absent up) does not see.
expr: increase(kube_pod_container_status_restarts_total{namespace="dibs",container="dibs"}[30m]) >= 3
for: 5m
labels:
severity: warning
annotations:
runbook_url: https://github.com/hivecommons/dibs/blob/main/runbooks/incident-response.md#7-pod-restart-alert
summary: Dibs container has restarted 3 or more times in 30 minutes.
12 changes: 12 additions & 0 deletions runbooks/incident-response.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,15 @@ quality degrades.
credential or model name is wrong, fix the secret and restart with
`kubectl -n dibs rollout restart deploy/dibs`.
5. If errors began right after a rollout, follow [release-rollback.md](release-rollback.md).

## 7. Pod restart alert

For `DibsPodRestarting`. A container that restarts and recovers can leave
`/readyz` green at scrape time while requests in flight are dropped.

1. Find the last termination reason:
`kubectl -n dibs describe pod -l app=dibs` (`Last State`, `Reason`, `Exit Code`).
2. `OOMKilled` means the 256Mi memory limit in `deploy/deployment.yaml` is too
low for the current load; raise the limit and roll out.
3. Otherwise read the crash output: `kubectl -n dibs logs deploy/dibs --previous`.
4. If restarts began right after a rollout, follow [release-rollback.md](release-rollback.md).
Loading