İçindekiler
- Alertmanager kendi başına telefonunuzu neden çaldıramaz
- Neye ihtiyacınız var
- Adım 1 — Sizi arayan bir kanal oluşturun
- Adım 2 — Bir webhook alıcısı ekleyin
- Adım 3 — Gerçekte neyin geldiğini anlayın
- Adım 4 — Düzelmeleri sessiz bir push olarak gönderin
- Adım 5 — Her şeye göre değil, önem seviyesine göre yönlendirin
- Adım 6 — Watchdog tuzağı
- Yalancı çoban olmaması için ince ayar
- Yalnızca mesai dışında çalsın
- Boş commonLabels sorununu çözmek
- Yükü küçük tutmak
- Uyarıyı ekibinizle paylaşmak
- Bu kurulumun size vermedikleri
- Sorun giderme
- Sıkça sorulan sorular
- Prometheus Alertmanager kendi başına telefon araması yapabilir mi?
- Telefon araması Rahatsız Etmeyin'i aşar mı?
- Bu, güvenlik duvarı arkasındaki veya Kubernetes içindeki Alertmanager ile çalışır mı?
- Bir uyarı çözüldüğünde aranmayı nasıl durdururum?
- Aynı uyarı için telefonum neden dört saatte bir çalıyor?
- Aynı uyarı için birden fazla kişi aranabilir mi?
- Önem seviyesini Alertmanager'da mı yoksa Echobell koşullarında mı filtrelemeliyim?
- Toparlarsak
- İlgili içerikler
Alertmanager'da sesli alıcı yoktur. Bir Prometheus uyarısı tetiklendiğinde telefon araması almak için, abonelik türü Arama olan bir Echobell kanalına işaret eden bir webhook_configs alıcısı ekleyin. Bu kılavuz; tam YAML yapılandırmasını, çözülen uyarıların sizi aramasını engelleyen koşulu, önem seviyesine göre yönlendirmeyi ve aksi hâlde telefonunuzu sonsuza dek dört saatte bir çaldıracak olan Watchdog uyarısını anlatıyor.
Prometheus, son on yılda kurulan altyapıların çoğu için varsayılan metrik yığınıdır ve Alertmanager zor kısımlarda gerçekten iyidir: uyarıları tekilleştirir, gruplar, bakım sırasında susturur ve bir üst bağımlılık arızalandığında alt taraftaki gürültüyü bastırır.
Yapmayacağı tek şey kimseyi uyandırmaktır.
Alertmanager kendi başına telefonunuzu neden çaldıramaz
Alertmanager; e-posta, Slack, PagerDuty, OpsGenie, Discord, Telegram, Pushover, Webex, MS Teams ve daha bir düzine alıcı sunar. Bunların her biri bir mesaj iletir ve mesajlar zil düğmesine, Rahatsız Etmeyin'e ve iOS Odak Modlarına tabidir. Saat 03.00'te bu, uyarının geldiği ve hiçbir şeyin olmadığı anlamına gelir.
voice_configs diye bir şey yoktur. İnsanların genelde vardığı seçenekler şunlardır:
- PagerDuty / OpsGenie / Splunk On-Call — bunlar gerçekten arama yapar ve buna uygun kişi başı fiyatlandırmasıyla eksiksiz olay yönetimi platformlarıdır. Rotasyonlara ve eskalasyon ağaçlarına ihtiyacınız varsa doğru yanıt; yalnızca bir telefonun çalması gerekiyorsa fazla ağır. (Özellikle OpsGenie kapanma sürecinde; pek çok ekibin şu anda bu katmanı yeniden değerlendirmesinin nedeni de bu.)
- Sachet gibi SMS köprüleri — bir servis daha çalıştırırsınız, mesaj başına bir ağ geçidine ödeme yaparsınız ve SMS yine bir mesaj olarak düşer. iOS'ta bir kısa mesaj, gönderen izin listenizde değilse Odak Modu'nu aşmaz.
- Twilio tabanlı ara katman — küçük bir webhook alıcısı yazarsınız, bir numara satın alırsınız, arama başına ödersiniz ve artık tek görevi bir telefonu çaldırmak olan bir üretim altyapısı parçasının sahibi olursunuz.
Genel amaçlı webhook alıcısı buradaki kaçış kapısıdır. Belgelenmiş bir JSON yükünü herhangi bir URL'ye gönderir; ihtiyacınız olan da tam olarak budur.
Neye ihtiyacınız var
- Çalışan bir Prometheus + Alertmanager kurulumu ve
alertmanager.ymldosyasını düzenleme erişimi - Kurulu Echobell (App Store / Google Play)
- On dakika
Bu kılavuz Alertmanager 0.31 üzerinde yazıldı. Webhook yükü yıllardır version: "4" olduğundan 0.2x sürümleri de aynı şekilde davranır.
Alertmanager'ınızın hook.echobell.one adresine giden HTTPS erişimine ihtiyacı var. İnternetten erişilebilir olmasına gerek yok; yani bir küme, bir VPC veya bir ev laboratuvarı içindeki Alertmanager sorunsuz çalışır.
Adım 1 — Sizi arayan bir kanal oluşturun
Echobell'de Prometheus Critical gibi bir adla kanal oluşturun. Abonelik bildirim türünü Arama olarak ayarlayın. Asıl önemli ayar budur: Arama uyarıları gelen arama ekranı olarak gelir ve bir push bildiriminin aksine iOS Odak Modu'nu ve Rahatsız Etmeyin'i aşarak çalar.
Şablonları, Alertmanager yükünü doğrudan okuyacak şekilde ayarlayın:
Title: 🔴 {{commonLabels.alertname}} on {{commonLabels.instance}}
Body: {{commonAnnotations.summary}}
{{commonAnnotations.description}}
Gelişmiş Ayarlar altında da, bildirim kaydının doğrudan grafiğe atlaması için bir Bağlantı Şablonu:
{{alerts[0].generatorURL}}
Ardından kanalın Webhook URL'sini kopyalayın:
https://hook.echobell.one/t/<channel-token>
Bu URL'yi bir sır gibi saklayın — eline geçen herkes telefonunuzu çaldırabilir.
Adım 2 — Bir webhook alıcısı ekleyin
alertmanager.yml içinde:
route:
group_by: ["alertname", "cluster", "service"]
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
receiver: echobell-critical
receivers:
- name: echobell-critical
webhook_configs:
- url: "https://hook.echobell.one/t/<channel-token>"
send_resolved: false
curl -X POST http://localhost:9093/-/reload ya da SIGHUP ile yeniden yükleyin.
send_resolved: false satırına dikkat. Webhook alıcısında varsayılan değer true'dur; diğer çoğu Alertmanager alıcısının aksine. Yani bu satırı yazmazsanız telefonunuz servis bozulduğunda çalar ve kendi kendine düzeldiğinde tekrar çalar. İnsanlara ilkini görmezden gelmeyi öğreten şey, işte bu ikinci aramadır. Adım 4, düzelme bildirimini telefonu çaldırmadan nasıl geri alacağınızı gösteriyor.
Adım 3 — Gerçekte neyin geldiğini anlayın
Alertmanager uyarıları gruplar ve grup başına tek bir yük POST eder:
{
"version": "4",
"groupKey": "{}:{alertname=\"HighErrorRate\"}",
"truncatedAlerts": 0,
"status": "firing",
"receiver": "echobell-critical",
"groupLabels": { "alertname": "HighErrorRate" },
"commonLabels": { "alertname": "HighErrorRate", "severity": "critical" },
"commonAnnotations": { "summary": "Error rate above 5% for 10m" },
"externalURL": "http://alertmanager.internal:9093",
"alerts": [
{
"status": "firing",
"labels": { "alertname": "HighErrorRate", "instance": "api-7d9f:8080" },
"annotations": { "summary": "Error rate above 5% for 10m" },
"startsAt": "2026-09-04T02:41:07.351Z",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "http://prometheus:9090/graph?g0.expr=...",
"fingerprint": "a1b2c3d4e5f60718"
}
]
}
Echobell JSON gövdesini olduğu gibi okur; dolayısıyla bu alanların hepsi şablonlarda ve koşullarda kullanılabilir. İç içe erişim iki sözdiziminden biriyle çalışır — {{commonLabels.severity}} ya da {{alerts[0].labels["instance"]}}.
Bu yükün iki özelliği aşağıdaki her şeyi belirler:
Üst düzeydeki status, gruptaki herhangi bir uyarı tetiklenmişse firing'dir. Ancak gruptaki her uyarı çözüldüğünde resolved olur. Bu da onu filtrelemek için temiz bir alan yapar.
commonLabels yalnızca gruptaki her uyarının paylaştığı etiketleri içerir. En sık şaşırtan nokta budur. group_by yeterince genişse ve tek bir webhook HighErrorRate uyarısını üç farklı örnek için taşıyorsa, commonLabels.instance bulunmaz ve {{commonLabels.instance}} boş dize olarak işlenir. Bununla nasıl başa çıkacağınız aşağıda anlatılıyor.
Adım 4 — Düzelmeleri sessiz bir push olarak gönderin
Bir şeyin düzeldiğini yine de bilmek istersiniz — sadece bunun için aranmak istemezsiniz. Prometheus Recovered adlı ikinci bir Echobell kanalı ekleyin, bildirim türünü Normal yapın ve şu şablonları verin:
Title: ✅ {{commonLabels.alertname}} resolved
Body: {{commonAnnotations.summary}}
Gelişmiş Ayarlar altında da şu koşulu tanımlayın:
status == "resolved"
Koşullar, hiçbir şey iletilmeden önce değerlendirilen ifadelerdir. İfade yanlışsa Echobell isteği kabul eder ve hiçbir şey göndermez.
Ardından aynı alıcıyı her iki kanala da yönlendirin — bir alıcı birden fazla webhook_configs tutabilir:
receivers:
- name: echobell-critical
webhook_configs:
# Telefonu çaldırır. Yalnızca tetiklenme.
- url: "https://hook.echobell.one/t/<calling-channel-token>"
send_resolved: false
# Sessiz push. Kanal koşulu tetiklenme yarısını eler.
- url: "https://hook.echobell.one/t/<recovery-channel-token>"
send_resolved: true
Düzelme kanalı hem tetiklenme hem de çözülme yüklerini alır ve tetiklenme olanları atar. Sonuç: kesinti telefonu çaldırır, düzelme ise sabah okuyacağınız bir push olarak gelir.
Adım 5 — Her şeye göre değil, önem seviyesine göre yönlendirin
Her uyarıyı bir arama kanalına gönderen genel bir yönlendirme, göz ardı edilen telefon aramaları üretmeye yarayan bir makinedir. Yönlendirme ağacının ait olduğu yerde, yani Alertmanager'da önem seviyesine göre ayırın:
route:
group_by: ["alertname", "cluster", "service"]
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
receiver: echobell-warning
routes:
# Watchdog asla bir insana ulaşmaz. Bkz. Adım 6.
- matchers:
- alertname = "Watchdog"
receiver: "null"
- matchers:
- severity = "critical"
receiver: echobell-critical
group_wait: 10s
repeat_interval: 1h
receivers:
- name: "null"
- name: echobell-critical
webhook_configs:
- url: "https://hook.echobell.one/t/<calling-channel-token>"
send_resolved: false
- name: echobell-warning
webhook_configs:
- url: "https://hook.echobell.one/t/<normal-channel-token>"
send_resolved: true
Yönlendirmeler yukarıdan aşağıya değerlendirilir ve ilk eşleşen kazanır — continue varsayılan olarak false'tur. Yani sıralama önemlidir: Watchdog yönlendirmesi, onu yutabilecek her şeyin üstünde durmalıdır.
Tek kanalda kalıp filtrelemeyi Echobell tarafında yapmayı tercih ederseniz, eşdeğer koşul şudur:
status == "firing" && commonLabels.severity == "critical"
Bunu Alertmanager'da yapmak genellikle daha iyidir; çünkü o zaman severity aynı zamanda group_wait ve repeat_interval değerlerini de belirler. Echobell'de yapmak ise bugün bir yapılandırma değişikliğini birleştiremediğiniz durumlarda daha iyidir.
Adım 6 — Watchdog tuzağı
kube-prometheus-stack çalıştırıyorsanız, ifadesi vector(1) olan Watchdog adlı bir uyarınız vardır. Sonsuza dek tetiklenmek üzere tasarlanmıştır — Prometheus'un kendisi durduğunda bunu harici bir sistemin fark edebilmesi için vardır. Varsayılan yapılandırma onu null alıcısına yönlendirir.
Onu dışlamadan genel bir yönlendirmeyi arama kanalına bağlarsanız, Watchdog her repeat_interval aralığında, hemen başlayarak, sonsuza dek telefonunuzu arar. İnsanların telefon uyarılarının "işe yaramadığı" sonucuna varmasının bir numaralı yolu budur.
Adım 5'teki null yönlendirmesini koruyun. Sonra isterseniz onunla faydalı olanı yapın: Watchdog'u gerçek bir ölü adam düğmesine dönüştürün.
- matchers:
- alertname = "Watchdog"
receiver: deadmansswitch
group_wait: 0s
group_interval: 1m
repeat_interval: 50s
receivers:
- name: deadmansswitch
webhook_configs:
- url: "https://hc-ping.com/<your-check-uuid>"
send_resolved: false
Echobell'in kendisi ölü adam düğmesi olamaz — bir istek geldiğinde uyarır, gelmeyi kestiğinde değil. Bu yüzden Watchdog ping'ini sessizlik tespiti için yapılmış bir servise gönderin (Healthchecks.io, Cronitor, Dead Man's Snitch) ve ardından o servisin "kontrol çöktü" webhook'unu Echobell arama kanalınıza yönlendirin. Artık bir telefon araması "izlemenin kendisi öldü" demektir; yani sizi uyandırmasını en çok istediğiniz ve kimsenin yapılandırmadığı uyarı.
Yalancı çoban olmaması için ince ayar
İşin çoğunu üç Alertmanager ayarı ve bir Prometheus ayarı yapar:
| Ayar | Nerede | Ne yapar |
|---|---|---|
for: | Uyarı kuralı | Koşulun tetiklenmeden önce ne kadar süre geçerli kalması gerektiği. İki saniyelik bir dalgalanmaya karşı ilk savunma hattınız. |
group_wait | Yönlendirme | İlk bildirimden önce başka uyarılar için ne kadar bekleneceği. Varsayılan 30 sn; kritik için 10s'ye düşürün. |
group_interval | Yönlendirme | Mevcut bir gruptaki yeni uyarılar hakkında bildirim arasındaki en kısa süre. Varsayılan 5 dk. |
repeat_interval | Yönlendirme | Çözülmemiş bir uyarının ne sıklıkta yeniden bildirileceği. Varsayılan 4 saat — yani gece yaşanan bir kesinti sizi 03.00'te, sonra tekrar 07.00'de arar. |
Üzerinde düşünmeye değer olan repeat_interval'dır. Dört saat, bir şeyi bozuk bırakmak için uzun bir süredir; yirmi dakika ise kanalı kapatmanıza yol açan bir makinedir. Kritikte bir saat makul bir başlangıç noktasıdır.
Yanıtsız bir aramanın bir sonraki repeat_interval'ı beklemek yerine hemen yeniden denenmesini istiyorsanız, Echobell'in uygulama ayarlarında Başarısız Aramayı Yeniden Dene'yi açın.
Yalnızca mesai dışında çalsın
Mesai saatlerinde muhtemelen zaten bir panoya bakıyorsunuzdur. Echobell'in sistem zaman değişkenleri (hepsi UTC), ikinci bir Alertmanager yönlendirmesine gerek kalmadan bir kanalın saate göre farklı davranmasını sağlar:
status == "firing" && (hour >= 17 || hour < 9)
Bu, sizi yalnızca 09.00-17.00 UTC dışında arar. Gündüz push bildirimleri için Normal türde ikinci bir kanalı bunun tersine yönlendirin:
status == "firing" && hour >= 9 && hour < 17
Hafta sonlarını da mesai dışı saymak için dayOfWeek >= 1 && dayOfWeek <= 5 ekleyin. Bunların her zaman UTC olarak hesaplandığını unutmayın — kendi saat diliminize göre kaydırın. Konunun daha ayrıntılı işlenişi için UTC koşullarıyla zaman aralığı bildirimleri yazısına bakın.
Boş commonLabels sorununu çözmek
Bir grup birden fazla örnekten gelen uyarı içerdiğinde commonLabels.instance kaybolur ve bildirim başlığınız 🔴 HighErrorRate on şeklinde okunur.
Tercih sırasına göre üç çıkış yolu:
- Etiketi
group_by'a koyun.group_byiçindeinstancevarsa gruptaki her uyarı onu paylaşır vecommonLabels.instanceher zaman bulunur. Bedeli daha fazla bildirimdir — uyarı adı başına bir yerine örnek başına bir bildirim. - Bunun yerine ilk uyarıyı okuyun.
{{alerts[0].labels.instance}}her zaman doludur. Bu, muhtemelen çok sayıdaki uyarıdan yalnızca biridir; bu yüzden onu bir sayımla eşleştirin:{{alerts[0].labels.instance}} (+{{alerts.length}} alerts). - Etiketi boşken de okunacak biçimde tasarlayın. Echobell'de varsayılan değer operatörü yoktur —
{{a || "unknown"}}bir yedek değil, düztruemetnini üretir — bu yüzdenInstance: {{commonLabels.instance}}ifadesini kendi satırına yazın; orada boş bir değer, bozuk bir cümle yerine besbelli boş görünür.
Yükü küçük tutmak
Yüz pod'u kapsayan bir grup, büyük bir JSON gövdesi üretir ve Echobell 1 MiB üzerindeki tetikleyici gövdelerini HTTP 413 ile reddeder. Bunu Alertmanager'da sınırlayın:
- url: "https://hook.echobell.one/t/<channel-token>"
send_resolved: false
max_alerts: 20
Alertmanager o zaman en fazla yirmi uyarı gönderir ve truncatedAlerts alanını attığı uyarı sayısına ayarlar; bunu gövdede gösterebilirsiniz:
Body: {{commonAnnotations.summary}}
Alerts: {{alerts.length}} (+{{truncatedAlerts}} truncated)
Uyarıyı ekibinizle paylaşmak
Bir Echobell kanalı abonelik bağlantısıyla paylaşılabilir ve her abone kendi bildirim türünü seçer. Böylece aynı yönlendirme, nöbetçi mühendisin telefonunu çaldırırken diğer herkese normal bir push olarak düşebilir — kişi başı ücret yok, Alertmanager'da ek yönlendirme kuralı da yok.
Bu, birçok ekibin en başta Prometheus'u kendi sunucusunda barındırma nedenine de uyar: metrikleriniz ve uyarı kurallarınız kendi altyapınızda kalır, Echobell de bildirim içeriğini ve geçmişini sunucularında değil cihazda tutar.
Bu kurulumun size vermedikleri
Sınırı konusunda dürüst olmak, ilerideki kötü bir geçişten sizi kurtarır. Echobell bir iletim katmanıdır, olay yönetimi platformu değil. Şunlara sahip değildir:
- Nöbet rotasyon takvimleri veya güneşi takip eden devir teslimler
- İlk kişi yanıt vermediğinde ikinci kişiyi arayan eskalasyon ağaçları
- Olay zaman çizelgeleri, alındı takibi veya olay sonrası inceleme araçları
Ekibinizin bunlara ihtiyacı varsa PagerDuty, Grafana Cloud IRM ya da benzeri bir çözüme ihtiyacınız var. Buradaki kurulumun kapsadığı şey, Alertmanager'ın açık bıraktığı belirli boşluktur: tetiklenen bir uyarıyı gerçekten çalan bir telefona dönüştürmek. Tek başına çalışanlar, küçük ekipler ve ev laboratuvarları için gereksinimin tamamı genelde budur.
Sorun giderme
Hiçbir şey gelmiyor. Önce Alertmanager'ın kendi günlüklerine bakın (level=error component=dispatcher), sonra yönlendirmenin gerçekten alıcınıza çözüldüğünü doğrulayın — amtool config routes test severity=critical alertname=HighErrorRate komutu, bir uyarının tetiklenmesini beklemeden hangi alıcıya düşeceğini söyler.
Echobell HTTP 404 döndürüyor. Kanal token'ı yanlış ya da kanal silinmiş. Bilinmeyen bir token sessiz bir başarı değil, 404'tür.
Echobell 200 ile birlikte "notificationTriggered": false döndürüyor. Koşulunuz yanlış olarak değerlendirildi. Yanıt gövdesi ayrıca "conditionsMet": false taşır; bu da "koşulum yanlış" ile "webhook'um hiç ulaşmadı" arasındaki farkı anlamanın en hızlı yoludur. status == "firing" ifadesini Alertmanager'ın gerçekten gönderdiğiyle karşılaştırın — alerts[0].status değil, üst düzey status ile.
HTTP 413. Yük 1 MiB'ı aştı. Yukarıdaki gibi max_alerts ayarlayın.
HTTP 405. Kanalda POST Only etkin ve bir şey GET gönderdi. Alertmanager POST ettiğine göre bu genellikle URL'yi tarayıcıda test ettiğiniz anlamına gelir.
Başlıkta boş bir aralık var. Bu grup için commonLabels o etiketi içermiyordu. Yukarıdaki bölüme bakın.
Hiçbir şey çalmıyor ama bildirim geliyor. Aboneliğin bildirim türü Arama değil, Normal veya Zaman Duyarlı. Bildirim türü abone başına seçildiğinden, bunu çalmayan cihazda kontrol edin.
Üretimi bozmadan test etmek. expr: vector(1), kendine özgü bir alertname ve severity: critical içeren bir kural ekleyin, bir kez tetiklenmesini sağlayın, sonra silin. Ya da elle bir tane tetikleyin:
curl -X POST http://localhost:9093/api/v2/alerts -H 'Content-Type: application/json' -d '[
{"labels":{"alertname":"EchobellTest","severity":"critical"},
"annotations":{"summary":"Testing the phone call path"}}
]'
Sıkça sorulan sorular
Prometheus Alertmanager kendi başına telefon araması yapabilir mi?
Hayır. Alertmanager'ın e-posta, Slack, PagerDuty, OpsGenie ve daha birçok alıcısı var; ancak sesli veya SMS alıcısı yok. Telefon aramaları, genel webhook alıcısını arama yapabilen bir servise (örneğin Echobell'e) yönlendirmeyi ya da bir olay yönetimi platformuna ödeme yapmayı gerektirir.
Telefon araması Rahatsız Etmeyin'i aşar mı?
Evet. Echobell'in Arama bildirim türü gelen arama olarak görünür ve iOS Odak Modu ile Rahatsız Etmeyin'i aşarak çalar. Ayrıntılar ve ilgili ayarlar için kritik uyarılar için iOS Odak Modu'nu aşmak yazısına bakın.
Bu, güvenlik duvarı arkasındaki veya Kubernetes içindeki Alertmanager ile çalışır mı?
Evet. Webhook, Alertmanager'dan çıkan bir HTTPS isteğidir; yalnızca hook.echobell.one adresine ulaşması yeterlidir. Alertmanager'ınızın genel bir adrese ya da ingress'e ihtiyacı yoktur.
Bir uyarı çözüldüğünde aranmayı nasıl durdururum?
Arama kanalınıza işaret eden webhook yapılandırmasında send_resolved: false ayarlayın. Webhook alıcısı, diğer çoğu Alertmanager alıcısının aksine varsayılan olarak true kullanır; yani bu, katılım değil çıkış esaslıdır. Düzelmeleri yine de sessizce almak için status == "resolved" koşuluna sahip ikinci bir kanal ekleyin.
Aynı uyarı için telefonum neden dört saatte bir çalıyor?
Bunun nedeni varsayılanı 4h olan repeat_interval. Alertmanager, hâlâ tetiklenmiş bir uyarıyı bu aralıkla yeniden bildirir. Bunu yönlendirme başına ayarlayın — kritik için 1h yaygın bir tercihtir. Aramalar genel bir yönlendirme eklediğiniz anda başladıysa, suçlu büyük olasılıkla sürekli tetiklenen Watchdog uyarısıdır; bkz. Adım 6.
Aynı uyarı için birden fazla kişi aranabilir mi?
Evet. Kanalı ekip arkadaşlarınızla paylaşın; her abone kendi bildirim türünü seçer. Arama kanalına abone olan herkes aranır ve kişi başı bir maliyet çıkmaz.
Önem seviyesini Alertmanager'da mı yoksa Echobell koşullarında mı filtrelemeliyim?
Alertmanager'ı tercih edin: orada yönlendirmek, önem seviyesi başına group_wait ve repeat_interval ayarlamanıza da izin verir ve yönlendirme ağacı yapılandırmanızın geri kalanıyla birlikte sürüm kontrolünde kalır. Alertmanager yapılandırmasını değiştiremediğinizde ya da Alertmanager'ın kavramı olmayan filtreler için — günün saati gibi — Echobell koşullarını kullanın.
Toparlarsak
Kurulum; tek bir alıcı, tek bir send_resolved: false ve severity: critical dışındaki her şeyi arama kanalından uzak tutan bir yönlendirme ağacından ibaret. Uyarı kurallarınızı, gruplamanızı, susturmalarınızı ve bastırmalarınızı olduğu gibi bırakır ve "Prometheus fark etti" ile "bir insan fark etti" arasındaki boşluğu kapatır.
Echobell'i iPhone için indirin ya da Google Play'den edinin; ardından bu yola gerçek bir iş için güvenmeden önce yukarıdaki EchobellTest uyarısını tetikleyin.