Zabbix 7.0 Userparameter, FreeSpace ve Ping Itemları

Selamlar arkadaşlar, Bu yazımda Zabbix 7.0 üzerinde Özel bir Template oluşturacağım. Bu yazımla amaçladığım bir çok item oluşturarak bunları farklı türlerde oluşturmak ve Template’imizi özelleştirerek oluşturmak olacak arkadaşlar.

Ubuntu cihazlarımızı izleyeceğimiz bu Template bir çok denetimi yapacağım. ping, UserParameter, FreeSpace izleme seçeneklerimiz FreeSpace izleme kısmında macro’da kullanarak göstereceğim arkadaşlar.

– Template’imizi oluşturalım :

İlk olarak Data Collection > Templates adımını izledikten sonra Create Template tuşuna basıyoruz.

Template name : Template’imizi tanımlayacak bir isim giriyoruz.
Template groups : Bu alanda da Template’inizin eklenmesini istediğiniz grubu seçiyorsunuz.

Alanları doldurduktan sonra Add tuşuna basıyoruz.

Daha sonra oluşturduğumuz Template’i bulmak için aynı sayfada bulunan Filter alanının altında Name alanına Template’imizin adını yazıyoruz ve alt kısmında bulunan Apply tuşuna basıyoruz ve listelendiğini görüyoruz.

Şimdi ise Template’imizin içerisini doldurma sırası geldi. Bunu yaparken item oluşturacağım sonrasında Trigger’ını oluşturacağım. Benzer Trigger’lara sahip olan Item’lar için ise Tetikleyici oluşturmayacağım arkadaşlar. Bu sayede Template içerisinde bir kaç örnekle neleri oluşturabileceğimizi göreceğiz.

– Item nasıl oluşturulur :

Data Collection > Templates yolunu izleriz. Template’imizi bulduktan sonra içerisine tıklarız ve Item alanına geliriz. Burada Create Item tuşuna basarız.

NOT : Simple Check Item oluşturması işleminde bir kere olacak şekilde Item ve Trigger oluşturma işlemi gösterilmiştir.

– Simple Check : Agent gerektirmeden ağ üzerinden yapılan temel kontrollerdir. Ben ise Ubuntu cihazımızdaki ping durumunu kontrol etmek için bu Item’ı ekleyeceğim.

Name : Simple Ping Check
Type : Simple check
Key : icmpping
Type of information : Numeric (unsigned)

Şeklinde girdim ve Add tuşuna basarak Item’ımı oluşturdum. Latest data kısmında bu item’ın sonucuna bakarsanız 0 olduğunda ping’in iletilmediğini, 1 olduğunda iletildiğini gösterecektir.

Şimdi ise bu Item’ımız için bir Trigger ekleyelim.

Template’imizi bulduktan sonra Triggers alanına tıklıyoruz ve sonraki ekranda sağ üst köşede bulunan Create Trigger tuşuna tıklıyoruz.

Name : ICMP Lost
Severity : High
Expression : last(/Sistemdostu – Linux Template/icmpping)<1
OK event generation : Expression

Buradaki Severity alanı problemin büyüklük derecesini gösterir. Expression alanı ise Item’ımızın Son durumu 1’den küçük olduğunda trigger tetikleneceği anlamına gelir. OK event generation ise Expression olarak seçilmiştir. Yani Item tekrar eski haline geldiği zaman sorun düzeldi olarak geri döndürülecek OK olayını iletir.

– UserParameter : Özel komutlarımızı ya da scriptlerimizi Zabbix Agent üzerinden çalıştırmak için kullandığımız bir ayarlamadır. Bu özellikle birlikte Zabbix’de default olarak gelmeyen sistem bilgilerini ya da metrikleri takip etmemize olanak sağlar.

Ben ise UserParameter kullanarak df -h komutunu çalıştıracağım ve bunun bilgilerini toplayacağım.

İlk olarak aşağıdaki komutumuz ile Zabbix Agent conf dosyamıza giriyoruz ve ayarlamalar yapıyoruz.

> nano /etc/zabbix/zabbix_agent2.conf

Not : Cihazımda şuanda Agent2 kuruluymuş ama aynı şekilde siz Agent’ta da uygulayabilirsiniz.

Giriş yaptıktan sonra Ctrl + W basıyoruz ve UserParameter= olarak aratıyoruz. Bulduğunuz satırın bir altına geçiyorsunuz ve aşağıdaki komutumuzu yazıyorsunuz.

> UserParameter=custom.hddcheck, df -h

Custom.hddcheck kısmı key için verilen ad oluyor sonrasında df -h ise sistemde çalıştırılacak olan komutumuz oluyor.

> UserParameter=custom.filesize[*],du -s $1 | cut -f1

Birde parametreli olarak bir örnek olması açısından yukarıdaki gibi komutumuzuda ekliyoruz ve dosyamızı kayıt edip çıkıyoruz.

> UserParameter=custom.script,/usr/local/bin/check_ping.sh

Bu en son komutu eklemeyeceğim ama mantığı anlaşılsın diye eklemek istedim.

Daha sonra Zabbix Gui’ye geceçerek Parameter’larımız için Itemlar oluşturuyoruz.

Name : UserParameter df -h
Type : Zabbix agent
Key : custom.hddcheck
Type of information : Text

Yukarıdaki resimde nasılsa sizde o şekilde eklemeniz gerekiyor. Bu birinci UserParameter içindi.

Name : UserParameter du -s file_path
Type : Zabbix agent
Key : custom.filesize[/home/sistemdostu/zabbix-klasor]
Type of information : Numeric

Burada ise Key alanına yazdıktan sonra * alanına işlem yapmasını istediğiniz Klasör yolunu yazıyorsunuz.

> sudo chown -R sistemdostu:zabbix /home/sistemdostu

NOT : Burada yazılan path için klasör izinlerine zabbix’e uygun ayarlamalısınız. Yukarıdaki kodu kullanabilirsiniz. İşe yaramazsa biraz klasör izini araştırmanız gerekecek. 🙂

Daha sonra host içerisinden gidip Itemları test edebilirsiniz ve uygun şekillerde Trigger oluşturusunuz.

– Macro : kullanarak Diskimizdeki FreeSpace ölçümlerini yapacağız.

İlk olarak Template içerisinde düzenleme yaptığımızdan dolayı burada bir Macro oluşturacağım.

Template’imize tıkladım ve ardından Macros sekmesine geldim. Template macros alanında {$PATH} adını ve Value değerini boş olacak şekilde bırakarak, Update tuşuna basıp bir Macro oluşturdum.

Daha sonra Template’imize yeni bir Item ekleyerek aşağıdaki gibi alanları doldurdum.

Name : Free space {$PATH}
Type : Zabbix Agent
Key : vfs.fs.size[{$PATH},free]
Type of information : Numeric (unsigned)
Units : B

Ve Add tuşuna basarak ekleme işlemimi tamamladım.

Daha sonrasında Host alanına gittim ve Template’imi uyguladığım Host’umu seçtim. Açılan pencerede Macros alanına geçtim ve Inherited and host macros alanına tıkladım. {$PATH} eklemiş olduğum Macro’mu buldum ve yanına / yazarak boş alanı öğrenmek istediğim yolu belirttim. Ardından update tuşuna bastım ve Latest data’dan çekilen datayı kontrol edebilirsiniz.. Birde Trigger eklemeyi unutmayın. 😉

Yazılarımı yararlı buluyorsanız ve bana destek vermek isterseniz de Youtube, Instagram ve Tiktok üzerinden SistemDostu kanalımı bulabilir ve Takip edebilirsiniz. Bu benim için motivasyon kaynağı oluyor arkadaşlar desteğinizi bekliyorum. O zaman herkeslere kolaylıklar diliyorum. 🙂

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir