Selamlar arkadaşlar bu makalemde sizlere Zabbix sistemimiz üzerinde Custom Metric işlemlerini anlatıyor olacağım. Custom Metric‘den kastım bir .sql uzantılı dosya içerisinde yazılan olan kodumuzu Zabbix üzerinden PostGreSQL‘de çalıştırıp sonucunu alacağız. Bunun için yapmanız gerekenler.
/etc/postgresql/13/main/pg_hba.conf dosyasında zabbix‘in erişimi ve Database erişimleri için genel izinleri vermeniz gerekmektedir.
/etc/postgresql/13/main/postgresql.conf dosyasında erişim için Listen Port‘u açıyoruz ve ardından PostGreSQL‘e Restart atıyoruz.
Sonrasında ise bir klasör oluşturuyoruz. Bu klasör içerisine ise custom.sql adında bir dosya oluşturarak içerisine çalıştıracağınız kodu giriyoruz ve kayıt ediyoruz.
Zabbix‘in PostGreSQL içerisinden monitoring işlemlerini düzgün yapabilmesi adına PostGreSQL‘in yüklü olduğu server’a Zabbix Agent 2 yüklemesi yapmalısınız.
/etc/zabbix/zabbix_agent2.conf dosyasından Plugins.Postgres.CustomQueriesPath alanını buluyoruz ve custom dosyamızın bulunduğu Path‘i buraya yazıyoruz. Agent ayarlamaları Zabbix‘e ulaşabilecek şekilde önceden ayarlanmış olmalı bunu hatırlatmak için yazıyorum. Ardından Agent2‘yi de Restartlıyoruz.
Zabbix içerisinde ayarlamaları yapmak :
Bunun için Zabbix içerisinde bulunan PostGreSQL by Zabbix agent 2 Template‘ini Full Clone ile kopyalıyorum.
Adını PSQL Custom Metric yapıyorum ve Add tuşu ile ekliyorum.
Bunu yapmamının sebebi Template üzerinde bulunan Macro alanlarını kaybetmek istememem.
Items alanına gelerek bu alandaki bütün items‘ları siliyoruz. Ardından sağ üstte bulunan Create Item tuşuna basıyoruz.
Name : Custom PSQL Query
Type : Zabbix agent
Key : pgsql.custom.query["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","testtable_insert"]
Type of Information : Text
olacak şekilde ayarlıyoruz ve ardından Add tuşuna basıyoruz.
Zabbix‘e Host eklemek için ise Configuration > Hosts kısmına tıklıyoruz ve ardından Create Host tuşuna basıyoruz.
Host kısmından Host adımı ve ip adresini giriyorum.
Templates alanından oluşturduğum PSQL Custom Metric Template‘imi ekliyorum.
Macros alanında ise Inherited kısmına girmeli ve DB bilgilerinizi bu 4 alan olacak şekilde doldurmalısınız ve ardından Add diyerek Host’umuzu ekleyebiliriz.
Latest kısmında gelen sorgu sonucunu görebilirsiniz.
Eğer ben biraz sabırsızım testimi kendim yapmak istiyorum diyorsanız ise;
Configuration > Host yolunu izleyerek eklediğiniz Host’a tıklayın. Items kısmında eklemiş olduğumuz Custom PSQL Query’yi seçin altta bulunan Test tuşuna basın ve açılan küçük ekranda Get Value and Test tuşuna basın. Bu şekilde manuel olarakda test edebilirsiniz.
ÖNEMLİ NOT : Eğer bu işlemleri Zabbix-Agent‘ın 6.0 versiyonunda yapıyorsanız Conf. dosyanıza aşağıdaki satırı eklemeniz gerekiyor.
Plugins.PostgreSQL.CustomQueriesPath=/home/semih/custom/
Bu alanı Postgres‘den PostgreSQL olarak değiştirmişler arkadaşlar. Ubuntu içerisinde Agent‘ı indirdiğiniz ise Dökümantosyonlarınıda indiriyormuş artı olarak birde bunu fark ettim. O alanın Path‘inide aşağıda bırakıyorum.
nano /usr/share/doc/zabbix-agent2-plugin-postgresql/README.md
Bu alanda gerekli dökümantasyonlarıda okuyabilirsiniz.
Bu yazımda bu kadar arkadaşlar deneyimleyerek elde ettiğim ve öğrendiğim bütün bilgileri siz okurlarımla paylaşmak istedim. Umarım yararlı bir yaz olur. Yanlışlarım, eksiklerim, eklemek istedikleriniz ya da yorumlarınız varsa lütfen yorumlar kısmından bana iletin ki doğru bilgiler için güncellemeler yapabileyim.
Herkese kolaylıklar dilerim arkadaşlar.