Zabbix ile Elasticsearch Sunucularını İzleme

Merhabalar, bu yazımızda Zabbix ile elasticsearch sunucularındaki ilgili metricleri nasıl izlediğimizi anlatacağız. Bu yazımızdaki gerekli konfigürasyonel dosyaları aşağıdaki github hesabında mevcuttur.

Template’in istenilen metricleri toplayabilmesi için hem zabbix tarafında hem de elasticsearch kurulu olan sunucumuzda bazı konfigürasyonel değişiklikler yapmamız gerekiyor.

Elasticsearch Sunucusu

Sunucuyu zabbix ile monitor edebilmek için zabbix agent kurulumu yapmamız gerekiyor.

Aşağıdaki komutla zabbix agent kuruyoruz. Hangi versiyon kullanılıyorsa son kısım o şekilde değiştirilebilir.

yum install zabbix-agent-4.2.8–1.el7.x86_64

/etc/zabbix altında oluşan zabbix_agentd.conf dosyasının içindeki Server, ServerActive ve Hostname parametrelerinin kendi zabbix proxy sunucunuza göre düzenlenmesi gerekiyor. Sunucu ip’sinden erişim sağlanan proxy’e göre Server ve ServerActive kısımları doldurulmalıdır.

Mesela, sunucumuzun ip’si 10.10.10.1, hostname’i Test ise ve erişim sağlayabildiği proxy ip’si 10.10.10.5 ise;

Server: 10.10.10.5

ServerActive: 10.10.10.5

Hostname: Test

şeklinde parametre girişi yapmamız gerekiyor. Bunlara ek olarak ise template’in metrikleri toplayabilmesi için aşağıdaki parametreleri configuration dosyamıza ekliyoruz.

UserParameter=elasix[*],/etc/zabbix/scripts/elasix.sh -s $1 -a p=$2 -a p=$3 -a p=$4 -a p=$5

UserParameter=elasix.discovery[*],/etc/zabbix/scripts/elasix.sh -a $1 -j p=$2 -a p=$3

UserParameter=elasix.version,/etc/zabbix/scripts/elasix.sh -v short

UserParameter

UserParameter ile birlikte konfigürasyon dosyamıza belirli dizinler ve bu dizinlerde çalışan scriptler atadık.

Öncelikle /etc/zabbix/scripts/ dizinini oluşturuyoruz. İçine ise elasix.conf, elasix.sh dosyalarını ve tmp klasörünü oluşturuyoruz.

/etc/zabbix/scripts/elasix.conf

elasix.conf bizim ELASTIC_URL’imizi belirttiğimiz dosyadır. Buraya elastic sunucusuna ait ip yazılmalıdır, elastic için oluşturulmuş bir user ve password varsa onları da ekleyebilirsiniz.

/etc/zabbix/scripts/elasix.sh dosyasının içine yukarıdaki linkteki elasix.sh scriptini eklememiz gerekiyor. Bu script ile elasix.conf içinde belirttiğimiz ELASTIC_URL’e gidip elasticsearch’e ait belirli metriklerin çekilmesi işlemleri gerçekleşecek.

elasix.sh scriptinin çalışabilmesi için yetkilendirme yapmamız gerekiyor. Aşağıdaki komutla yetkilendirmeyi yapıyoruz.

chmod +x elasix.sh

Script içinde aşağıdaki şekilde /etc/zabbix/scripts/tmp dosyası içine yazma işlemi gerçekliyor bunun için aşağıdaki komutla gerekli yetkilendirmeyi yapıyoruz.

chown zabbix:zabbix tmp/

Scriptlerin çalışabilmesi için bazı paketlerin kurulu olması gerekiyor. Aşağıdaki komutla paketlerin kurulumunu yapıyoruz.

yum install ksh jq curl

Paketler kurulduktan sonra zabbix agent’ı çalıştırıp statüsünü kontrol ediyoruz.

systemctl start zabbix-agent.service

systemctl status zabbix-agent.service

Böylece sunucu tarafındaki kurulumları tamamlıyoruz.

Zabbix

Zabbix tarafına öncelikle template’i import etmemiz gerekiyor. Configuration altındaki Templates sekmesine giderek yukarıdaki linkteki template’i import edebilirsiniz.

Configuration->Templates
Import Template

Template import edildikten sonra aşağıdaki gibi itemlar ve triggerlar default olarak geliyor. Burada istenildiği gibi değişiklik yapılarak yeni triggerlar eklenebilir. Biz izlemek istemediğimiz itemları disable ettik.

İkinci aşama olarak bu template’i elastic sunucusuna atamalıyız. Configuration altındaki Hosts sekmesine giderek Create Host butonuna tıklıyoruz. Zabbix agent kurduğumuz sunucuyu ekliyoruz.

Configuration->Hosts

Zaten Zabbix’te olan bir sunucuya template eklenecekse bu adımı geçebilirsiniz.

Host name, Groups, Agent Interfaces, Monitored by proxy” alanlarını dolduruyoruz. Burada “Monitored by proxy” kısmına yukarıda zabbix_agentd.conf içinde tanımladığımız Server ip’sini vermeliyiz.

Create Host

Bu işlemlerden sonra Templates kısmına geçerek import ettiğimiz template’i ekliyoruz.

Create Host

Bir süre sonra template içindeki metricler host içinde item yaratmaya başlıyor. Böylece Zabbix’te elastic sunucusunu monitor etme işlemi tamamlanmış oluyor.

Triggers sekmesine tıkladığımızda aşağıdaki şekilde bir çıktı ile karşılaşıyoruz. Burda da istenilmeyen triggerlar disable edilebilir.

Emekleri için Pınar Bakan’a teşekkür ederiz.

Daha fazla bilgi ve öneri için aşağıdaki mail adresinden bizimle iletişime geçebilirsiniz.

mailto:DTUygulamaYonetimi@d-teknoloji.com.tr

Yeni yazılarımız için bizi takipte kalın!

--

--