Merhaba,
Bu makalemizde monitoring toollarının en önemli özelliklerinden Discovery’i konusunu işliyor olacağız. Bu özellik yine Zabbix tarafında güçlü bir şekilde karşımıza çıkmakta ve sadece yeteri kadar doküman takibi yapmak ve neyi nasıl kullanacağımızı iyi bilmek gerekmektedir.
İlgili dokümana buradaki link üzerinden ulaşabilirsiniz.
Bu makalemizde büyük yapılarda 500-1000 adet Network cihazının olduğunu düşünürsek yada bundan fazlası da olabilir bu cihazların belirli bir kural çerçevesinde izleme ürününe alınmasını işliyor olacağız.
Öncelikle burada monitor edeceğimiz cihazlarımız Network cihazları olması sebebi ile monitoring sistemi ile SNMP protokolü üzerinden konuşacağı için Network katmanında UDP/161 protokolü ve portundan monitor edeceğimiz cihaz ile düzgün bir iletişim olaması gerekmektedir. Bunun için işinin ehli bir security admin ile çalışmanız önemlidir.
İkinci nokta ise cihazlar ile SNMP protokolünün hangi versiyonu ile konuşacağınızdır. SNMP v2/v3 hangi versiyon ise onunda Switch, Router.. vb cihaz üzerinde düzgün bir şekilde ayarlanmış olduğundan emin olunuz. Yine bu noktada işinin ehli bir network admin ile çalışmanızı tavsiye ederim 😊
Sözü fazla uzatmadan işlemlerimize geçelim. Bizim konumuz olan Network cihazları Cisco Switch ailesinden 2960X serisi ürün modeli olacak.
Öncelikle kullanacağımız SNMP v3 protokolü için konfigurasyonları yapılmış olan bir Switch üzerinde walk yaparak Zabbix ile izlemek istediğimiz cihaz arasında iletişimin herhangi bir kesintiye uğrayıp uğramadığını kontrol edelim.
SNMP walk nasıl kullanılır v1/v2/v3 komut setleri nasıldır buradaki makaleden bakabilirsiniz.
SNMP walk komutları v2 ve v3 için aşağıdaki gibidir.
snmpwalk -v2c -c MyCommunityString 192.168.2.60 iso.3.6.1.2.1.1.1.0
snmpwalk -v3 -l authnoPriv -u v3user -a MD5 -A "TurkiyeTokat" -x DES -X "TurkiyeAnkara" 192.168.2.60 iso.3.6.1.2.1.1.1.0
SNMP v3 ile ilgili cihaza zabbix veya zabbix-porxy cihazından walk atıyorum ve sonuna “iso.3.6.1.2.1.1.1.0” OID değerini yazıyorum. Bu OID değeri bize system description değerini yani bu cihazın ne olduğunu dönüyor. Yukarıdaki gibi cihazımızın temel bilgileri Cisco IOS Software, C2960X olarak bize gelmiş durumda.
Şimdi başka bir OID değeri olan “iso.3.6.1.2.1.1.5.0” ile sorgu atalım.
Burada ise bize “iso.3.6.1.2.1.1.5.0” OID sorgusuna karşılık systemName değeri dönmüş oldu. Gayet güzel. Bu OID değerlerine yani hangi cihaz için hangi sorguyu atmanız gerektiğine buradaki dokümandan bakabilirsiniz.
Gelin şimdi bu OID değerlerini kullanarak Discovery kuralını oluşturalım.
Öncelikle Configuration tabı altından Discovery sekmesine tıklıyorum.
Create discovery rule diyerek yeni bir kural tanımlıyorum.
Şimdi ilgili alanları dolduralım.
- Name: Kuralıma bir isim veriyorum. Ben discovery’i proxy cihazımda yapacağım için onu seçtim siz zabbix üzerinde yapıyorsanız default olarak bırakınız.
- IP range: Burada hangi network bloğunda discovery yapacaksam onu seçiyorum.
- Update interval: Ne kadar sürede bir bu kural çalışacak ise onu belirliyorum 1h yani 1 saat benim için şimdilik yeterli.
- Checks: Bu kısımda cihazlarda SNMP ile neyi kontrol edeceğimi girmeye başlıyorum.
İlk olarak SNMP v3 kullanacağımız için bu protokolü seçiyorum ve gerekli credential bilgilerini giriyorum. Aynı zamanda “iso.3.6.1.2.1.1.1.0” / systemDesc OID değerini de giriyorum.
İkinci olarak yine SNMP v3 credential bilgilerimi giriyorum ve bu sefer “iso.3.6.1.2.1.1.5.0” OID değerini check etmek istediğim için onu giriyorum ve Add diyorum.
Checks kısmını tamamladım ve 2 farklı OID ile kontrollerimi girdim. Buradaki amacım cihazdan dönen değerleri kullanmak yani her bir cihaz kendi adı ile Zabbix üzerine kayıt olsun istiyorum aynı zamanda tüm 2960 Cisco switch’leri discover ederek bir gruba toplamak istiyorum o yüzden bu OID değerlerini check ediyorum.
- Device uniqueness: Discover edilen cihazları IP adreslerine göre ayırıyorum.
- Host name: “iso.3.6.1.2.1.1.5.0” OID değerinden dönen cihaz adını koyuyorum.
- Visible name: “iso.3.6.1.2.1.1.1.0” OID değerinden dönen cihaz adını koyuyorum.
Bu sayede cihazlar Zabbix’e üzerinde yazan hostname bilgileri ile kayıt olmuş olacak.
Add diyerek kuralımı tamamen kaydediyorum.
Kuralımız eklendi yukarıdaki gibidir. Şimdi Monitoring sekmesinden kuralımıza bakalım.
Burada biraz bekleyiniz çünkü Network bloğuna göre cihazların bulunması zaman alabilir. Aşağıdaki gibi ilgili discovery kuralımı seçtiğimde 3 tane cihazın bulunduğunu görüyorum. Aynı zamanda checks değerlerim olan OID değerlerine de cevap gelmiş en sağdaki dikey sütunda görüyorum. Ancak Monitored host kısmında birşey gelmiyor yani bu cihazlar keşfedilmiş ancak monitor edilmiyor.
Bunun gelmemesi gayet normal çünkü bizim bunun için Zabbix de bir Action tanımlaması yapmamız gerekmektedir. Discovery sonucunda Zabbix ne yapacağını henüz bilmiyor. Şimdi Action tanımlamamıza geçelim.
Configuration > Action > Discovery action diyerek devam ediyorum.
Create action diyerek yeni bir action tanımlıyorum.
Aciton tanımlama 2 sekmeden oluşmaktadır. İlk olanı Action diğeri ise Operations sekmesidir. İlkinde conditionlar belirlenir 2.sinde yapılacaklar tanımlanır.
İlk olarak Aciton’a bir isim veriyorum. Ben genelde oluşturduğum Discovery kuralının isminin sonuna Add diyerek veriyorumki sonrasında hengi action hangi discovery’e ait bulmam kolay olsun.
Devamında condition ekleyerek ilerliyorum.
Öncelikle hangi Discovery kuralına aciton yazıyorsam onu seçiyorum.
İlk condition tanımlandı ve A ismi ile eklendi şimdi 2. Condition ekleyerek ilerliyorum.
Burada Recieved Value değerine C2960 yazıyorum çünkü “iso.3.6.1.2.1.1.1.0” OID değerinden bize cihaz description bilgisi dönmüştü ve içinde Cisco C2960 diye cihaz model bilgisi gelmişti onu giriyorumki sadece bu model cihazları ayırabileyim. Add diyerek ikinci condition’u da eklemiş oldum.
Son olarak Discovery status değerini UP seçiyorum.
3 Condition değerimde eklendi ve A and B and C olarak mantıksal operatorler ile kurgu yapıldı. Bu 3 değerinde sağlanması halinde biz o network bloğundaki sadece Cisco C2960 Switch cihazlarını ayırt etmiş olacağız. Şimdi Operation sekmesine geçelim.
Burada artık Zabbix’e bu cihazlara ne yapması gerektiğini söylüyoruz. Ben ilk olarak bu cihazları hada önce belirlediğim Hostgroup’a eklemesini söylüyorum.
İkinci olarak bu cihazların bir template’e ihtiyacı olduğu için link to template diyerek 2960 için hazırladığım tempalte ile eşleşmesini sağlıyorum.
Herşey hazır cihazlar yani 2960’lar discover edilecek ve istediğim gruba istediğim tempalte ile kayıt olacak. 😎
Discovery aciton eklemem bitti genel görüntüsü yukarıdaki gibidir. Şimdi tekrar Discovery sonuçlarına bakalım.
Aciton tanımlayınca herşey hemen hızlı olmuyor burada sakince beklemeniz gerekiyor. Çünkü arka tarafta Zabbix hala o network üzerinde discover ediyor ve cihaz bulmaya çalışıyor. Yaklaşık 1 saat içinde bulduğu cihazlar için Monitored host kısmına cihazlar gelmiş oldu.
Şimdi ilgli Host Group içinden cihazlarımıza bakalım.
Host sekmesinden cihazların grup bilgisini seçiyorum ve cihazlarımı burada görüntülüyorum. Herşey istediğim gibi tamamlanmış oldu. Artık ilgili network bloğunda ne kadar Cisco 2960X serisi switch cihazı varsa otomatik olarak keşfedilecek ve Zabbix’de izlemeye alınacak.
Bir makalenin daha sonuna geldik, umarım faydalı olmuştur.
Emegine sağlık hocam. güzel anlatım olmuş. Benim sormak istediğim; discovery ile tüm switchleri buldu. action da yaptım gruplara atadım falan. Diyelim ki 1 adet switchimi artık kullanmıyorum. Kapattım switchi fiziksel olarak. Zabbix hostlar kısmından da manuel sildim. Tekrar discovery calıştıgında kapalı olan bu switchi yine buluyor. O switchi tekrar bulmaması için ne yapmak gerekir? sadece acık olan switchleri bulsun istiyorum.
Selamlar,
Kapalı olan switch’e icmp de olmayacağı için bulamaması gerekir o yüzden discovery kuralınızı kontrol etmelisiniz.