Zabbix, przebudzenie

07/12/2012

Doszliśmy do najprzyjemniejszej części konfiguracji Zabbixa. Pliku konfiguracyjnego. Banał i popierdółka (po usunięciu komentarzy). Zmieniłem go w sporym stopniu zwłaszcza w zakresie panikarskiego podejścia do procedury ponawiana testu per item w przypadku pojawienia się błędu na teście (nie rozumiem dlaczego autorzy założyli, że jeśli test zwraca błąd to powtórzenie go w przedziale 1/4 czasu standardowego interwału między testami poprawi sytuację; najwyraźniej nigdy nie czytali o przygodach Puchatka).

Rada dla początkujących z tematem Housekeeping’u w Zabbixie:

Mechanizmy housekeepingu tylko kasują dane z bazy więc wychodzić by mogło, że to pryszcz. Tyle, że kasowanie danych nie przebiega w próżni. Przy 340/400 operacjach bazodanowych na sekundę (wspaniałe: zabbix like methods) dodatkowe operacje mogą poważnie spowolnić rozwiązanie (wyłączając całkowicie z użytku warstwę monitorującą). W moim przypadku okazało się, że lepiej jest wykonywać procedury w odstępach godzinnych, dzięki czemu pełny przebieg kasowania zajmuje tylko 8 minut, niż pozwolić im wykonywać się np. co 24 godziny i pozwalać pracować przez przynajmniej 6 godzin (do 12 – otóż tak właśnie).

Przejdźmy do pliku. Po wyczyszczeniu wygląda on następująco:

# KONFIGURACJA finalna/podstawowa Zabbix'a
NodeID=0
ListenPort=10051
# pamietaj o prawach
LogFile=/var/log/zabbix/zabbix_server.log
DebugLevel=3
PidFile=/var/run/zabbix_server.pid
# popraw sobie
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
# hasło sobie wstaw własne, a moją zaślepkę zostaw w spokoju
DBPassword=mojehaslo
DBPort=3306
# zaawansowane
StartPollers=40
StartIPMIPollers=2
StartPollersUnreachable=30
StartPingers=30
StartDiscoverers=1
HousekeepingFrequency=1
MaxHousekeeperDelete=0
DisableHousekeeping=0
SenderFrequency=60
# pamiętaj o zmianach w sysctl'u
CacheSize=96M
CacheUpdateFrequency=600
StartDBSyncers=5
HistoryCacheSize=24M
TrendCacheSize=24M
HistoryTextCacheSize=32M
# a to by nie szalał z ponawianiem testów w szalonych interwałach
Timeout=3
UnreachablePeriod=180
UnavailableDelay=240
UnreachableDelay=60
# załatwiłem symlinkiem, ale można też zdeklarować
# FpingLocation=/usr/sbin/fping
%d blogerów lubi to: