Bugün Zabbix hakkında yazdığım ilk yazının devamı niteliğinde Zabbix konusunda bilgi aktarmaya devam edeceğim. İlk yazımın linkine https://www.linkedin.com/pulse/zabbix-izleme-yaz%C4%B1l%C4%B1m%C4%B1-b%C3%B6l%C3%BCm-1-sarav-asiye-yigit/ adresinden ulaşabilirsiniz.
Anlatacağım ilk konu, Zabbix ile Grafana’nın entegrasyonu olacak. Grafana, Prometheus ve Graphite ölçümlerinden (“metrics”), günlüklere (“log”) ve uygulama verilerine kadar her şeyi içeren gözlemlenebilirlik gösterge tabloları oluşturmak için kullanılan dünyanın en popüler teknolojisi haline geldi dersek yanlış olmayacaktır. Grafana Enterprise, mevcut veri kaynaklarınızı alan ve bunları doğrudan Grafana’ya eklemenize izin veren kurumsal eklentilere erişim içerir. Bu, tüm verileri daha kolay ve daha etkili bir şekilde görselleştirerek karmaşık, pahalı izleme çözümlerinizden ve veritabanlarınızdan en iyi şekilde yararlanabileceğiniz anlamına gelir. Grafana açık kaynak ile Grafana Enterprise arasındaki farkları https://grafana.com/products/enterprise/ adresinden inceleyebilirsiniz. Elbette Grafana Enterprise’ın inanılmaz etkileyici özellikleri var. https://grafana.com/grafana/download adresinden, “Enterprise Edition”ı indirebilirsiniz. “Enterprise Edition”ı ücretsiz olarak kullanabilirsiniz. “Open Source Edition” ile aynı özellikleri sağlıyor ve istediğinizde, “Enterprise plugin”lerin desteğini de içerecek şekilde “Enterprise feature set”e yükseltme yapabiliyorsunuz.
Ben kurulumu RHEL 8.2 sistemime yapacağım. Kurulumu oldukça kolay. Aşağıdaki iki komut ile kurulum yapıyorsunuz.
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-7.3.7-1.x86_64.rpm
sudo yum install grafana-enterprise-7.3.7-1.x86_64.rpm
Sistem üzerinde kurulum çıktılarına bakmak istersiniz diye aşağıya ilgili çıktıları ekledim.
[root@shiina ~]# wget https://dl.grafana.com/enterprise/release/grafana-enterprise-7.3.7-1.x86_64.rpm
–2021-01-30 23:15:35– https://dl.grafana.com/enterprise/release/grafana-enterprise-7.3.7-1.x86_64.rpm
Resolving dl.grafana.com (dl.grafana.com)… 199.232.194.217, 199.232.198.217, 2a04:4e42:4d::729, …
Connecting to dl.grafana.com (dl.grafana.com)|199.232.194.217|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 54647210 (52M) [application/x-redhat-package-manager]
Saving to: ‘grafana-enterprise-7.3.7-1.x86_64.rpm’
grafana-enterprise-7.3.7-1.x86_64 100%[===========================================================>] 52.12M 4.83MB/s in 12s
2021-01-30 23:15:49 (4.50 MB/s) – ‘grafana-enterprise-7.3.7-1.x86_64.rpm’ saved [54647210/54647210]
[root@shiina ~]# sudo yum install grafana-enterprise-7.3.7-1.x86_64.rpm
Updating Subscription Management repositories.
Last metadata expiration check: 2:07:57 ago on Sat 30 Jan 2021 09:08:12 PM +03.
Dependencies resolved.
======================================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================================
Installing:
grafana-enterprise x86_64 7.3.7-1 @commandline 52 M
Transaction Summary
======================================================================================================================================
Install 1 Package
Total size: 52 M
Installed size: 173 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : grafana-enterprise-7.3.7-1.x86_64 1/1
Running scriptlet: grafana-enterprise-7.3.7-1.x86_64 1/1
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server.service
### You can start grafana-server by executing
sudo /bin/systemctl start grafana-server.service
POSTTRANS: Running script
Verifying : grafana-enterprise-7.3.7-1.x86_64 1/1
Installed products updated.
Pipe does not exist (/var/run/fapolicyd/fapolicyd.fifo)
Perhaps fapolicy-plugin does not have enough permissions
or fapolicyd is not running…
Installed:
grafana-enterprise-7.3.7-1.x86_64
Complete!
[root@shiina ~]#
“more /etc/grafana/grafana.ini” komutuyla Grafana’nın konfigürasyon dosyasına bakabilirsiniz. Ardından Grafana servisini “systemctl start grafana-server” komutuyla başlatabilir ve “systemctl status grafana-server” komutuyla servisin durumuna bakabilirsiniz. Aşağıda yine RHEL 8.2 sistemindeki çıktıyı görebilirsiniz.
[root@shiina ~]# systemctl start grafana-server
[root@shiina ~]# systemctl status grafana-server
â— grafana-server.service – Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-01-30 23:23:12 +03; 11s ago
Docs: http://docs.grafana.org
Main PID: 337315 (grafana-server)
Tasks: 11 (limit: 75164)
Memory: 27.3M
CGroup: /system.slice/grafana-server.service
Bu işlemlerin ardından “Grafana”nın güzeller güzeli GUI’sine Şekil 1.’de olduğu gibi bağlandık. Varsayılan portu, 3000, varsayılan kullanıcı ismi ve şifresi admin/admin. Sayfaya ilk giriş yaptığınızda yeni şifre tanımlaması yapmanızı istiyor.
Şekil 1. Grafana GUI.
Zabbix’i, Grafana’ya veri kaynağı olarak göstereceğimiz için, Grafana’ya Zabbix plugin’i eklememiz gerekiyor. https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app?pg=plugins&plcmt=featured-undefined&src=grafana_plugin_list sayfasından ilgili plugin’i görebiliriz. RHEL 8.2 makinemize Zabbix plugin’i yükleyelim. Grafana’yı sisteme yükledikten sonra, grafana-cli komutumuz aşağıdaki gibi geliyor.
[root@shiina ~]# which grafana-cli
/usr/sbin/grafana-cli
[root@shiina ~]# grafana-cli
NAME:
Grafana CLI – A new cli application
USAGE:
grafana-cli [global options] command [command options] [arguments…]
VERSION:
7.3.7
AUTHOR:
Grafana Project <hello@grafana.com>
COMMANDS:
plugins Manage plugins for grafana
admin Grafana admin commands
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
–pluginsDir value Path to the Grafana plugin directory (default: “/var/lib/grafana/plugins”) [$GF_PLUGIN_DIR]
–repo value URL to the plugin repository (default: “https://grafana.com/api/plugins”) [$GF_PLUGIN_REPO]
–pluginUrl value Full url to the plugin zip file instead of downloading the plugin from grafana.com/api [$GF_PLUGIN_URL]
–insecure Skip TLS verification (insecure) (default: false)
–debug Enable debug logging (default: false)
–configOverrides value Configuration options to override defaults as a string. e.g. cfg:default.paths.log=/dev/null
–homepath value Path to Grafana install/home path, defaults to working directory
–config value Path to config file
–help, -h show help (default: false)
–version, -v print the version (default: false)
[root@shiina ~]#
“grafana-cli plugins install alexanderzobnin-zabbix-app” komutuyla Zabbix plugin’i yükleyebiliriz. Aşağıya ekran çıktısını ekledim.
[root@shiina ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
installing alexanderzobnin-zabbix-app @ 4.1.2
from: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/4.1.2/download
into: /var/lib/grafana/plugins
✔ Installed alexanderzobnin-zabbix-app successfully
Restart grafana after installing plugins . <service grafana-server restart>
[root@shiina ~]#
“Grafana-server”ı yeniden başlatmamız gerekiyor.
[root@shiina ~]# systemctl restart grafana-server
[root@shiina ~]#
Şekil 2.’de Zabbix plugin’in geldiğini görüyoruz. Ekranda gördüğünüz gibi “Enable” butonuna basmamız yeterli.
Şekil 2. Zabbix plugin.
Şimdi, Grafana’ya, Zabbix’i veri kaynağı (“data source”) olarak girmemiz gerekiyor. Grafana’nın “configuration” menüsünden, “Data Sources”ı seçmemiz gerekiyor. Seçtikten sonra Şekil 3’deki adımlar karşınıza geliyor.
Şekil 3. Zabbix veri kaynağının Grafana’ya eklenmesi.
Şekil 3.’de Zabbix’i veri kaynağı olarak eklediğimizi ve Zabbix API’sinin doğrulandığını görebiliriz. Doğrudan DB Bağlantısı özelliği ile, geçmiş verileri doğrudan Zabbix veritabanından sorgulamak için mevcut SQL veri kaynağının kullanılmasına izin verilir. Bu yöntem, özellikle geniş zaman aralıklarında Zabbix API’den veri çekmekten daha hızlıdır. Zabbix sunucum, MySQL veritabanına sahip. MySQL veritabanını da veri kaynağı olarak ekledim, Şekil 4. Veritabanını veri kaynağı olarak eklerken, veritabanına Grafana sunucudan uzak erişim olması gerekiyor. Aksi halde, “t=2021-01-31T02:16:28+0300 lvl=eror msg=”query error” logger=tsdb.mysql err=”Error 1130: Host ‘10.1.1.73’ is not allowed to connect to this MySQL server””a benzer bir mesaj alırsınız.
Şekil 4. Zabbix MySQL veritabanının veri kaynağı olarak Grafana’ya eklenmesi.
Bu işlemden sonra, Zabbix veri kaynağına, “Direct DB Connection” özelliğini aktif hale getirerek, tanımladığınız “MySQL Zabbix”i seçebiliyorsunuz, Şekil 5.
Şekil 5. “Zabbix” veri kaynağında “Direct DB Connection”ın etkinleştirilmesi.
Şimdi ise, ilk gösterge panelimizi “dashboard” oluşturacağız. Grafana’nın soldaki menüsünden “+” işaretini tıkladığınızda, “Create”in altından “Dashboard”u seçmeniz yeterli, Şekil 6. Örnek olması açısından Zabbix sunucunun “CPU idle time” ve “CPU utilization” değerlerini ekledim. Kendinize çok şık grafikler, göstergeler yapabilirsiniz. Menülerden görüldüğü gibi yapılandırabileceğimiz çok özellik var.
Şekil 6. Gösterge paneli eklenmesi. “Zabbix_Server” isimli gösterge panelini görüyorsunuz.
Örneğin aşağıda, Şekil 7., grafik değilde değer gösterir şekilde gösterge panelini değiştirdim. “CPU user time” ekledim.
Şekil 7. Değer gösteren gösterge paneli oluşturulması.
Aşağıda, Zabbix_Server’a eklediğim iki panel görülmektedir.
Şekil 8. Gösterge paneli eklenmesi.
Gördüğünüz gibi, Grafana ile Zabbix’in entegrasyonuyla çok fazla ek olanağa sahip olabilirsiniz. Ayrıca resmi Grafana Laboratuvarlarından eklentiler, ek paneller de indirilebilirsiniz. Grafana’daki hemen hemen her şey düzenlenebilir, yapılandırılabilir. Görselleştirme özelleştirilebilir, bu da şık ve güzel grafikler oluşturmamıza olanak sağlar. Ayrıca yeni kullanıcılar ekleyebilir ve izinleri de kısıtlayabiliriz.
Bu yazımda, Zabbix ve Grafana entegrasyonunu genel anlamda aktardım. Bundan sonrası sizin bu yapıları kurarak menülerinde dolaşıp, neler yapabildiğinizi keşfetmeye kalıyor. Sonraki yazımda, Zabbix ile ELK Stack yapısını nasıl izleyeceğimizi aktarıyor olacağım.
Sarav Asiye Yiğit – 31 Ocak 2021 – Pazar
Kaynakça:
https://blog.zabbix.com/configuring-grafana-with-zabbix/8007/
https://grafana.com/
https://graphiteapp.org/
https://alexanderzobnin.github.io/grafana-zabbix/configuration/
Leave A Comment