4 Zabbix MeetUp Online – zapis sesji Q&A
Artykuł stanowi zapis sesji pytań i odpowiedzi po czwartym polskim Zabbix MeetUp, który odbył się 4 kwietnia 2022 roku. Sesję prowadzili pracownicy Działu Monitoringu i Projektów Rozwojowych w Aplitt, z wieloletnim doświadczeniem w pracy z Zabbixem: Robert Szulist i Mateusz Dampc.
Tematy omówione podczas meetup 4:
- Czy trapy nie zapisują się w DB
- Jaka jest rekomendowana ścieżka aktualizacji do 6.0
- Wskazówki, by zwiększyć efektywności aplikacji
- Aktualizacja szablonów dla Agentów
- Jak monitorować status zadań z task scheduler Windows
- Jak aktualizować do Agent 2 i jak to zrobić z poziomu Zabbix
- Czy istnieje oficjalny przewodnik do dostrojenia baz danych, np. Postgres
- Ułożenie natywne klastrowanie
- Dostępne webinary z poprzednich meetup’ów
Czy trapy nie zapisują się w DB?
Mateusz: Jeśli chodzi o SNMP trapy, to one zapisują się do pliku (np. temporary), ale w momencie, gdy zostaną wychwycone przez Zabbixa, to co jest pokazywane historycznie, zostanie pobrane bezpośrednio z bazy danych. Właśnie dlatego historie trapów będziemy pobierali bezpośrednio z Zabbix database.
Odpowiadając więc na pytanie: tak, jak najbardziej – zapisują się do bazy danych Zabbix, ale są również w tym pliku tekstowym, z którego Zabbix bezpośrednio wyciąga te dane.
Przymierzam się do aktualizacji Zabbix w wersji 5.2.7 CentOS 7.9. Jaka jest rekomendowana ścieżka aktualizacji do 6.0?
Robert: Na początek CentOS 8. Ponieważ Zabbix 6.0 „pójdzie” tylko na nim. Drugą kwestią są bazy danych. Zmienia się suport w zależności od wersji bazy. Jeśli chodzi o Postgres, to wymagana jest wersja 13, jeśli MySQL to tylko 8 wchodzi w grę.
Podsumowując: najpierw aktualizujemy iOS, potem bazę, potem Zabbix. Trzeba też zaktualizować szablony, które służą do monitoringu wewnętrznego Zabbix.
Czy przy wersji 6.0 macie jakieś wskazówki, by zwiększyć efektywności aplikacji?
Robert: Robert: Zabbix 6.0 przy aktualizacji wprowadza indeksy dla kolumn i tabel history (jeśli komuś zależy na indeksowaniu i optymalizacji bazy pod tym kątem, to warto to robić). Kolejna ważna zmiana – kiedyś było tak, że każdy poller miał dostęp do bazy danych. Od 6.0 tego nie ma, trzeba zwrócić uwagę, co się zmieni w środowisku.
Jeszcze jedna rzecz, która już była w 5.0, ale przypominam, bo warto z niej korzystać, to nowa metoda LLD, na podstawie pozycji zależnych zamiast z tradycyjnych LLD.Mateusz: Tak, lepiej jedną większą metrykę wyciągnąć i dzielić na mniejsze, niż kilka mniejszych i dopytywać urządzenie bezpośrednio. Rekomendujemy.
Robert: Też warto heartbeat używać, ale to też już jest od 5.0 😊 Jeśli chodzi o akcje użytkowników, wiele się nie zmieniło, natomiast wewnętrznie faktycznie można odczuć te zmiany.
Chciałem zaktualizować szablony dla Agentów, ale wyskoczył fail o istniejącym kluczu Agent hostname. Jak to wykonać zgodnie, czy zostaje usunięcie klucza i dopiero import?
Robert: Pytanie, skąd usunąć klucz. Nie znamy środowiska w zapytaniu. Zakładam, że klucz pochodzi z szablonu, który jest podlinkowany dla innego szablonu. Sprawdziłbym najpierw, czy nie warto odlinkować jakiegoś szablonu, podlinkować innego i wtedy zaimportować.
Mateusz: Tak, a jeżeli już taka pozycja istnieje bezpośrednio na hoście, jeżeli występuje na każdym serwerze, to czasami można np. z XML czy JSONa usunąć tworzenie tej konkretnej metryki.
Robert: Jeszcze bym sprawdził UID w szablonach.
Monitoring statusu zadań z task scheduler Windows – lepiej za pomocą klucza event log i aktywnego Agenta czy skryptu?
Mateusz: Zabbix wspiera jak najbardziej event log – czyli monitorujemy eventy ID na podstawie event log. Jeśli znasz taki, który odpowiada za harmonogram zdarzeń, można w tej sposób monitorować aktywnie…
Robert: Ja bym skryptu nie użył. Ze skryptem jest ten problem, że on może się „ztimeoutować”, więc maksymalny czas, jaki możecie sobie wpisać to 30 sekund. Jeśli Zabbix potrzebuje więcej, to prawdopodobnie skrypt jest kiepsko napisany pod kątem potrzeb monitoringu. Jeśli wykonuje się raz-dwa, to można zaryzykować, ale pamiętajmy, że decydowanie się na skrypt to konieczność kopiowania ręcznie lub półautomatycznie. Natomiast z Zabbix Agentem jako natywny monitoring takiego problemu nie ma i jest to łatwiejsze. Zalecałbym użyć event loga.
A co z Agentami na hostach po aktualizacji serwera Zabbix, aktualizować do Agent 2 i jak to zrobić z poziomu Zabbix?
Mateusz: Różnica pomiędzy Agentem 1 i 2 została omówiona podczas trzeciego Zabbix MeetUp Online:
Zabbix Agent, którego wybrać? | Zabbix MeetUp PL 08.11.2021
Niestety, z poziomu Zabbix nie da się zaktualizować Agenta. Musimy wykorzystać do tego moce przerobowe, np. pracowników lub użyć narzędzi do automatyzacji, np. Group policy object może się przydać. Tak naprawdę to jest taka podmianka „binarki” do Agenta.Robert: Na dobrą sprawę, technicznie nie jest to skomplikowane.
Czy jest jakiś oficjalny przewodnik do dostrojenia baz danych, np. Postgres pod potrzeby Zabbixa?
Robert: Oficjalnego nie kojarzę, ale pamiętajmy, że Zabbix jest aplikacją jak każda inna, wiec każdy oficjalny poradnik Postgres się nada. Trzeba też mieć na uwadze, że przy pewnej wielkości bazy danych/instancji może nastąpić degradacja wydajności, jeśli chodzi o proces porządkowania. Czym się to objawia? Proces housekeeper będzie przez 100% czasu na 100% i będzie się nigdy nie kończył i baza danych zamiast być stała, będzie niepokojąco przyrastała. W związku z tym to jest moment, w którym należy odpalić partycjonowanie.
Ułożenie natywne klastrowanie. Czy testowaliście Postgresa pod tym względem, czy baza jest osobną instancją, czy Zabbix server dba o przełączanie?
Robert: Zabbix server dba tylko i wyłącznie o swoją usługę. 😉. Musicie się tym państwo zająć samodzielnie i użyć mechanizmu klastrowania Postgresa. Pamiętajmy, że komunikacja między nadaniem klastra odbywa się przez tabelę bazy danych. Wszystkie NODY Zabbixa piszą do tej bazy danych, wiec nasuwa się wniosek, że bardzo ważne jest to, by stan tabeli był aktualny na wszystkich sklastrowanych nodach Postgresa. Niestety, Zabbix o to nie zadba. To nasze zadanie.
Czy dostępne są webinary z poprzednich trzech spotkań dotyczących Zabbix?
Robert: Tak, są dostępne na naszym profilu Youtube!
Optymalizacja Zabbix | Mateusz Dampc | Zabbix MeetUp Online 9.11.2020 – YouTube
Skrypty alarmowe Zabbix | Mateusz Dampc | Zabbix MeetUp Online 15.04.2021
Zabbix + Prometheus | Robert Szulist | Zabbix MeetUp Online 15.04.2021
Zabbix Agent, którego wybrać? | Zabbix MeetUp PL 08.11.2021
Zabbix Agent, którego wybrać? | Zabbix MeetUp PL 08.11.2021
Zabbix: zarządzanie makrami | Zabbix MeetUp Pl 08.11.2021
SNMP Trapy w Zabbix | Zabbix Meetup Online 2022
Zabbix. Ryzyka importu szablonów | Zabbix Meetup Online 2022
CAŁA SESJA Q&A:
Podziel się treścią: