Integracje / Zabbix i Grafana

Integracja AI z Zabbix i Grafana

Podłączamy Zabbix API (trigger.get, event.get, history.get), adnotacje z Grafany i zapytania PromQL z Prometheusa. Asystent streszcza noc w jednym akapicie, grupuje alerty według wspólnej przyczyny i wypełnia szkic wpisu do rejestru incydentów.

Umówcie 15 minut o Zabbix i Grafana → ☎ 691 10 20 10

Rozmowa trwa 15 minut. Dzwonimy my, nic nie trzeba instalować.

Po rozmowie dwa tygodnie za darmo. Jeśli uznamy, że u Was to ma sens, uruchamiamy Wam własną platformę podłączoną pod Zabbix i Grafana. Bez umowy i bez karty.

Czym jest Zabbix i Grafana

Zabbix to platforma do monitorowania infrastruktury IT: zbiera metryki z serwerów, urządzeń sieciowych i aplikacji w tak zwanych items, a gdy któryś z nich przekroczy skonfigurowany próg, tworzy trigger i zapisuje event ze znacznikiem czasu w polu event.clock. Każdy event ma status PROBLEM lub OK oraz poziom severity: Information, Warning, Average, High lub Disaster. Grafana sama metryk nie zbiera, lecz łączy się ze źródłami takimi jak Prometheus, InfluxDB czy Zabbix i udostępnia dashboardy, reguły alertów i adnotacje.

Na co dzień administrator sprawdza wykresy w Grafanie, reaguje na alerty wysyłane mailem przez Zabbix i ręcznie przegląda zdarzenia z poprzedniej nocy. Dane Zabbix trafiają do bazy danych, najczęściej MySQL, PostgreSQL lub TimescaleDB. Prometheus przechowuje metryki jako szeregi czasowe na dysku serwera. Żadne z tych narzędzi nie grupuje alertów według przyczyny ani nie sygnalizuje, że dana metryka konsekwentnie rośnie od trzech tygodni.

Co podłączamy w Zabbix i Grafana

  • Triggery i eventy Zabbix z polem severity i znacznikiem event.clock
  • Historia metryk CPU, RAM i IOPS dysku z Zabbix history.get za 30 dni
  • Adnotacje Grafana przez Service Account z endpointu /api/annotations
  • Szeregi czasowe Prometheusa przez endpoint /api/v1/query_range
  • Komentarze administratora z pola event.acknowledges w zdarzeniach Zabbix

Zakres ustalamy pod Was. Zaczynamy od odczytu danych, a zapis i akcje włączamy dopiero wtedy, gdy sami tego chcecie.

O co pytają w praktyce

Pytania zadaje się po polsku, jak koledze z pracy.

„Czy w nocy był jakiś poważny problem na serwerach produkcyjnych?"

„Ile miejsca zostało na partycji /var/log i kiedy się skończy?"

„Co wywołało kaskadę alertów wczoraj po północy?"

„Czy rejestr incydentów za ten miesiąc jest kompletny?"

Co dokładnie podłączamy w Zabbix i Grafana

Obszar po obszarze: jakie dane czytamy i co asystent z nich robi. To lista z realnego wdrożenia, nie katalog możliwości.

Triggery i eventy Zabbix

CzytamyAktywne i zamknięte triggery z polami severity, status PROBLEM/OK i znacznikiem event.clock dla każdego zdarzenia

AsystentTworzy poranny raport z poprzedniej nocy, zaznacza, które triggery wróciły do OK samoistnie, a które wymagają uwagi

Historia metryk Zabbix

CzytamyWartości CPU, RAM i IOPS dysku z history.get za 30 dni z pełną rozdzielczością czasową

AsystentWykrywa metryki rosnące w stałym tempie i sygnalizuje ryzyko awarii, zanim skonfigurowany próg triggera zostanie przekroczony

Grupy i nazwy hostów

CzytamyPola host.name i hostgroup.name z metody host.get, w tym podział na środowisko produkcyjne i staging

AsystentUzupełnia szkic rejestru incydentów nazwami dotkniętych systemów i grupuje alerty według środowiska, nie miesza produkcji ze stagingiem

Recovery clock zdarzeń

CzytamyPole r_clock z eventów Zabbix oznaczające moment, w którym trigger przeszedł ze stanu PROBLEM do OK

AsystentWylicza czas trwania każdego incydentu i wstawia go automatycznie do pola 'Czas trwania' w szkicu wpisu do rejestru

Adnotacje i alerty Grafana

CzytamyAdnotacje z endpointu /api/annotations i reguły alertów z /api/alerts, pobierane przez Service Account z rolą Viewer

AsystentWyciąga komentarze wpisane ręcznie przez administratora na wykres i dołącza je do opisu incydentu jako kontekst ludzki

Szeregi czasowe Prometheusa

CzytamyWyniki zapytań PromQL z /api/v1/query_range za dowolny przedział, w tym custom countery błędów HTTP 5xx

AsystentSprawdza, czy liczba błędów aplikacji lub czas odpowiedzi bazy rośnie tydzień po tygodniu, bez czekania na wyzwolenie triggera

Komentarze do zdarzeń Zabbix

CzytamyPole event.acknowledges zawierające wpisy administratora wpisane podczas ręcznej obsługi alertu w interfejsie Zabbix

AsystentPrzenosi opisane działania naprawcze do sekcji 'Działania naprawcze' szkicu rejestru incydentów, bez konieczności przepisywania

Co się zmienia

Administrator zamiast przeglądać dziesiątki maili z Zabbix dostaje rano gotowe streszczenie, pogrupowane przyczyny alertów i szkic wpisu do rejestru incydentów.

Asystent stoi na Waszym serwerze i łączy się z Zabbix i Grafana na Waszych uprawnieniach. Dane nie wychodzą do zewnętrznych usług, a każdy odczyt i każda akcja zostawiają ślad w logu. Zakres uprawnień ustalacie Wy, więc asystent widzi dokładnie tyle, ile ma widzieć.

Nie wymieniamy Wam programu i nie zmuszamy nikogo do zmiany nawyków. Zabbix i Grafana zostaje tam, gdzie jest, razem z historią danych i przyzwyczajeniami zespołu.

Jak łączymy się z Zabbix i Grafana

Do Zabbix łączymy się przez endpoint /api_jsonrpc.php kontem z rolą Zabbix User (Read-only w sekcji User roles). Wywołujemy metody trigger.get, event.get, history.get i host.get wyłącznie w trybie odczytu: żadnych zmian w triggerach, hostach ani konfiguracji. W Grafanie zakładamy Service Account z rolą Viewer i tokenem wygenerowanym w jej ustawieniach. Prometheus nie wymaga autoryzacji w podstawowej konfiguracji, ale można go ograniczyć przez reverse proxy z tokenem Bearer.

Agent stoi na serwerze klienta, w tej samej sieci co Zabbix i Grafana, więc dane monitoringu nie opuszczają firmowej infrastruktury. Odpytuje źródła cyklicznie co kilka minut albo reaktywnie po pojawieniu się alertu o severity High lub Disaster. Zapis jest możliwy tylko w docelowym miejscu raportu: Confluence, Notion, GLPI lub kanał Slack, i zawsze po zatwierdzeniu przez administratora.

Czego potrzebujemy od Was

  • Konto read-only w Zabbix z rolą Zabbix User i dostępem do API na /api_jsonrpc.php
  • Service Account z rolą Viewer w Grafanie i wygenerowany token dostępu
  • Dostęp sieciowy do endpointu Prometheusa /api/v1/query_range, opcjonalnie z tokenem Bearer
  • Osoba po stronie klienta znająca podział hostów na grupy i środowiska (produkcja / staging)
  • Wskazane miejsce docelowe raportów: Confluence, Notion, GLPI lub kanał Slack do incydentów

Gdzie to działa najlepiej

Administrator IT

Przychodzi rano do biura i zamiast przeglądać kilkadziesiąt maili z Zabbix musi ocenić, czy w nocy cokolwiek wymagało interwencji. Przy spokojnej nocy i tak zajmuje to pół godziny.

Z asystentem: Asystent dostarcza jeden akapit z listą zdarzeń, wskazaniem pierwotnej przyczyny kaskady alertów i informacją, że wszystkie eventy zamknęły się samoistnie. Administrator decyduje w 20 sekund.

Kierownik techniczny

Przygotowuje miesięczne zestawienie incydentów dla zarządu i musi zebrać daty, czasy trwania i dotknięte systemy z ostatnich 30 dni. Rejestr jest niekompletny, bo wpisywanie go odkładano.

Z asystentem: Asystent generuje zestawienie na podstawie danych z Zabbix, z polami event.clock i r_clock, bez przekopywania archiwum maili. Kierownik weryfikuje, uzupełnia kontekst i zatwierdza.

Inżynier dyżurny

W środku nocy dostaje powiadomienie o pięciu równoczesnych alertach na różnych serwerach i musi ustalić, który z nich jest przyczyną, a które tylko reagują na problem na bazie danych.

Z asystentem: Asystent analizuje timeline eventów według pola event.clock i wskazuje hosta, na którym trigger zapalił się pierwszy. Diagnoza skraca się z kilkunastu minut do jednej minuty.

Jak to uruchamiamy

  1. Rozmowa 15 minut. Mówicie, na czym pracujecie i co Was korkuje. Mówimy, czy da się to spiąć.
  2. Podłączenie i pierwsze pytania. Zaczynamy od odczytu, na Waszym serwerze, w zakresie który zatwierdzacie.
  3. Rozszerzanie. Dokładamy kolejne moduły i akcje, gdy zespół już ufa temu, co dostaje.

Koszt: od 3 000 zł miesięcznie. W tym wdrożenie, integracja, szkolenie zespołu i opieka. Widełki na Wasz przypadek podajemy na tej pierwszej rozmowie, bez ofert na dwadzieścia stron.

Chcecie najpierw poczytać konkrety: jakie moduły ruszamy, jakie dane bierzemy i czego potrzebujemy po Waszej stronie?

Cały opis integracji z Zabbix i Grafana →

Czego asystent nie robi

Żebyście wiedzieli, gdzie kończy się jego rola, zanim zaczniecie.

  • Nie zmienia triggerów, hostów ani żadnych ustawień w Zabbix, nawet jeśli wykryje błędnie ustawiony próg alertu
  • Nie wysyła raportów do żadnego miejsca bez wcześniejszego wskazania przez firmę kanału i formy zatwierdzenia
  • Nie stawia diagnozy technicznej: wskazuje hipotezę na podstawie timeline'u, decyzję o naprawie podejmuje administrator
  • Nie analizuje logów ani metryk z systemów, które nie eksportują danych do Zabbix, Grafany ani Prometheusa

Pytania o integrację z Zabbix i Grafana

Czy integracja wymaga zmian w konfiguracji Zabbix lub Grafany?

Nie. Tworzymy tylko osobne konto z uprawnieniami Read w Zabbix i Service Account z rolą Viewer w Grafanie. Triggery, hosty, grupy, progi alertów i dashboardy pozostają bez zmian. Dla reszty zespołu korzystającego z Zabbix integracja jest niewidoczna.

Co asystent robi, gdy w nocy nie było żadnych alertów?

Wysyła krótki raport z informacją, że noc minęła bez zdarzeń o skonfigurowanym minimum severity. To też jest wartościowa informacja: administrator widzi, że system pracował i raport faktycznie dotarł, a nie że po prostu nic nie zgłoszono.

Czy asystent poradzi sobie z niestandardowymi triggerami firmy?

Tak. Agent czyta dane przez API niezależnie od tego, jak trigger jest skonfigurowany: własne progi, niestandardowe nazwy, firmowe szablony. Wszystko pojawia się w polach event.get i trigger.get. Może być potrzebna krótka kalibracja, żeby asystent wiedział, które hosty to produkcja, a które środowiska testowe.

Gdzie trafia szkic wpisu do rejestru incydentów?

To konfigurujemy przed uruchomieniem: może to być ticket w GLPI, strona w Confluence lub Notion, wiadomość na kanale Slack albo plik. Szkic zawsze czeka na zatwierdzenie przez człowieka. Żaden wpis nie pojawia się sam w rejestrze bez akceptacji administratora lub inżyniera dyżurnego.

Piętnaście minut o Zabbix i Grafana

Wybierzcie termin z kalendarza. Na rozmowie powiemy wprost, co da się u Was podłączyć, ile to trwa i ile kosztuje. Jeśli nie ma czego automatyzować, też to powiemy. A jeśli ma, dostajecie 14 dni działającej platformy podłączonej pod Zabbix i Grafana, żeby sprawdzić to na własnych danych zamiast wierzyć nam na słowo.

Wybierzcie termin → Wolicie napisać?

Zabbix i Grafana jest znakiem towarowym swojego właściciela. Nie jesteśmy z nim powiązani ani przez niego autoryzowani. Nazwy używamy wyłącznie po to, żeby wskazać, z jakim programem integrujemy asystenta.