Logo

dev-resources.site

for different kinds of informations.

Zabbix ile Prometheus Metrik Formatında Kafka İzleme

Published at
5/27/2024
Categories
zabbix
prometheus
kafka
monitoring
Author
erenalpteksen
Author
13 person written this
erenalpteksen
open
Zabbix ile Prometheus Metrik Formatında Kafka İzleme

Prometheus: Zaman Serisi Veritabanı Nedir?

Prometheus, sistemler ve servislerden veri toplamak için kullanılan açık kaynaklı bir zaman serisi veritabanıdır. Verileri "pull" modeli aracılığıyla alır, yani Prometheus, tanımlı hedeflerden düzenli aralıklarla veri çeker. Bu veriler, Prometheus'un yerleşik arayüzünde PromQL (Prometheus Query Language) kullanılarak sorgulanabilir ve görselleştirilebilir. Grafana gibi araçlarla entegrasyonu sayesinde, daha zengin görselleştirme ve kapsamlı dashboard oluşturma imkanı sunar.

Exporter Nedir?

Exporter'lar, çeşitli kaynaklardan metrikleri toplayan ve bu verileri Prometheus'un anlayabileceği formatta HTTP üzerinden sunan araçlardır. Bu, Prometheus'un hedef sistemlerde doğrudan çalışmasına gerek kalmadan dış kaynaklardan veri toplamasını sağlar.

Zabbix ile Prometheus Metriklerinin Entegrasyonu

Zabbix, güçlü bir açık kaynak izleme çözümüdür ve Prometheus metriklerini entegre etmek mümkündür. Bu rehber, Prometheus'dan toplanan metriklerin Zabbix kullanılarak nasıl izlenebileceğini adım adım açıklar.

Gereksinimlerin Listesi:

  • Zabbix sunucusu: İzleme yapılacak ana sistem.
  • Exporter: Bu rehberde kullanılacak olan JMX Exporter.
  • Kafka sunucusu: Metrik kaynağı olarak hizmet veren sunucu.

Docker kullanarak Kafka sunucusunu ve bağlantılı Zookeeper servisini başlatıyoruz.

kafka@kafka:~$ docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED         STATUS         PORTS                                                                                                      NAMES
7e5f046d5fa4   bitnami/zookeeper:latest   "/opt/bitnami/script…"   6 minutes ago   Up 6 minutes   2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 8080/tcp                                    kafka_zookeeper_1
5a28b5f7ca84   bitnami/kafka:latest       "/opt/bitnami/script…"   6 minutes ago   Up 6 minutes   0.0.0.0:9091-9092->9091-9092/tcp, :::9091-9092->9091-9092/tcp, 0.0.0.0:9999->9999/tcp, :::9999->9999/tcp   kafka_kafka_1
Enter fullscreen mode Exit fullscreen mode

Adım 1: Metrik Seçimi ve Tanımlama

Kafka sunucumda çalışan ve 192.168.1.9:9091 adresinde erişilebilen Exporter üzerinden, belirli bir Kafka topic'i için trafik metriklerini seçiyorum.

Image description

Seçilen metrikler, topic üzerinden gelen ve giden veri akışını ve talep sayısını içerir.

kafka_server_brokertopicmetrics_meanrate{name="BytesInPerSec",topic="test_topic",} 82.34778932997635
kafka_server_brokertopicmetrics_meanrate{name="BytesOutPerSec",topic="test_topic",} 112.90497508080351
kafka_server_brokertopicmetrics_meanrate{name="TotalFetchRequestsPerSec",topic="test_topic",}
Enter fullscreen mode Exit fullscreen mode

Adım 2: Zabbix Template Oluşturma

Zabbix içinde "Prometheus Metrics" adında bir template oluşturarak, seçilen metrikleri bu template altına item olarak ekleyeceğim.

Image description

Adım 3: HTTP Agent oluşturulmalı

Zabbix sunucusunda, Exporter'dan metrikleri çekecek bir HTTP Agent kuruyorum. Bu agent, metriklerin düzenli olarak Zabbix sunucusuna aktarılmasını sağlar.

Yeni bir item oluşturarak "Prometheus Metrics" template'ine ekliyorum.

Image description

Item yapılandırmasını tamamladıktan sonra, 'Test' butonuna tıklayarak HTTP Agent'ın düzgün çalışıp çalışmadığını kontrol ediyorum.

Image description

Adım 4: Bağımlı Öğelerin (Dependent Item) Oluşturulması

Bağımlı öğeler, ana metriklerden türetilen ve daha detaylı analiz için kullanılan veri öğeleridir.

Bu adımda, 'BytesInPerSec' metriğine dayalı olarak "topic_bytes_in_rate" adında bir dependent item oluşturuyorum. Bu dependent item, belirli bir Kafka topic'inden gelen veri akış hızını temsil eder ve ölçümleri daha spesifik bir kontekste yerleştirir.

Image description

Oluşturduğum dependent item için preprocessing sekmesine giderek "add" butonuna tıklayarak yeni bir preprocessing kuralı ekliyorum. Bu kural, Prometheus'un metrik formatını Zabbix'in anlayacağı formata dönüştürür.

Image description

Kullanılacak parametre, Prometheus Pattern'dir ve metrik değerlerini doğru bir şekilde parse etmek için önceden belirlenen Prometheus sorgusu kullanılır.

Örneğin, kafka_server_brokertopicmetrics_meanrate{name="BytesInPerSec", topic="test_topic"} metriği, Kafka sunucusundaki belirli bir topic'e gelen veri miktarını ölçer. Bu örnek metrik, rehberimizde kullanılan örnek bir metrik değeridir.

Bu sürecin çalışması için, seçilen her metrik için ayrı bir dependent item oluşturulmalıdır.

Adım 5: Kafka Server'a Template Ekleme

Oluşturduğumuz bu template'i, izlemek istediğimiz Kafka sunucusuna ekliyoruz.

Image description

Adım 6: Metrikleri Kontrol Etme

Son adım olarak, Zabbix arayüzünden 'Monitoring > Hosts > Kafka Sunucusu > Latest Data' yolunu takip ederek sunucumuzda izlemekte olduğumuz metriklerin güncel verilerine ulaşıyoruz.

Image description

Sonuç

Bu rehber, Prometheus ve Zabbix kullanarak Kafka sunucusundan metrik toplama sürecini adım adım ele almakta ve bu süreci nasıl yöneteceğinizi açıklamaktadır. Prometheus'un güçlü zaman serisi veri toplama kabiliyeti ve Zabbix ile olan entegrasyonu sayesinde, karmaşık sistemlerin izlenmesi ve yönetilmesi kolaylaşmaktadır.

zabbix Article's
30 articles in total
Favicon
Ubuntu Üzerine SQLite3 kullanılarak Zabbix Proxy Kurulumu, Yapılandırması ve Verilerin Proxy üzerinden Server'da Gösterilmesi
Favicon
Zabbix Üzerinden ODBC Kullanarak PostgreSQL'e Sorgu Atılması ve İzlenmesi
Favicon
Patroni'ye Özel Zabbix Template'ı Oluşturma
Favicon
Zabbix ile REST API Üzerinden Patroni Sağlık Durumunun İzlenebilmesi
Favicon
Patroni Nedir?
Favicon
Zabbix - A powerful and open-source monitoring tool : Day 47 of 50 days DevOps Tools Series
Favicon
Zabbix "Calculated Item" İşlemi
Favicon
Zabbix ile Prometheus Metrik Formatında Kafka İzleme
Favicon
Obter Http Status Code de uma lista de Function Apps do Azure e enviar para o Zabbix
Favicon
Script de Exportação de Hosts do Zabbix para CSV
Favicon
Instalando Zabbix Server com MySQL, Grafana e Traefik em Docker
Favicon
Instalar Zabbix Agent no Sistema Operacional Windows via Script Batch
Favicon
Zabbix Server Kurulumu
Favicon
Do zero ao completo Desastre
Favicon
Zabbix 6.x Agent ile Custom Script Itemları Oluşturma
Favicon
How to overcome data silos in open source server monitoring
Favicon
Pardus 21.x sunucu üzerine Zabbix 6.0 kurulumu
Favicon
Zabbix Proxy and Low Disk Space
Favicon
Tayfa ve Miço ile Zabbix Agent Dağıtımı
Favicon
Zabbix Mail Bildirimleri
Favicon
Server monitoring with Zabbix
Favicon
Monitoring VMware on zabbix
Favicon
OpenNMS On the Horizon – November 8th, 2021
Favicon
OpenNMS On the Horizon – November 1st, 2021
Favicon
Rocky Linux
Favicon
Monitoramento de 1 segundo? Temos !
Favicon
Comandos no Shell do Windows
Favicon
Otimizando seu banco !
Favicon
Saltos duplos
Favicon
Ubuntu 18.04 Üzerinde Zabbix Server Kurulumu

Featured ones: