Alert Routing
Yukarฤฑdaki YAML dosyasฤฑnda, "route" bรถlรผmรผ, iki anahtar kelime iรงerir: "receiver" ve "routes". "receiver" anahtar kelimesi, tรผm etiket eลlemelerine uymayan hedefler iรงin varsayฤฑlan bir alฤฑcฤฑ adฤฑnฤฑ belirtir. Bu durumda, varsayฤฑlan alฤฑcฤฑ adฤฑ "admin" olarak belirlenmiลtir.
"routes" anahtar kelimesi, etiketlerin belirli bir deฤere eลleลtiฤi hedefleri belirli bir alฤฑcฤฑya yรถnlendirmek iรงin kullanฤฑlฤฑr. "match_re" anahtar kelimesi, "routes" altฤฑnda belirli bir etiket eลleลmesi tanฤฑmlar. Bu รถrnekte, "app_type" etiketi, "linux" veya "windows" deฤerleriyle eลleลtirilir. "receiver" anahtar kelimesi ise, "match_re" ile eลleลen hedeflerin yรถnlendirileceฤi alฤฑcฤฑyฤฑ belirtir. Bu durumda, eลleลen hedefler "os-admin" alฤฑcฤฑsฤฑna yรถnlendirilir.
รzetle, bu konfigรผrasyon, belirli bir uygulama tรผrรผne sahip hedeflerin Prometheus tarafฤฑndan toplanan metriklerini "os-admin" alฤฑcฤฑsฤฑna yรถnlendirir ve tรผm diฤer hedeflerin metriklerini "admin" alฤฑcฤฑsฤฑna yรถnlendirir.
รrneฤin,
Yukarฤฑdaki รถrnekte app_type: linux
etiketine sahip olan hedefler iรงin bir alarm kurallarฤฑ tanฤฑmlanmฤฑลtฤฑr. Bu alarm kurallarฤฑna gรถre, app_type: linux
etiketine sahip hedeflerde Node Exporter'in รงalฤฑลmamasฤฑ durumunda bir alarm oluลturulacaktฤฑr.
Bu alarm oluลturulduฤunda, Prometheus yรถneticisi, alarmฤฑn "labels" (etiketler) bรถlรผmรผnde belirtilen app_type: linux
etiketine sahip olan alฤฑcฤฑlara bir uyarฤฑ mesajฤฑ gรถnderebilir. Yรถnlendirme kurallarฤฑnฤฑzda, "app_type: linux" etiketine sahip hedefler iรงin bir alฤฑcฤฑ belirleyebilir ve uyarฤฑ mesajlarฤฑnฤฑ bu alฤฑcฤฑya yรถnlendirebilirsiniz.
รrneฤin, yukarฤฑdaki รถrnekte yรถnlendirme kurallarฤฑnda app_type: linux
etiketine sahip hedefler iรงin "os-admin" adฤฑnda bir alฤฑcฤฑ belirtilmiลtir. Bu nedenle, Node Exporter'in รงalฤฑลmamasฤฑ durumunda, Prometheus, bu alฤฑcฤฑya bir uyarฤฑ mesajฤฑ gรถnderecektir.
Expert level;
Alert Rules,
รncelikle, tรผm uyarฤฑlar varsayฤฑlan olarak "admin" adlฤฑ bir alฤฑcฤฑya yรถnlendirilir. Ancak daha sonra, "routes" bรถlรผmรผ tanฤฑmlanarak belirli bir รถlรงรผtรผn eลleลmesine gรถre uyarฤฑlarฤฑn yรถnlendirileceฤi alฤฑcฤฑ belirlenir.
Burada "routes" bรถlรผmรผnde bir "match_re" etiketi kullanฤฑlarak uyarฤฑlarฤฑn "linux" veya "windows" app_type deฤerlerinden herhangi birine sahip olup olmadฤฑฤฤฑ kontrol edilir. Eฤer uyarฤฑda bu etiketlerden biri varsa, "receiver" etiketi "os-admin" olarak belirlenir.
Sonra "routes" bรถlรผmรผ iรงinde, "match" etiketi kullanฤฑlarak app_type deฤeri "linux" olan uyarฤฑlar iรงin yeni bir yรถnlendirme tanฤฑmlanฤฑr. Bu yรถnlendirmede, "receiver" etiketi "linux-team-admin" olarak belirlenir.
Daha sonra, bir sonraki "routes" bรถlรผmรผnde, "match" etiketi kullanฤฑlarak uyarฤฑnฤฑn "critical" bir รถncelik seviyesine sahip olup olmadฤฑฤฤฑ kontrol edilir. Eฤer uyarฤฑ "critical" ise, alฤฑcฤฑ "linux-team-manager" olarak belirlenir. Ancak eฤer uyarฤฑ "warning" รถncelik seviyesinde ise, alฤฑcฤฑ "linux-team-lead" olarak belirlenir.
Aynฤฑ ลekilde, app_type deฤeri "windows" olan uyarฤฑlar iรงin de aynฤฑ yapฤฑlandฤฑrma tanฤฑmlanฤฑr ve "windows-team-admin", "windows-team-manager" ve "windows-team-lead" gibi farklฤฑ alฤฑcฤฑlar belirlenir.
App alert routing;
Yukarฤฑdaki Alertmanager konfigรผrasyonunda, รถncelikle genel bir fallback alฤฑcฤฑ tanฤฑmlanฤฑyor. Ardฤฑndan, match_re
anahtar kelimesi kullanฤฑlarak bir regex eลleลmesi yapฤฑlarak, app_type
etiketi python
veya go
olarak eลleลirse, uyarฤฑ pec-admin
alฤฑcฤฑsฤฑna yรถnlendiriliyor.
app_type
etiketi python
olarak eลleลirse, uyarฤฑ python-team-admin
alฤฑcฤฑsฤฑna yรถnlendiriliyor. Bu alฤฑcฤฑya giden uyarฤฑlar, eฤer severity
etiketi critical
deฤerine sahipse python-team-manager
alฤฑcฤฑsฤฑna da yรถnlendiriliyor. severity
etiketi warning
ise python-team-lead
alฤฑcฤฑsฤฑna yรถnlendiriliyor.
Benzer ลekilde, app_type
etiketi go
olarak eลleลirse, uyarฤฑ go-team-admin
alฤฑcฤฑsฤฑna yรถnlendiriliyor. Bu alฤฑcฤฑya giden uyarฤฑlar, eฤer severity
etiketi critical
deฤerine sahipse go-team-manager
alฤฑcฤฑsฤฑna da yรถnlendiriliyor. severity
etiketi warning
ise go-team-lead
alฤฑcฤฑsฤฑna yรถnlendiriliyor.
Bรถylece, Alertmanager konfigรผrasyonu, app_type
ve severity
etiketleri gibi belirli uyarฤฑ รถzelliklerine gรถre yรถnlendirme yaparak, farklฤฑ ekipler ve kiลiler arasฤฑnda uyarฤฑlarฤฑ doฤru ลekilde daฤฤฑtabiliyor.
pec-admin
receiver'ฤฑ bir yรถnlendiricidir ve bu receiver'a baฤlฤฑ olan yรถnlendirmeler belirli bir eลleลme kurallarฤฑna gรถre oluลturulur. Burada match_re
ile app_type
etiketi, deฤeri python
veya go
olan tรผm uyarฤฑlar iรงin eลleลtirilir. Eลleลme saฤlandฤฑฤฤฑnda, pec-admin
receiver'ฤฑ kullanฤฑlฤฑr. Ancak pec-admin
receiver'ฤฑ direkt olarak alarm mesajฤฑ almaz, sadece belirli bir eลleลme kuralฤฑ karลฤฑlandฤฑฤฤฑnda uygun olan yรถnlendirme kurallarฤฑna gรถre alarm mesajฤฑnฤฑ diฤer alฤฑcฤฑlara yรถnlendirir. Bu nedenle, pec-admin
kullanฤฑcฤฑsฤฑna hiรงbir alarm mesajฤฑ gรถnderilmeyecektir.
Alert Rules;
Aลaฤฤฑdaki sayfa, Prometheus Alertmanager'ฤฑn routing aฤacฤฑnฤฑn bir gรถrselleลtirmesini sunan bir web aracฤฑdฤฑr. Alertmanager konfigรผrasyonunun gรถrsel olarak anlaลฤฑlabilir olmasฤฑnฤฑ saฤlar. Kullanฤฑcฤฑlarฤฑn bir konfigรผrasyon dosyasฤฑnฤฑ aรงarak, aฤacฤฑn her bir dรผฤรผmรผne tฤฑklayarak, Alertmanager'ฤฑn hangi uyarฤฑlarฤฑn hangi alฤฑcฤฑlara gideceฤini belirleyen routing kurallarฤฑnฤฑ daha kolay anlamasฤฑna ve yรถnetmesine yardฤฑmcฤฑ olur. Ayrฤฑca, kullanฤฑcฤฑlarฤฑn yeni routing kurallarฤฑ oluลturmasฤฑ, mevcut kurallarฤฑ dรผzenlemesi ve silmesi iรงin kullanฤฑลlฤฑ bir arayรผz saฤlar.
send_resolved
parametresi, Alertmanager'ฤฑn bir rota tanฤฑmฤฑnda belirli bir alฤฑcฤฑya gรถnderilen herhangi bir bildirimin bir sรผre sonra รงรถzรผmlendiฤinde bu alฤฑcฤฑya bir "resolved" bildirimi gรถnderip gรถndermeyeceฤini belirler. Bu nedenle, send_resolved
parametresi bir rota tanฤฑmฤฑnda belirtilir.
Alert Grouping
"group_by" alanฤฑ, bir alarmฤฑn birden fazla etikete veya รถzniteliฤe sahip olmasฤฑ durumunda, alarmฤฑ farklฤฑ kategorilere, รถrneฤin kritiklik seviyesine veya uygulama รถrneฤine gรถre gruplandฤฑrmak iรงin kullanฤฑlฤฑr. Bu, alarmlarฤฑn daha dรผzenli bir ลekilde yรถnetilmesine yardฤฑmcฤฑ olur ve uygun ekiplerin doฤru kiลilere yรถnlendirilmesini saฤlar.
Bu รถrnekte, "group_by" alanฤฑ "category", "instance" ve "severity" etiketleri ile tanฤฑmlanmฤฑลtฤฑr. รrneฤin, eฤer bir Linux uygulamasฤฑ bir hata verirse ve bu hata "critical" seviyesindeyse, alarm "linux-team-manager" alฤฑcฤฑsฤฑna yรถnlendirilir. "group_by" alanฤฑ, ayrฤฑca, bir alarma birden fazla etiket atandฤฑฤฤฑnda bu etiketlerin hepsine gรถre bir gruplama yapar.
Bu รถrnek senaryoda, "group_by" alanฤฑ รถzellikle bรผyรผk รถlรงekli aฤlarda veya uygulamalarda alarmlarฤฑn daha etkili yรถnetimi iรงin รถnemlidir.
Throttling & Repetition
Throttling ve repetition รถzellikleri, Alertmanager'ฤฑn bir alarmฤฑn tekrarlanmasฤฑ ve/veya alarm mesajlarฤฑnฤฑn sฤฑklฤฑฤฤฑyla ilgili olarak nasฤฑl davranacaฤฤฑnฤฑ kontrol etmek iรงin kullanฤฑlan รถzelliklerdir.
Throttling, bir alarmฤฑn tekrarlanma sฤฑklฤฑฤฤฑnฤฑ kontrol etmek iรงin kullanฤฑlฤฑr. รzellikle, bir sistemde meydana gelen kritik bir hatanฤฑn bildirimi iรงin yapฤฑlan bir alarmฤฑn, belirli bir sรผre iรงinde tekrar gรถnderilmesinin รถnรผne geรงilmesi gerekebilir. Bu durumda, Throttling รถzelliฤi kullanฤฑlฤฑr. Throttling, aynฤฑ alarmฤฑn tekrar gรถnderilmesini belirli bir sรผre boyunca engelleyebilir veya azaltabilir. Bu sayede, birden fazla alarmฤฑn gรถnderilmesi ve gereksiz yere alฤฑcฤฑlarฤฑn rahatsฤฑz edilmesi รถnlenir.
Repetition ise, bir alarmฤฑn belirli aralฤฑklarla tekrar gรถnderilmesi iรงin kullanฤฑlฤฑr. รrneฤin, bir hizmetin รงalฤฑลmasฤฑnฤฑ doฤrulayan bir alarm, belirli aralฤฑklarla gรถnderilerek sistemdeki mevcut durumun takibi saฤlanabilir. Bu sayede, eฤer bir hatanฤฑn ortaya รงฤฑkmasฤฑ durumunda, alฤฑcฤฑlar tekrarlanan mesajlar sayesinde hฤฑzlฤฑ bir ลekilde tepki verebilirler.
group_wait & group_interval
Diyelim ki Prometheus, CPU kullanฤฑmฤฑnฤฑ รถlรงen bir uyarฤฑ kuralฤฑna sahip. CPU kullanฤฑmฤฑ %80โin รผzerinde olan her sunucu iรงin bir uyarฤฑ gรถnderir. Alertmanager, bu uyarฤฑlarฤฑ gruplamak iรงin alertname ve job etiketlerine gรถre gruplar. Yani aynฤฑ iลte รงalฤฑลan ve aynฤฑ uyarฤฑ adฤฑna sahip olan sunucular tek bir grupta olur.
Alertmanager, group_wait: 30s olarak ayarlanmฤฑลsa, aynฤฑ gruptaki uyarฤฑlarฤฑ 30 saniye boyunca bekletir. Bu sรผre iรงinde yeni uyarฤฑlar gelirse, gruba eklenir. 30 saniye sonra, Alertmanager gruptaki tรผm uyarฤฑlarฤฑ bir bildirim olarak gรถnderir.
Alertmanager, group_interval: 5m olarak ayarlanmฤฑลsa, bir gruba bildirim gรถnderdikten sonra 5 dakika bekler. Bu sรผre iรงinde yeni uyarฤฑlar gelirse, gruba eklenir ama bildirim gรถnderilmez. 5 dakika sonra, Alertmanager gruptaki yeni uyarฤฑlarฤฑ bir bildirim olarak gรถnderir.
Eฤer Alertmanager group_wait ve group_interval kullanmazsa, her uyarฤฑ iรงin hemen bildirim gรถnderir. Bu, รงok fazla tekrar eden bildirim almanฤฑza ve bildirimleri dikkate almamanฤฑza neden olabilir. Ayrฤฑca, Alertmanager group_wait ve group_interval kullandฤฑฤฤฑnda, uyarฤฑlarฤฑn รถnceliฤini ve sรผresini daha iyi ayarlayabilirsiniz. รrneฤin, group_wait ile Alertmanagerโฤฑn daha ciddi bir uyarฤฑnฤฑn gelmesini beklemesini saฤlayabilirsiniz. group_interval ile Alertmanagerโฤฑn yeni uyarฤฑlar iรงin sฤฑk sฤฑk bildirim gรถndermesini engelleyebilirsiniz.
group_wait:
group_wait: 40s
olarak ayarlanmฤฑลtฤฑr. Bu, bir grup iรงindeki ardฤฑลฤฑk uyarฤฑlar arasฤฑnda beklenen sรผreyi belirtir. Yani, bir uyarฤฑ alฤฑndฤฑฤฤฑnda, aynฤฑ grup iรงindeki diฤer uyarฤฑlarฤฑn alฤฑnmasฤฑnฤฑ beklemek iรงin 40 saniye beklenir. Bu sรผre iรงinde baลka uyarฤฑlar gelirse, bekleyen uyarฤฑlar gruplandฤฑrฤฑlฤฑr ve aynฤฑ anda iletilir.group_interval:
group_interval: 5m
olarak ayarlanmฤฑลtฤฑr. Bu, gruplandฤฑrฤฑlmฤฑล uyarฤฑlarฤฑn iletilme sฤฑklฤฑฤฤฑnฤฑ belirtir. Yani, gruplandฤฑrฤฑlmฤฑล uyarฤฑlar en az 5 dakikada bir iletilir. Eฤer gruplandฤฑrฤฑlmฤฑล bir uyarฤฑ daha รถnce iletilmediyse ve 5 dakikadan fazla bir sรผre geรงtiyse, bu sรผre sonunda uyarฤฑ tekrar iletilir.repeat_interval:
repeat_interval: 30m
olarak ayarlanmฤฑลtฤฑr. Bu, bir bildirimin tekrar gรถnderilme sฤฑklฤฑฤฤฑnฤฑ belirtir. Yani, bir bildirim gรถnderildikten sonra, aynฤฑ bildirimin tekrar tekrarlamasฤฑ durumunda en az 30 dakikada bir tekrar gรถnderilir. Bu, bir uyarฤฑnฤฑn sรผrekli olarak tekrarlanmasฤฑnฤฑ saฤlamak iรงin kullanฤฑlฤฑr.
Bu parametreler, bir sรผre boyunca benzer uyarฤฑlarฤฑn รงok fazla bildirim almasฤฑnฤฑ engellemek ve operasyonel gรผrรผltรผyรผ azaltmak iรงin kullanฤฑlฤฑr. Belirli bir sรผre iรงinde gelen uyarฤฑlar gruplandฤฑrฤฑlarak tek bir bildirim olarak iletilir ve ardฤฑลฤฑk uyarฤฑlar arasฤฑnda belirli bir bekleme sรผresi saฤlanฤฑr. Ayrฤฑca, gruplandฤฑrฤฑlmฤฑล uyarฤฑlarฤฑn belirli bir sรผre boyunca tekrar iletilmemesini saฤlamak iรงin de kullanฤฑlฤฑr.
Bonus Bilgi,
"repeat_interval", bir bildirimin tekrarlanma sฤฑklฤฑฤฤฑnฤฑ belirten bir parametredir. Bu parametre, bir bildirimin gรถnderildikten sonra ne kadar sรผre sonra tekrar gรถnderileceฤini belirtir.
รrneฤin, "repeat_interval: 1h" olarak ayarlandฤฑฤฤฑnda, bir bildirim gรถnderildikten sonra bir sonraki tekrar gรถnderiminin 1 saat sonra gerรงekleลmesi gerektiฤi belirtilir.
Repeat_interval, genellikle sรผrekli izlenmesi gereken bir durumda veya รถnemli bir uyarฤฑnฤฑn sรผrekli takip edilmesi gerektiฤi durumlarda kullanฤฑlฤฑr. รrneฤin, bir sunucunun dรผลtรผฤรผne dair bir uyarฤฑ gรถnderildiฤinde, bu uyarฤฑnฤฑn belirli aralฤฑklarla tekrar gรถnderilmesini saฤlamak iรงin repeat_interval parametresi kullanฤฑlabilir. Bรถylece sorun hฤฑzlฤฑ bir ลekilde fark edilebilir ve mรผdahale edilebilir.
Soru: Bir sunucum saat 13:00'da down oldu ve 17:30'da dรผzeldi. bunu repeat_interval:1h olduฤunu varsayarsak nasฤฑl davranฤฑr?
Yukarฤฑdaki senaryoda, sunucunun saat 13:00'da down olduฤunu ve 17:30'da dรผzeldiฤini varsayarsak ve "repeat_interval: 1h" olarak ayarlandฤฑฤฤฑnฤฑ varsayarsak, durum ลu ลekilde olur:
Saat 13:00'ta ilk sunucu down uyarฤฑsฤฑ alฤฑndฤฑฤฤฑnda bildirim gรถnderilir.
1 saatlik bir repeat_interval sรผresi olduฤu iรงin, saat 14:00'te bir sonraki tekrar gรถnderimi yapฤฑlฤฑr. Bu sรผre zarfฤฑnda sunucu hala down olduฤu iรงin yeni bir uyarฤฑ gรถnderilir.
Sรผreรง tekrarlanฤฑr ve saat 15:00, 16:00 ve 17:00'de tekrar gรถnderimler gerรงekleลir.
Ancak saat 17:30'da sunucu dรผzeldiฤi iรงin yeni bir uyarฤฑ gรถnderimi yapฤฑlmaz. Sunucu artฤฑk dรผzgรผn รงalฤฑลฤฑyor ve tekrar gรถnderimler sona erer.
Bu durumda, saat 13:00, 14:00, 15:00, 16:00 ve 17:00'de sunucunun down durumunu gรถsteren uyarฤฑlar alฤฑrsฤฑnฤฑz. Ancak saat 17:30'dan sonra yeni bir uyarฤฑ gรถnderimi yapฤฑlmaz ve tekrar gรถnderimler sona erer.
รzetle, sunucunun saat 13:00'ta down olduฤu ve 17:30'da dรผzeldiฤi durumda repeat_interval 1 saat olduฤunda, 13:00, 14:00, 15:00, 16:00 saatlerinde down durumunu gรถsteren uyarฤฑlar alฤฑrsฤฑnฤฑz. 17:30'dan sonra ise tekrar gรถnderimler sona erer.
inhibit_rules
"inhibit_rules" (engelleme kurallarฤฑ), Bu kurallar, belirli bir uyarฤฑnฤฑn diฤer bir uyarฤฑyฤฑ engellemesini veya bastฤฑrmasฤฑnฤฑ saฤlar. Bu, รถzellikle ilgili uyarฤฑlarฤฑn birbirini bastฤฑrmasฤฑnฤฑ ve gereksiz tekrar bildirimlerin รถnlenmesini saฤlamak iรงin kullanฤฑlฤฑr.
Bir "inhibit_rule" (engelleme kuralฤฑ), genellikle iki uyarฤฑ arasฤฑndaki iliลkiyi tanฤฑmlayan ve belirli koลullar saฤlandฤฑฤฤฑnda bir uyarฤฑnฤฑn diฤerini bastฤฑrmasฤฑnฤฑ saฤlayan bir konfigรผrasyon parรงasฤฑdฤฑr. Bu kurallar, "source_match" (kaynak eลleลmesi) ve "target_match" (hedef eลleลmesi) olarak iki temel bileลenden oluลur.
"source_match" (kaynak eลleลmesi): Bu bรถlรผmde, bastฤฑrmayฤฑ baลlatan uyarฤฑnฤฑn eลleลmesini belirtir. รrneฤin, belirli bir uyarฤฑnฤฑn etiketleri veya etiket deฤerleri bu eลleลmeyle tanฤฑmlanabilir.
"target_match" (hedef eลleลmesi): Bu bรถlรผmde, bastฤฑrฤฑlacak olan uyarฤฑnฤฑn eลleลmesini belirtir. Yani, hangi uyarฤฑnฤฑn bastฤฑrฤฑlacaฤฤฑnฤฑ tanฤฑmlar. Bu da etiketler veya etiket deฤerleriyle belirlenebilir.
Engelleme kurallarฤฑ, bir uyarฤฑnฤฑn diฤerini bastฤฑrmasฤฑnฤฑ saฤlamak iรงin kullanฤฑlฤฑrken, bazฤฑ koลullar veya kฤฑsฤฑtlamalar da ekleyebilirsiniz. รrneฤin, belirli bir sรผre boyunca bastฤฑrma etkisini sฤฑnฤฑrlayan bir "silence_time" (sessizlik sรผresi) belirtebilirsiniz.
Yukarฤฑdaki inhibit_rules
bรถlรผmรผ, engelleme kurallarฤฑnฤฑ tanฤฑmlar. ฤฐki engelleme kuralฤฑ bulunmaktadฤฑr:
ฤฐlk engelleme kuralฤฑ (
source_match
):severity: "critical"
ifadesi, kaynak eลleลmesi iรงin bir koลuldur. Bu, bir uyarฤฑnฤฑn "critical" (kritik) seviyesine sahip olmasฤฑ gerektiฤini belirtir.
ฤฐkinci engelleme kuralฤฑ (
target_match
):severity: "warning"
ifadesi, hedef eลleลmesi iรงin bir koลuldur. Bu, bir uyarฤฑnฤฑn bastฤฑrฤฑlmak istendiฤi uyarฤฑnฤฑn "warning" (uyarฤฑ) seviyesine sahip olmasฤฑ gerektiฤini belirtir.equal: ['app_type','category']
ifadesi ise iki uyarฤฑnฤฑnapp_type
(uygulama tรผrรผ) vecategory
(kategori) etiketlerinin eลit olmasฤฑ gerektiฤini belirtir. Yani, bastฤฑrma iลlemi sadece aynฤฑ uygulama tรผrรผ ve kategoriye sahip uyarฤฑlar arasฤฑnda gerรงekleลir.
Bu engelleme kurallarฤฑ, bir uyarฤฑnฤฑn diฤer bir uyarฤฑyฤฑ bastฤฑrmasฤฑ veya engellemesi iรงin kullanฤฑlฤฑr. รrneฤin, bir uyarฤฑnฤฑn "critical" (kritik) seviyesindeki bir sorunu gรถsterdiฤi durumlarda, aynฤฑ uygulama tรผrรผ ve kategoriye sahip "warning" (uyarฤฑ) seviyesindeki uyarฤฑlarฤฑn bastฤฑrฤฑlmasฤฑnฤฑ saฤlar. Bu sayede, daha รถnceden gรถnderilmiล ve hala devam eden bir kritik sorun olduฤunda gereksiz tekrar bildirimlerin รถnlenmesi saฤlanฤฑr.
silence
Prometheus Alertmanager'da "silence" (sessizlik) รถzelliฤi, belirli bir alarmฤฑ veya uyarฤฑyฤฑ geรงici olarak bastฤฑrmak veya sessize almak iรงin kullanฤฑlan bir mekanizmadฤฑr. Silence, bir alarmฤฑn tekrar gรถnderimlerini ve bildirimlerini belirli bir sรผre boyunca durdurmayฤฑ saฤlar.
Bir alarmฤฑ sessize almak, genellikle aลaฤฤฑdaki senaryolarda kullanฤฑlฤฑr:
Bakฤฑm sรผresi: Bir sunucu veya hizmet planlฤฑ bir bakฤฑm sรผrecine tabi tutulacaksa, bu sรผre zarfฤฑnda alarm bildirimlerini almamak isteyebilirsiniz. Silence รถzelliฤi, bakฤฑm sรผresi boyunca ilgili alarmฤฑ sessize almanฤฑza olanak tanฤฑr.
Yanlฤฑล pozitif uyarฤฑlar: Uyarฤฑ sistemleri bazen yanlฤฑล pozitif uyarฤฑlar รผretebilir. Bu durumda, yanlฤฑล uyarฤฑyฤฑ sessize alarak gereksiz tekrar bildirimlerini รถnleyebilirsiniz.
Silence (sessizlik) oluลturmak iรงin Alertmanager'ฤฑn kullanฤฑcฤฑ arayรผzรผnรผ veya API'sini kullanabilirsiniz. Bir silence oluลtururken aลaฤฤฑdaki bilgileri belirtmeniz gerekir:
Hangi alarmฤฑn sessize alฤฑnacaฤฤฑ: Alarmฤฑn etiketlerini veya diฤer tanฤฑmlayฤฑcฤฑ bilgilerini kullanarak sessize alฤฑnacak alarmฤฑ belirtmelisiniz.
Baลlangฤฑรง ve bitiล zamanฤฑ: Sessizlik sรผresinin baลlangฤฑรง ve bitiล zamanฤฑnฤฑ belirtmelisiniz. Bu sรผre boyunca alarm tekrar gรถnderimleri durdurulur.
Opsiyonel aรงฤฑklama: Sessizliฤin nedenini veya aรงฤฑklamasฤฑnฤฑ eklemek isterseniz, bunu da belirtebilirsiniz.
Silence, belirtilen sรผre boyunca alarm tekrar gรถnderimlerini durdurur. Sรผre sona erdiฤinde veya sessizlik kaldฤฑrฤฑldฤฑฤฤฑnda, alarm tekrar gรถnderimleri normale dรถner.
Alarm kuralฤฑnฤฑdaki expr kฤฑsmฤฑnฤฑ dรผzenleyerek de, silenced oluลturabiliriz.
9 < hour() < 17
ifadesi, saat 9 ile 17 arasฤฑnda (dahil olmayan) olduฤu durumlarฤฑ filtreler. Bu nedenle, alarm sadece saat 9 ile 17 arasฤฑnda รงalฤฑลฤฑr.
รrneฤin, saat 8:30'da alarm aktif olmaz รงรผnkรผ 9'dan รถnce olduฤu iรงin koลul saฤlanmaz. Aynฤฑ ลekilde, saat 17:30'da da alarm aktif olmaz รงรผnkรผ 17'den sonra olduฤu iรงin koลul saฤlanmaz. Ancak, saat 9:30 ile 16:59 arasฤฑnda (her iki saat dahil) olan durumlarda alarm aktif olacaktฤฑr.
Bu ลekilde belirtilen saat aralฤฑฤฤฑna gรถre alarm, yalnฤฑzca belirli saatlerde etkin olacak ve diฤer saatlerde pasif durumda olacaktฤฑr.
continue
Prometheus Alertmanager'da continue
parametresi, bir eลleลme kuralฤฑ sonucunda bir alarmฤฑn gรถnderilip gรถnderilmeyeceฤini belirlemek iรงin kullanฤฑlan bir seรงenektir.
Yukarฤฑdaki รถrnekte, eลleลme kurallarฤฑnฤฑn altฤฑnda continue
parametresi kullanฤฑlmฤฑลtฤฑr. continue
deฤeri true
olarak ayarlanmฤฑลtฤฑr. Bu, eลleลen bir alarmฤฑn, bu kurallarฤฑn altฤฑndaki diฤer kurallarฤฑn da kontrol edilmesini saฤlar.
Yukarฤฑdaki รถrnekte, "continue: true" ifadesi, "severity: critical" ile eลleลen bir uyarฤฑ olduฤunda, uyarฤฑnฤฑn "linux-team-manager" adlฤฑ yรถneticiye yรถnlendirilmesi gerektiฤini belirtir. Ancak, bu yรถneticiye yรถnlendirildikten sonra diฤer eลleลen kurallarฤฑn kontrol edilmesine devam edilir. Yani, "continue: true" ifadesi, eลleลen bir uyarฤฑnฤฑn yรถneticiye iletilmesinden sonra diฤer eลleลen kurallarฤฑn kontrol edilmesini saฤlar.
Bu durumda, eฤer uyarฤฑ "severity: critical" ile eลleลirse, "linux-team-manager" yรถneticisine yรถnlendirilir ve ardฤฑndan diฤer kurallar kontrol edilir. "continue: true" ifadesi olmasaydฤฑ, uyarฤฑ sadece "linux-team-manager" yรถneticisine iletilir ve diฤer kurallar kontrol edilmezdi.
Diฤer eลleลmelerde ise, uyarฤฑlar belirli kriterlere gรถre sฤฑnฤฑflandฤฑrฤฑlฤฑr ve ilgili yรถneticilere yรถnlendirilir. "warning" dรผzeyindeki uyarฤฑlar "linux-team-lead" yรถneticisine, "cpu" kategorisine ait uyarฤฑlar ise "os-admin" yรถneticisine yรถnlendirilir.
Gรถrรผldรผฤรผ รผzere 2 adet aynฤฑ uyarฤฑ mevcut, CPU kategorisine ait 2 uyarฤฑ farklฤฑ kullanฤฑcฤฑlara iletildi.
ฤฐlk uyarฤฑ, linux-team-manager kullanฤฑcฤฑsฤฑna. 2. uyarฤฑ ise, ilgili uyarฤฑ
category: cpu
etiketi ile eลleลtiฤi iรงin ve yรถnlendirme kurallarฤฑnฤฑ kontrol edilmeye(continue: true) devam edildiฤi iรงin, os-admin kullanฤฑcฤฑsฤฑna iletildi.
Last updated