Runbook: ReplicationLag
Source of truth:
tools/observability/alerts/angarabase_alerts.yaml. Backed by: RM-0.6.3.8 S7.
Что означает
Задержка реплики (angarabase_replication_lag_bytes или эквивалент в seconds) > 10 секунд.
Реплика отстаёт от primary; чтения с реплики возвращают устаревшие данные.
Severity
warning. При > 60 секунд риск потери данных при failover.
Initial response
- Grafana Overview v2 → row “Replication”.
- На primary: проверить slot status / sender backpressure.
- На реплике: проверить apply rate / disk space / network bandwidth.
Diagnostics
# Primary
curl -sf http://primary:9898/metrics | rg replication
# Replica
curl -sf http://replica:9898/metrics | rg replication
# Application lag в секундах
psql -h replica -c "SELECT now() - pg_last_xact_replay_timestamp() AS apply_lag;"
См. также replication-v2.md §Diagnostics.
Mitigation
| Причина | Действие |
|---|---|
| Сеть | Проверить bandwidth, RTT, packet loss между primary и replica |
| Реплика медленнее primary | Upgrade hardware (SSD, CPU, RAM) на replica |
| Большой slot backlog | Освободить (рискованно — drop неактивный slot) |
| Apply bottleneck (single-threaded) | См. replication-v2.md §Tuning |
| Конкурент GC на реплике | Снизить query load на replica |
Escalation
Если lag > 60 секунд и растёт > 15 минут — оценить риск split-brain при failover; подготовить план восстановления.