Liking cljdoc? Tell your friends :D

Runbooks

One page per alert family in deploy/monitoring/prometheus-rules.yaml. Every alert's runbook_url points at one of these, and every page lists its alerts on an Alerts: line. Each page has the same four sections: Symptom (what the operator or the provider sees), Metric (what to look at to tell causes apart), Action (what to do, cause by cause) and Verification (how to know it worked). mise run check:monitoring fails when an alert has no page, a page lacks a section, or the two disagree.

The dashboard is deploy/monitoring/grafana/ankusa.json; its sections are named for the runbooks they lead to. The thresholds are the SLO table's (architecture), and how to load all three is in deployment.

RunbookAlertsWhat it covers
ack-sloAnkusaAckErrorRatioHigh, AnkusaAckLatencySLOBreach, AnkusaAckLatencyDegraded, AnkusaAckLatencyCritical, AnkusaIngestNearCapacity, AnkusaDrainBudgetAtRisk503s, slow acks, capacity, the SIGTERM drain's commit budget
backlog-ageAnkusaBacklogStale, AnkusaDeliveryLatencySLOBreachdeliveries reaching their sinks late
breaker-openAnkusaBreakerOpena sink's circuit breaker open
dlq-growthAnkusaDLQGrowing, AnkusaDLQFulldead letters piling up; the DLQ ceiling refusing hooks
disk-fullAnkusaDiskLowthe data volume running out
backup-staleAnkusaBackupStalethe checkpoint upload failing or not running
store-write-failedAnkusaStoreWriteFailures, AnkusaStoreUnavailablethe store failing writes, or closed
node-unreadyAnkusaSubtreeDowna failure domain out of restart budget; reading /ready
intake-downAnkusaIntakeFailures, AnkusaIntakeNotReady, AnkusaIntakeReconcileStuckthe intake log of wal.type: dual
tenant-overloadAnkusaTenantOverloadone tenant refused with 429 tenant_overload
memory-growthAnkusaMemoryGrowththe VM's memory climbing
metrics-cardinalityAnkusaMetricsSeriesOverBudgetmore than 10 000 series on a node

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close