2 Zabbix MeetUp Online – zapis sesji Q&A cz.3
Artykuł stanowi zapis sesji pytań i odpowiedzi po pierwszym polskim Zabbix Meetup, który odbył się 9 listopada 2020r. Sesję prowadzili pracownicy Działu Monitoringu i Projektów Rozwojowych w Aplitt: Robert Szulist i Mateusz Dampc.
Z tego artykułu dowiesz się:
- Czy możemy monitorować maszyny poprzez zapytania typu SSH i odpowiednie parsowanie wyniku
- Jak wykorzystać LLD do wykrywania Podów lub kontenerów
- Jak wykorzystać LLD do wykrywania kontenerów
- Wersja – 5.0 czy 5.2
- Jak z JSONa zwróconego z deploymentu utworzyć osobne itemy
- Wartości konfiguracji serwera
- Przykłady o LLD overridess
- Czy jest alternatywa dla web scenario dla Zabbix Agenta oprócz user parameters lub system run
- Zasady doboru start start Vmware collectors
- W jaki sposób skonfigurować bazę danych Zabbixa
Czy możemy monitorować maszyny poprzez zapytania typu SSH i odpowiednie parsowanie wyniku?
Mateusz: Owszem. Zabbix wspiera pozycje typu SSH, Telnet, dzięki którym możemy właśnie odpytywać konkretne polecenia, nasze maszyny jak np. Linux, Cisco, Juniper i tym podobne. Więc jak najbardziej można parsować wyniki np. poprzez preprocessing JavaScript, regexy (wyrażenia regularne).
Robert: Ja tylko dopowiem, że sprawdzenia poprzez SSH i Telnet są fajne, natomiast nie jest to interaktywna konsola, więc to jest na zasadzie, że Zabbix się łączy przez SSH, wykonuje polecenie i zgarnia standardowe wyjście. Natomiast nie ma opcji takiej, że wszystko jest jakoś tak live. Tylko strzał i odpowiedź i tyle.
Jak wykorzystać LLD do wykrywania Podów lub kontenerów?
Robert: Zasadniczo, jeśli chodzi o kontenery to jest w miarę prosta sprawa, ponieważ Zabbix Agent 2 ma natywny klucz do wykrywania kontenerów na danym systemie i generalnie wykryje wszystkie ID.
Mateusz: Warto wspomnieć, że to jest Docker, że chodzi tutaj właśnie o Dockera. Zabbix Agent 2 natywnie wspiera monitorowanie kontenerów Dockera.
Robert: Dockera na pewno, ale nie byłbym taki szybki, jeżeli chodzi o ocenianie tego czy np. Podmana by nie wykrył albo innych.
Mateusz: Jeżeli są moduły, to jak najbardziej by wykrył.
Robert: Kontenery Dockerowe na bank natywnie wykrywa, a czy Podmana na przykład, to jest do przetestowania, więc jeżeli mamy jakąś maszynkę, gdzie działają same kontenery odpalone, na przykład z Docker compose, to jak najbardziej Zabbix Agent 2 nam pomoże bardzo elegancko. Natomiast, jeżeli chodzi o wykrywanie Podów, to w tym miejscy bym się skusił po prostu o API Kubernetesowe, żeby zgarnąć listę Podów i na podstawie tego zrobić monitoring.
Mateusz: Czyli – mniej więcej coś takiego, jak Robert tu nam dzisiaj zaprezentował. I warto też wspomnieć, że można przejrzeć listę wszystkich wspieranych kluczy natywnych na oficjalnej dokumentacji Zabbixa. Dlatego w tej sytuacji odwołałbym się bezpośrednio do dokumentacji Zabbixa Agent 2.
Jaka to wersja – 5.0 czy 5.2?
Robert: U mnie była 5.2.
Mateusz: Robert zaprezentował na 5.2, a dzisiaj (tj. 9.11.2020) wyszła wersja 5.2.1.
Mateusz: Czyli – mniej więcej coś takiego, jak Robert tu nam dzisiaj zaprezentował. I warto też wspomnieć, że można przejrzeć listę wszystkich wspieranych kluczy natywnych na oficjalnej dokumentacji Zabbixa. Dlatego w tej sytuacji odwołałbym się bezpośrednio do dokumentacji Zabbixa Agent 2.
Co należałoby zrobić, aby z JSONa zwróconego z deploymentu utworzyć osobne itemy?
Robert: Pozycje zależne albo dependent items. I do tego preprocessing JSONPath.
Czy coś stoi na przeszkodzie, aby wartości w konfigu serwera np. pollerów itd. celowo ustawić znacząco wyższe, w zamyśle mając mocne rozszerzenie monitoringu w przyszłości. Czy samo przegięcie z tymi wartościami odbija się w jakiś w znaczący sposób na pracy serwera w tym przypadku? Chodzi o to, by ustawić raz i zapomnieć o tym na dłuższy czas?
Mateusz: Pozycje zależne albo dependent items. I do tego preprocessing JSONPath.
Robert: Jak rozmawialiśmy z ludźmi od supportu Zabbixa, to mówili, że najczęściej popełniane są dwa błędy dotyczące konfiguracji Zabbixa. Pierwszy to ustawienie domyślnego konfiga, a drugi to żeby wszystko na maxa ustawić. Więc nie róbmy ani jednego, ani drugiego.
Czy w przypadku hosta wykrytego przez discovery działa ta sama zasada dla odkrytych itemów, które nie zostały wykryte przez x czasu czy zostanie on usunięty?
Mateusz: Jeśli chodzi o regułę wykrywania to mamy specjalne ustawienie „keep lost resources period”, jeżeli ustawimy tam wartość zero, to przy następnej regule wykrywania automatycznie się dane usuną, czyli nasze hosty. Ewentualnie, jeśli ustawimy na np. 30 dni, to dopiero po 30 dniach.
Robert: Mateusz, odpowiedz na to: tak 😊
Gdzie znajdę więcej przykładów o LLD overrides?
Renats: Pierwszym miejscem jest podstrona z dokumentacją na stronie www Zabbixa, kolejnym miejscem jest YouTube. Mamy tam oficjalny kanał, na którym moi koledzy wrzucają tam materiały, a ostatnio został dodany film o LLD overrides, który polecam.
Czy jest alternatywa dla web scenario dla Zabbix Agenta oprócz user parameters lub system run?
Mateusz: Web scenarios ma swoje ograniczenia. Nie może przetwarzać chociażby JavaScript. Jeżeli chodzi o wyciąganie danych z web scenario czy np. jakiegoś JSONa to zalecamy korzystanie z typu itemu agent http jako alternatywa. Zabbix domyślnie wykorzystuje bibliotekę libcurl, dzięki czemu takie dane możemy wyciągnąć, więc myślę, że to o tę alternatywę chodzi. Ewentualnie zastosowanie jakiegoś np. Selenium do monitoringu web scenarios wraz ze stronami, które wspierają JavaScript.
Robert: Skupmy się na odpowiedzi na pytanie. Generalnie to można użyć external scriptów oprócz user parameter i system run albo skrypt, który będzie nam wchodził w crontabie i wysyłał Zabbix Senderem.
Prośba o powtórzenie zasady doboru start Vmware collectors.
Mateusz: Web scenarios ma swoje ograniczenia. Nie może przetwarzać chociażby JavaScript. Jeżeli chodzi o wyciąganie danych z web scenario czy np. jakiegoś JSONa to zalecamy korzystanie z typu itemu agent http jako alternatywa. Zabbix domyślnie wykorzystuje bibliotekę libcurl, dzięki czemu takie dane możemy wyciągnąć, więc myślę, że to o tę alternatywę chodzi. Ewentualnie zastosowanie jakiegoś np. Selenium do monitoringu web scenarios wraz ze stronami, które wspierają JavaScript.
Robert: Skupmy się na odpowiedzi na pytanie. Generalnie to można użyć external scriptów oprócz user parameter i system run albo skrypt, który będzie nam wchodził w crontabie i wysyłał Zabbix Senderem.
W jaki sposób skonfigurować bazę danych Zabbixa?
Robert: Generalnie jest parę poleceń do wpisania. Zasadniczo, to z takich ogólnych rzeczy to, żeby mieć tyle RAMu, żeby się baza zmieściła bez problemu, żeby mieć tak ustawioną bazę danych, żeby zżerała ok. 75% dostępnego RAMu i żeby mieć podłączony szybki storage, bo to jest coś, co powoduje ubijanie bazy. Dlatego zamiast dysków talerzowych – raczej SSD, chyba że nie lubimy palić SSDków, to najlepiej jakąś macierz podczepić i w tym momencie to będzie rozwiązanie.
KONIEC CZĘŚCI TRZECIEJ. OSTATNIEJ. POZOSTAŁE CZĘŚCI SESJI:
Podziel się treścią: