Why this matters
- VaultCommerce PagerDuty fires on
UnderReplicatedPartitions > 0for 5 minutes. - Consumer lag SLO: inventory < 5k, analytics < 50k during peak.
- JMX → Prometheus via kafka_exporter; Grafana dashboards per team.
- Metrics without alerts are vanity — tie every chart to a runbook step.
Critical broker metrics
UnderReplicatedPartitions, OfflineReplicaCount, ActiveControllerCount (must be 1). Request handler idle percent below 20% signals overload. VaultCommerce alerts on disk above 75% and LogFlushRateAndTimeMs p99 spike.
Key points
- Under-replicated partitions — ISR < RF; precursor to data loss risk
- Request queue time — broker overload indicator
- Consumer lag — offset behind log end
- kafka_exporter — Prometheus metrics from JMX
- Alert SLO — threshold + duration before page
Consumer lag alerts
kafka_consumergroup_lag_sum grouped by group, topic. Derivative alert on lag growth rate. Burrow optional for multi-cluster. VaultCommerce uses Prometheus recording rules for lag_velocity_5m.
VaultCommerce rollout checklist
Before promoting changes that touch the VaultCommerce order and payment event backbone, run the staging KRaft cluster (Kafka 3.7+, Schema Registry 7.x) through a 10k events/min soak test. Compare producer request latency p99 and consumer lag per group against the pre-deploy baseline. Alert on under-replicated partitions immediately. Document the change in the internal topic registry, attach Grafana screenshots to the change ticket, and keep an engineer on lag dashboards for 30 minutes after production rollout — roll back the service release before altering broker-level settings if lag or under-replicated partitions spike.
# VaultCommerce Prometheus alert rules excerpt
groups:
- name: kafka
rules:
- alert: KafkaUnderReplicatedPartitions
expr: kafka_server_replicamanager_underreplicatedpartitions > 0
for: 5m
labels: { severity: critical }
annotations:
summary: "Kafka under-replicated partitions on {{ $labels.instance }}"
- alert: InventoryConsumerLagHigh
expr: kafka_consumergroup_lag_sum{group="inventory-service"} > 10000
for: 5m
labels: { severity: warning }
Quick recall
Everything you need if you only revisit this box.
- Alert on under-replicated partitions immediately.
- Lag velocity catches slow drains.
- JMX → Prometheus → Grafana → PagerDuty.
Test yourself
Answer these before moving on — recall is what makes it stick.