Alertmanager Time Interval Konfigürasyonu Nasıl Yapılır?

Hasancan Gümüş
Arabam Labs
Published in
2 min readJun 28, 2024

Kafka, büyük veri akışlarını yönetmek için yaygın olarak kullanılan güçlü bir platformdur. Ancak, sistemin verimli çalışmasını sağlamak için Kafka topiclerindeki lag miktarını izlemek önemlidir. Bu makalede, belirli saat veya günlerde fazla lag olan topicler için alarm ayarlamanın nasıl yapılacağını anlatmış olacağım.

Giriş

Kafka topiclerindeki lag, consumer’ların mesajları okuma hızının yetersiz olduğunu gösterebilir ve bu durum sistem performansını olumsuz etkileyebilir. Bu nedenle, belirli saatlerde veya günlerde topic lag durumunu izlemek ve gerekli aksiyonları almak kritiktir. Bu örnekte, belirli zaman dilimlerinde aktif olacak şekilde yapılandırılmış bir alarm ayarı göstereceğiz.

Alertmanager yapılandırması

Alarm yapılandırmasını oluştururken, belirli zaman aralıklarında aktif olacak şekilde ayarlayabiliriz. Aşağıdaki örnek, belirlenen zaman diliminde monitoring-instances alıcısına alarm gönderir.

global:
resolve_timeout: 1m
slack_api_url: '<https://hooks.slack.com/services/YOUR/SLACK/API_URL>'

time_intervals:
- name: 'business_hours_gmt_plus_3'
time_intervals:
- weekdays: ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
times:
- start_time: '09:00'
end_time: '18:00'
route:
receiver: 'slack-notifications'
routes:
- match_re:
team: production
continue: true
receiver: 'production-alerts'
active_time_intervals:
- 'business_hours_gmt_plus_3'

receivers:
- name: 'slack-notifications'
slack_configs:
- channel: '#monitoring-instances'
send_resolved: true

- name: 'production-alerts'
slack_configs:
- channel: '#production-alerts'
send_resolved: true

Test İçin Kafka Topic Oluşturma

Şimdi Kafka üzerinde bir topic oluşturalım. Örneğin, test-kafka-kafka adında bir topic oluşturalım ve replikasını 1 olarak belirleyelim. Bunu UI üzerinden de yapabiliriz.

kafka-topics.sh --create --topic test-kafka-kafka --partitions 1 --replication-factor 1 --zookeeper localhost:2181

Bu topic için belirli saatlerde lag kontrolü yapmak ve tanımlı alarmları eklemek için yukarıdaki yapılandırmayı kullanabilirsiniz. Bu sayede, Kafka topic’lerinizin lag durumu izlenir ve belirlenen zaman dilimlerinde gerekli uyarılar gönderilir.

Alarmın Test Edilmesi

Oluşturduğumuz alarmı test etmek için, belirlediğimiz zaman aralığında Kafka topiclerin durumunu kontrol edelim. Eğer lag tespit edilirse, ilgili alıcıya bildirim gönderilecek ve lag durumu düzeldiğinde “resolve” mesajı basılacaktır.

Sonuç

Kafka topiclerindeki lag durumunu belirli saatlerde veya günlerde izlemek ya da sadece iş saatleri içinde aktif olmasını sağlayabilirsiniz.

Bu adımları izleyerek Kafka topic lag alarmlarınızı optimize edebilir ve sisteminizin verimli çalışmasını sağlayabilirsiniz.

--

--