fix(harness): do not hold recovery on layer-1 signature alerts
alerts_ok は第 2 層(signature なし)のアラートだけを見る。第 1 層のシグネチャ アラートはプラットフォームが復旧を担う情報であり、Grafana の解決が 8 分遅れると MTTR に乗ってしまうため除外する。
This commit is contained in:
1 parent
cd8fbdddab
commit
8836b37927
1 file changed
+3
-1
+3
-1
@@ -108,7 +108,9 @@ func (r *AlertRouter) handleWebhook(w http.ResponseWriter, req *http.Request) {
|
|||||||
"startsAt": al.StartsAt, "fingerprint": al.Fingerprint, "layer": al.Labels["layer"], "signature": sig}
|
"startsAt": al.StartsAt, "fingerprint": al.Fingerprint, "layer": al.Labels["layer"], "signature": sig}
|
||||||
r.app.store.Event(bg, runID, sid, "alert", "grafana", payload)
|
r.app.store.Event(bg, runID, sid, "alert", "grafana", payload)
|
||||||
handled++
|
handled++
|
||||||
r.setFiring(al.Fingerprint, name, al.Status == "firing")
|
// layer-1 signature alerts are informational (the platform owns the recovery); they must not hold the judge
|
||||||
|
// (campaign 3, 2026-10-08: LegacyUnhealthy resolved 8.5 minutes after the container was back, V-K1 MTTR 631 s)
|
||||||
|
r.setFiring(al.Fingerprint, name, al.Status == "firing" && sig == "")
|
||||||
if al.Status != "firing" {
|
if al.Status != "firing" {
|
||||||
r.cancelTimer(al.Fingerprint)
|
r.cancelTimer(al.Fingerprint)
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in new issue
Block a user