Zabbixte Alarm Üretme
Zabbix, sistem yöneticilerinin kolu kanadı diyebileceğimiz açık kaynak bir NMS(Network Managament System) yazılımıdır. Zabbix in kurulumuna dair internette çok sayıda makale bulabilirsiniz. Bu yazıda ben daha çok Zabbix in özelleştirilmesine dair örnek vermek istiyorum.
Öncelikle bir sistem yöneticisi için en önemli şey ilk etapta sistemin neresinde problem olduğunu ivedilikle öğrenmektir. Yani problemin kaynağını (route cause) tespit etmesi gerekir. Çünkü problem başkaları tarafından aktarılırken, çoğu kez kullanıcı olayın sadece kendini ilgilendiren tarafını aktardığı için problemin kaynağını bulmak epey zaman alabilir. Kullanıcıdan gelen bilgi yanıltıcı olabilir. Mesela olay kullanıcı tarafından size “ Merhaba, mail göndermiyorum bir bakar mısınız” şeklinde aktarılınca ister istemez mail sunuculara yönelebiliyorsunuz. Ancak sorun kaynağı internet problemi çıkabiliyor. Bunun gibi daha birçok örnekle karşılaşabiliriz.
Zabbix ile bu tür aksiyonlara karşı alarmlar üreterek problemin kaynağı hakkında net bilgiler edinebilirsiniz.
İlk önce Zabbixte aksiyon alma ve alarm üretme mantığına bakacak olursak işin büyük kısmı şablonlardan (tamplate) ibarettir. Oluşturacağınız şablonlar sayesinde istediğiniz servisi dinleyebilirsin. Ve bu servise ait tetik (trigger) oluşturarak hangi seviyelerin alarmlarını oluşturmak istiyorsanız dilediğiniz gibi özelleştirebilirsiniz. Şablonun iki ana unsuru Item ve Trigger dir. Bu ikisinin mantığını kavrarsanız kolaylıkla her servisten bilgi çekebilirsiniz.
Bütün bu olayları adım adım inceleyecek olursak
1. E-posta Ayarları
1.1. İlk önce alarmları göndereceğiniz e-posta adresinin smtp ayarlarını yapmanız gerekir. Ben örnekte gmail kullandım. Siz kendi mail sağlayıcılarınızın smtp ayarlarına bakabilirsiniz. Öncelikle mailimize uygulama üzerinden mail gönderme izini vermemiz lazım.
https://www.google.com/settings/security/lesssecureapps adresinden izini verebilirsiniz.
1.2. Zabbixte ise Administrator> Media Types menüsü altında Gmailin smtp ayarları ve epostanın geleceği adresi ve şifresini girerek ayarlamayı yapıyoruz.
1.3. Girdiğiniz ayarları test etmek için Administrator > Media Types menüsünden oluşturduğumuz e-posta ayarlarını test edebiliriz.
Girdiğimiz ayarların doğruluğunu kontrol için bir test e-postası gönderiyoruz.
Yukarıda görüldüğü gibi smtp ayarlarını doğru girmişiz.
2. Tamplate Ayarları
2.1. Bu aşamada ise alarm oluşturmak istediğimiz servise ait bir şablon oluşturmalıyız. Bu örnekte ben sunucunun TCP 9090 portunda çalışan servisi dinleyip servis ulaşılamıyorsa alarm üretmesini istiyorum. Bunun için ilk önce zabbixte hazır gelen şablonlardan “ Template App HTTP Service” şablonunu düzenleyerek 9090 portuna göre ayarlıyorum. Bu şablonu full clone yaparak kopyaladığımızda şablonda ayarlı “Application” “Items” ve “Triggers” de kopyalanmış olacak.
2.2. Kopyaladığımız Şablona 9090 Tamplate ismini verdim. Ayrıca Host Groups olarak TESTGRP adında yeni bir gruba atadım.
2.3. Applications kısmında ise sadece adını değiştiriyoruz.
2.4. Item kısmında ise dinleyeceğimiz porta göre Key kısmını değiştiriyoruz.
Zaten key kısmında select butonuna bastığımızda bize hangi formatta yazacağımız hazır şablonlar şeklinde veriliyor.Biz tcp 9090 portunu dinleyeceğimiz için net.tcp.service[tcp,,9090] olarak keyimizi düzenliyoruz.
Show value kısmında ise servisin durumları için bize değerler verecek. Örneğimizde 9090 portu ayakta ise yazdığımız Key =1 değilse =0 değerini alacaktır.
2.5. Trigger kısmında ise oluşturduğumuz Item e bağlı olarak bir tetik değeri vererek alarm seviyesini ayarlıyoruz.
Ben burda 9090 servisini kontrol et ve değeri 0 a eşitse yani servis state= down ise alarm seviyesini High olarak ayarla dedim.
3. Kullanıcı Ayarları
3.1. Bu aşamada ise zabbixte kullanıcı oluşturup eposta adresini girmemiz gerekecek. İlk önce kullanıcımız için bir user group oluşturmamız gerekecek. Grup olmadan tek başına user oluşturamıyoruz. Ben Monitoring grubu altında testuser oluşturdum.
Yukarıda görüldüğü gibi şablonu oluşturduğum gruba (TESTGRP) bu oluşturduğum user groups un okuma ve yazma yetkisini atadık. Eğer bu yetki sağlanamasa gerekli aksiyon alınamayacaktır.
4. Action Ayarları
4.1. Action ayarlarında yeni action oluşturup adını test olarak düzenledim.
4.2. New condition kısmında daha önceden oluşturduğumuz tamplate de yapığımız trigger ayarını ekliyoruz.
4.3. Oparations kısmında ise problem anında e-postanın kimlere gideceğini ve e-postanın içeriğinde hangi bilgiler olacağını ayarlıyoruz.
Ve mutlu son…
Bütün bu ayarlar yukarıdaki bilgilendirme e-postalarını almak ve sorunu nokta atışı öğrenmek içindi. Bundan sonrası için ise sistem yöneticisi arkadaşımız bir bardak çay ile soruna odaklanabilecektir.
Faydalı olması dileğiyle…
Teşekkürler. Çok faydalı bilgiler. Emeğine sağlık.
Teşekkürler
Elinize sağlık.
Teşekkürler hocam
Güzel ve faydalı bir makale teşekkürler
Teşekkürler
teşekkürler dostum.