Disk overvåking med Zabbix

Vi har i de siste ukene fått på plass alle delene som trengs for å få et oppgradert opplegg for overvåking av disker i Zabbix.

Vi har i de siste ukene fått på plass alle delene som trengs for å få et oppgradert opplegg for overvåking av disker i Zabbix.

Type alarmer vi kan få nå har endret seg fra de vi fikk i gamle dager, og dette dokumentet skal prøve å forklare det vi har i produksjon per i dag.

I første omgang har vi implementert dette for disker som er installert på Linux servere. Lik funksjonalitet kommer om ikke så lenge for HNAS virtuelle filsystemer og volumer, og vi ønsker å få det også ganske snart på alle Windows servere.

Ideen er at rapportering av diskplass-mangel på et lagringsområde skal håndteres likt uavhengig av operativsystem og infrastruktur som leverer diskplassen.

Måleverdier

Zabbix oppdager automatisk alle filsystemer som er tilgjengelige på en maskin. For disse filsystemer samles disse verdier:

  • Free disk space in bytes
  • Free disk space in %
  • Free inodes
  • Free inodes in %
  • Total disk space in bytes
  • Total number of inodes
  • Used disk space in bytes
  • Used disk space in %
  • Used inodes
  • Used inodes in %

Alarmer

Disse måleverdier brukes for å generere forskjellige type alarmer:

  Severity   Name 
1 High The disk is full
2 High The disk has no free inodes
3 High The disk will fill within 2 hours at the current growth ratio
4 Average The disk has used more than {$MAX_DISK_USED_PERCENT}% of total diskspace
5 Average The disk has used more than {Percent custom value}% of total diskspace
6 Average The disk has less than {Size custom value} free diskspace
7 Warning The disk will fill within 3 days at the current growth ratio
8 Warning The disk has less than {$MIN_INODES_FREE_PERCENT}% free inodes
9 Warning The disk has used more than {$MAX_DISK_GROWTH_PERCENT}% of the disk space in the last hour

I tillegg har vi logikk på plass for å unngå unødvendig alarmer, e.g. Hvis en disk er full (alarm:1) vises ikke alarmer 3,4,5,6,7 eller 8. Eller hvis man har definert en {Percent custom value} vises alarm 5 og ikke 4, osv.

Default verdier

Per default får man disse alarmer aktivert: 1,2,3,4,7,8 og 9 på alle filsystemene. Alarmer 4,8 og 9 aktiveres når disse default grenser overstiges:

  • {$MAX_DISK_USED_PERCENT} = 95%
  • {$MIN_INODES_FREE_PERCENT} = 2%
  • {$MAX_DISK_GROWTH_PERCENT} = 60%

Så hvis man er fornøyd med disse grenser, trenger man ikke å gjøre noe for å få overvåking av diskene sine og få generert alarmer når det trengs.

Custom grenser for alle filsystemer i en server

Man kan overstyre disse grenser ved å definere Zabbix "User-macros" på den serveren det gjelder via https://monitor.uio.no/ eller zabbix-cli (Man kan gjøre dette på de servere man har RW rettigheter på, fordi de er registrert i din Siteadmin-* hostgruppe). Definering av User-macros kan gjøres slik via webgrensesnittet:

  1. Bruk Search: <hostname> øverst, på høyre side for å finne serveren hvor man skal definere tilpassede grenser.
  2. Velg hostname lenken du får i  resultatet
  3. Velg "Macros" i tab'ene under CONFIGURATION OF HOSTS
  4. Definer de macroer du vil overstyre og de nye verdier du vil ta i bruk.
    e.g. Macro: {$MAX_DISK_USED_PERCENT} / Value: 90
     
  5. Trykk på "Save"

Custom grenser for kun noen filsystemer i en server

Vi kan også overstyre grenser som genererer visse alarmer kun for noen filsystemer i en server. Ønsker man å få alarmer av type 5 eller 6, må dette gjøres med disse custom grenser. Man kan ikke få alarmer av type 5 og 6 samtidig. Enten får man alarmer basert på prosenten av disk som er i bruk eller man får alarmer basert på hvor mye ledig plass som finnes i disken. Denne siste muligheten er veldig nyttig hvis man har store disker med mye plass hvor 5-10% ledig plass utgjør mange hundre GB.

Disse grenser kan definereres i filen /etc/zabbix_filesystems_limits.conf på den maskinen som gjelder.

Formatet som må brukes i denne filen er en linje per filsystem man vil definere tilpassede grenser:

<filesystem>::<max_used_percent_limit>::<minimun_free_size_limit>

<filesystem> kan matche et spesifisert mønster i henhold til reglene som brukes av Unix shell, *, ? og [ ] kan brukes.

Definerer man både <max_used_percent_limit> og <minimun_free_size_limit> aktiveres det kun alarmer av type 6.

Noen eksempler:

# Define only a max_used_percent_limit = 90% for <filesystem>
<filesystem>::90::

# Define only a minimun_free_size_limit = 2G for <filesystem>
<filesystem>::::2G

# Define max_used_percent_limit = 90% and minimun_free_size_limit
# = 2G for <filesystem> 
<filesystem>::90::2G

# Filesystem /mnt/my_filesystem max used limit will be 90%:
/mnt/my_filesystem::90::

# Filesystems starting with /mnt/ minimun free limit will be 2048M:
# /mnt/*::::2048M

# Filesystems starting with /mnt/ and a or b in the path third level
# minimun free limit will be 5TB: 
/mnt/*/[ab]*::::5T

Stoppe generering av alarmer for noen filsystemer

Man kan også stoppe generering av alarmer fra noen filsystemer i en server.

Dette kan definereres i filen /etc/zabbix_filesystems_not_monitored.conf på den maskinen det gjelder.

Formatet som må brukes i denne filen er en linje per filsystem man ikke vil overvåke :

<filesystem>

<filesystem> kan matche et spesifisert mønster i henhold til reglene som brukes av Unix shell, *, ? og [ ] kan brukes.

Konvertering fra Nagios til Zabbix

For de som hadde tilpassede grenser i Nagios, har vi prøvd å konvertere dette til riktig Zabbix format. Både /etc/zabbix_filesystems_limits.conf og /etc/zabbix_filesystems_not_monitored.conf har blitt generert fra data som var definert i /etc/usit/disks.cfg (rhel5) eller /etc/uio/conf/disks.cfg (rhel6) hvis de eksisterte. Verdien som har blitt overført til Zabbix er den som definerte en "Warning" i Nagios.

Det kan hende at vi ikke har klart å konvertere en filsystem definisjon hvis man brukte "regular expressions" for å definere filsystemet i Nagios. I disse tilfeller har vi fått nagios definisjonen som en kommentar i  /etc/zabbix_filesystems_limits.conf og/eller /etc/zabbix_filesystems_not_monitored.conf. Brukere som brukte "regular expressions" burde sjekke disse filene på de servere de har ansvar for.

Notifications

Per default sender vi ikke beskjed når en alarm fra en disk genereres. I fremtiden håper vi å få felles rutiner for håndtering av disk alarmer, hva skal varsles, hvordan, hvor ofte, og til hvem. Men i mellomtiden må hver driftgruppe bestemme dette selv. Dere kan også definere disse varslinger selv via https://monitor.uio.no/.

Dokumentasjon på  hvordan man definerer sending av informasjon når en alarm genereres finnes i Zabbix dokumentasjonen, "Notifications upon events"

Husk at man kan bruke MACROS for å tilpasse beskjeden som sendes. Dette er et eksempel på subject og beskjed som kan brukes når man definerer en "Action" når en alarm relatert til disker genereres:

Default subject:
[Disk][{HOST.NAME}]: {TRIGGER.NAME}

Default message:
--------------------------------------------------------------------
Action ID: {ACTION.NAME} ({ACTION.ID})
Original event ID: {EVENT.ID}
--------------------------------------------------------------------
Host: {HOST.NAME}
Site-admin: {INVENTORY.POC.PRIMARY.EMAIL}

Alarm: {TRIGGER.NAME}
Alarm status: {TRIGGER.STATUS}
Alarm severity: {TRIGGER.SEVERITY}
Alarm URL: {TRIGGER.URL}

Event information:
https://monitor.uio.no/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}

--------------------------------------------------------------------
Notifications history
--------------------------------------------------------------------
 {ESC.HISTORY}
--------------------------------------------------------------------
 

Hvis dere vil sende varslinger via epostlister, SMS eller Chat kanaler som ikke eies av en bruker må man per i dag bestille en dedikert "notification bruker" til dette via usit-gid@usit.uio.no Send oss informasjon om Epostliste adresse, telefonnummer eller chat kanal dere vil sende varslinger til så vi kan opprette brukeren i Zabbix. Etter at vi har opprettet brukeren, blir den tilgjengelig i Zabbix og dere kan velge det når dere definerer en "Action". 

 

 

Emneord: zabbix, overvåking, monitoring, disk, alarmer, triggers Av Rafael Martinez Guerrero
Publisert 13. des. 2015 14:05 - Sist endret 22. mars 2019 12:47
Legg til kommentar

Logg inn for å kommentere

Ikke UiO- eller Feide-bruker?
Opprett en WebID-bruker for å kommentere