Grafana to świetne narzędzie analityczne. Pozwala w przystępny sposób wizualizować dane. Rozwiązanie jest darmowe i pozwala na integrację z wieloma źródłami danych. Jak choćby bazy danych czy Zabbixem, który często gości u nas na blogu.

Jeżeli nie wiesz co to jest Zabbix <== to ten link Ci wszystko wyjaśni.

Zanim jednak rozwinę temat dalej to jedna informacja na początek. Prowadzę regularny, cotygodniowy newsletter z poradami związanymi z Zabbixem, monitoringiem oraz dobrymi praktykami w IT. Jeżeli nie chcesz przegapić kolejnych części oraz zaproszeń na nasze darmowe szkolenia to zapraszam do zapisu. Wystarczy pobrać mój poradnik. Monitoring IT – Dobre Praktyki. Wystarczy wejść klikając na obrazek:

Uruchomienie i instalacja Grafana

Listę źródeł na wszystkie obsługiwane systemy operacyjne znajdziesz w tym miejscu: https://grafana.com/grafana/download?src=grafana_plugin_list

W tym przykładzie zademonstruję uruchomienie Grafany na systemie Cent OS. Nie ma jednak problemu z instalacją na popularnym Windows 10.

Pobieramy Grafanę:

wget https://dl.grafana.com/oss/release/grafana-7.1.0-1.x86_64.rpm

Instalujemy:

sudo yum install grafana-7.1.0-1.x86_64.rpm

Potwierdz klawiszem “y”

Jeżeli nie masz w systemie narzędzia “wget” to zainstalujesz go za pomocą polecenia: 

sudo yum install wget

Uruchom serwer Grafany:

sudo systemctl start grafana-server

Aplikacja web Grafany pracuje na porcie 3000. Odblokuj zatem ten port:

sudo firewall-cmd –zone=public –permanent –add-port=3000/tcp

firewall-cmd –reload

Następnie wejdź na stronę panelu WWW Grafany. Jako, że w moim przypadku używam serwera z adresem IP 192.168.0.100 to adres będzie następujący http://192.168.0.100:3000/login Naturalnie w adresie musisz podać swój adres IP.

Domyślny użytkownik do zalogowania to Admin. Hasło to również Admin.

Integracja Grafana z Zabbix

Po zalogowaniu Wejdź w zakładkę Configuration.

grafana

Musisz dodać źródło danych. Aby to zrobić konieczna jest najpierw instalacja pluginu, który pozwoli na komunikację z Zabbixem. Wybierz zakładkę Plugins.

grafana

Kliknij przycisk “Find more plugins on Grafana.com”.

Wyszukaj pluginu Zabbix:

grafana

Ewentualnie, kliknij w ten link: https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app/installation?src=grafana_plugin_list Znajdziesz tam również dokładny opis instalacji i uruchomienia pluginu. Natomiast ja, opiszę Ci w skrócie jak szybko wykonać całą akcję:

Musisz teraz zainstalować plugin z poziomu CLI (linia poleceń):

grafana-cli plugins install alexanderzobnin-zabbix-app


Według oficjalnej dokumentacji Plugin powinien być już dostępny w Grafanie. Niestety, u mnie konieczny był restart Grafany. Gdyby u Ciebie była podobna sytuacja to Grafanę zrestartujesz poprzez polecenie:

sudo systemctl restart grafana-server

Wejdź jeszcze raz do Plugins:

Wejdź w Zabbix i kliknij Enable:

Plugin zainstalowany i gotowy do działania. Pora na konfigurację!

Konfiguracja Grafana

Przejdź teraz do zakładki “Data Sources”:

Kliknij przycisk “Add data source” i wybierz Zabbix.

W polu URL – wprowawdź adres swojego serwera Zabbix, a następnie dodaj “/api_jsonrpc.php“. Przykładowo, jeżeli adres IP Zabbixa to 192.168.0.100 to Twój URL będzie następujący: http:// 192.168.0.100 /zabbix/api_jsonrpc.php

Jeżeli Grafana została zainstalowana na tym samym serwerze co Zabbix to możesz po prostu podać localhost zamiast adresu IP serwera.

Wprowadź dane do API:

Username to użytkownik założony w systemie Zabbix. Oczywiście, dane podane wyżej nie są zalecane, a jedynie przykładowe. Ze względów bezpieczeństwa, sugeruję założyć użytkownika innego niż Admin. Najważniejsze, by użytkownik w Zabbixie miał uprawnienia READ do hostów, które chcemy analizować za pomocą Grafany.

Poniżej masz przykład ustawień użytkownika w Zabbixie:

Pamiętaj tylko, ze uprawnienia do grup hostów w Zabbixie nadajesz z poziomu Grup. Załóż zatem nowego użytkownika i nową grupę. Nadaj uprawnienia dla grupy, a następnie dodaj użytkownika do tej grupy. Dokładną instrukcję zakładania użytkowników w Zabbixe zamieściłem w moim podręczniku: https://asdevops.pl/zabbix/

Warto jeszcze rozważyć włączenie Trends w Grafanie:

Jest to opcja, która znacząco podnosi wydajność Grafany. Szczególnie jeżeli analizujesz dane w perspektywie dłuższej niż kilka dni. A zapewne wiele osób tak będzie chciało robić 🙂

Gdy już dokonasz konfiguracji to kliknij “Save & Test” na dole. Jeżeli wszystko działa poprawnie to powinien pojawić się napis na zielono, że Grafana wykryła wersję Zabbix:

Wykresy z Grafana

Teraz pozostaje już nam skonfigurować odpowiednie widoki i wykresy, które będą pobierały dane z Zabbixa. Na początek, podejdę do tematu trochę inaczej niż wszyscy. Jak poszukasz poradników o Grafanie to z reguły twórcy od razu pokazują jak tworzyć Dashboard.

Nie mówię, że jest to złe. Jednak zanim zaczniesz tworzyć skomplikowany widok, warto pamiętać o opcji, która pozwala na szybszy podgląd w dane i wyświetlenie wykresów. Mowa o opcji “Explore“:


Dalej możesz już wykonać zapytanie, które Cię interesuje:

I kolejno musisz wskazać:

Query Mode, czyli typ danych. Najczęściej będzie to Metrics. Szczególnie jeżeli zależy Ci na zwykłej prezentacji wykresów.

Group, Host, Application – Odpowiadają dokładnie za wskazanie konkretnych zasobów z Zabbix. Zatem jeżeli będziesz wyświetlał wykres z Hosta o nazwę “bd1” to naturalnie taki w tej zakładce wybierzesz.

Item – Naturalnie jest to Item Zabbixowy.

Przykładowo, CPU Utilization będzie wyglądać następująco:

Warto protestować różne opcje. Szczególnie “Functions” gdzie możesz uruchomić bardziej zaawansowane funkcje. Jak również dodatkowe parametry przy klawiszu “Run Query“.

Własny Widok (Dashboard) w Grafanie

Natomiast, jeżeli chcesz już zrobić stały widok, który nie będzie wymagał od Ciebie za każdym razem wybierania konkretnych wykresów to konieczne jest utworzenie Dashboardu. Zrobisz to poprzez wybranie Zakładki “Dashboard / Manage“:

Następnie, kliknij przycisk “New Dashboard” i dodaj nowy panel w tym miejscu:

Teraz wypełnij poniższe pola. Zasada jest podobna jak w przypadku opcji “Explore“, którą konfigurowaliśmy w poprzednim akapicie, więc nie będę tego tłumaczył po raz drugi:

grafana i Zabbix

Następnie wprowadź nazwę panelu i kliknij “Save“:

grafana i Zabbix

A następnie podaj nazwę Dashboardu:

grafana i Zabbix

I masz już w tym momencie utworzony pierwszy Dashboard. Na razie jeszcze ubogi, ale nic nie stoi na przeszkodzie, by dodać kolejne elementy. Np. wykresy. Jak to zrobić. Za pomocą przycisku, który zaznaczyłem na czerwono:

grafana i Zabbix

Gdy to zrobisz, pojawi się po raz kolejny, znane nam już okno do dodawania wykresów.

Warto również po testować, inne dostępne opcje wizualizacji danych:

grafana

Naturalnie, temat rozwijam w moim Kursie Zabbix. Jeżeli masz chęć to zapraszam: https://asdevops.pl/kurs/

Warto o tym pamiętać

Kilka uwag na koniec:

  • Grafana ma problemy z wersją Zabbix 5.0.1 Może niepoprawnie lub wcale wyświetlać danych. Lepiej skorzystać z nowszej wersji Zabbix.
  • Jeżeli masz problem z wykresami i zamiast danych pojawia się informacja “No data” to warto sprawdzić datę na serwerze Zabbixa. i Grafanie. Muszą być takie same strefy czasowe. Do tego, użytkownik musi mieć nadane odpowiednie uprawnienia “Read” do hostów, które są analizowane za pomocą Grafany.
  • Aby sprawdzić ustawienia czasu systemowego wprowadź komendę:

timedatectl

Jeżeli masz podobny wynik:

timezone

To lipa 😉 Ustaw naszą strefę czasową i włącz synchronizację NTP:

timedatectl set-timezone Europe/Warsaw

timedatectl set-ntp true

Zachęcam również do zapisu na mój cotygodniowy newsletter: blog.askomputer.pl/news Raz na tydzień wysyłam unikatowe materiały, których nie znajdziesz na blogu.