- 1 Trigeru piemēri
- Noteikt nepieejamu hostu
- Noteikt nepieejamu starpniekserveri
- Noteikt nepieejamu SMTP klasteri
- Noteikt nesasniedzamu hostu
- Noteikt negaidītu pārstartēšanu
- Noteikt izmaiņas svarīgos failos
- DNS vaicājuma izmaiņu noteikšana
- Noteikt neatbilstošu programmatūru dažādos hostos
- Noteikt nesinhronizētus pulksteņus
- Noteikt novecojušu aģentu
- Noteikt interfeisu ar nestabilu darbību
- Noteikt lielu ienākošo datplūsmu
- Noteikt mazu brīvās diska vietas apjomu
- Noteikt mazu diska vietas apjomu (dinamisks slieksnis)
- Noteikt augstu CPU noslodzi
- Salīdzināt CPU slodzi
- Salīdzināt ilgtermiņa CPU slodzes
- Noteikt virkni, kas satur speciālās rakstzīmes
1 Trigeru piemēri
Šajā lapā ir apkopoti trigeru piemēri.
Piemēri ir sakārtoti pēc lietošanas gadījuma:
- Nepieejams hosts
- Nepieejams starpniekserveris
- Nepieejams SMTP klasteris
- Nesasniedzams hosts
- Negaidīta pārstartēšana
- Izmaiņas svarīgos failos
- Izmaiņas DNS vaicājumā
- Neatbilstoša programmatūra dažādos hostos
- Nesinhronizēti pulksteņi
- Novecojis aģents
- Nestabila saskarne
- Liela ienākošā datplūsma
- Maz brīvas diska vietas
- Maz brīvas diska vietas (dinamisks slieksnis)
- Liela CPU noslodze
- CPU noslodzes salīdzinājums
- Ilgtermiņa CPU noslodzes salīdzinājums
- Virkne, kas satur speciālās rakstzīmes
Noteikt nepieejamu hostu
max(/host/zabbix[host,agent,available],5m)=0
Šis trigeris nostrādā, ja Zabbix aģents hostā ir bijis nepieejams 5 minūtes.
Funkcija: max
Datu vienums: zabbix[host,agent,available]
Alternatīva:
nodata(/host/agent.ping,5m)=1
Šis trigeris nostrādā, ja no Zabbix aģenta 5 minūšu laikā nav saņemti dati.
Funkcija: nodata
Datu vienums: agent.ping
Noteikt nepieejamu starpniekserveri
fuzzytime(/host/zabbix[proxy,{$PROXY_NAME},lastaccess],1m)=0
Šis trigeris nostrādā, ja Zabbix starpniekservera dati atpaliek no Zabbix servera laika par 1 minūti.
Funkcija: fuzzytime
Datu vienums: zabbix[proxy,{$PROXY_NAME},lastaccess]
Noteikt nepieejamu SMTP klasteri
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
Šis trigeris nostrādā, ja abi SMTP serveri nav pieejami.
Funkcija: last
Datu vienums: net.tcp.service
Noteikt nesasniedzamu hostu
count(/host/icmpping,30m,,"0")>5
Šis trigeris nostrādā, ja hosts pēdējo 30 minūšu laikā ar ping nav sasniedzams vairāk nekā 5 reizes.
Funkcija: count
Datu vienums: icmpping
Noteikt negaidītu pārstartēšanu
change(/host/system.uptime)<0
Šis trigeris nostrādā, ja tiek konstatēta negatīva sistēmas darbības laika vērtības izmaiņa (norādot uz pārstartēšanu).
Funkcija: change
Datu vienums: system.uptime
Noteikt izmaiņas svarīgos failos
last(/host/vfs.file.cksum[/etc/passwd],#1)<>last(/host/vfs.file.cksum[/etc/passwd],#2)
Šis trigeris nostrādā, ja /etc/passwd ir mainīts. Izteiksme ir patiesa, ja iepriekšējā /etc/passwd kontrolsumma atšķiras no jaunākās. Līdzīgas izteiksmes var būt noderīgas, lai uzraudzītu izmaiņas svarīgos failos, piemēram, /etc/passwd, /etc/inetd.conf, /kernel u.c.
Funkcija: last
Datu vienums: vfs.file.cksum
DNS vaicājuma izmaiņu noteikšana
last(/Zabbix server/net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME} {$DNS_RESOURCE_RECORD_TYPE} 0 mail.{$WEBSITE_NAME}"
Pievērsiet uzmanību pēdiņām ap otro operandu.
Šis trigeris nostrādā, ja vaicājuma rezultāts nav vienāds ar to, ko tas parasti atgriež:
example.com MX 0 mail.example.com
Funkcija: last
Datu vienums: net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1], ar definētajiem makrosiem:
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
Noteikt neatbilstošu programmatūru dažādos hostos
last(/host/vfs.file.contents[/etc/os-release])<>last(/host2/vfs.file.contents[/etc/os-release])
Šis trigeris nostrādā, ja Ubuntu versija dažādos hostos atšķiras. Ņemiet vērā, ka šeit operandi ir funkcijas, kas atgriež virknes.
Funkcija: last
Datu vienums: vfs.file.contents
Noteikt nesinhronizētus pulksteņus
fuzzytime(/host/system.localtime,10s)=0
Trigeris nostrādā, ja klienta lokālais laiks un Zabbix servera laiks atšķiras par vairāk nekā 10 sekundēm.
Funkcija: fuzzytime
Datu vienums: system.localtime
Ņemiet vērā, ka system.localtime Zabbix aģentam jākonfigurē kā pasīvā pārbaude; Zabbix aģentā 2 to var konfigurēt kā aktīvo pārbaudi.
Noteikt novecojušu aģentu
find(/host/agent.version,,"like","beta")=1
Šis trigeris nostrādā, ja Zabbix aģentam ir beta versija. Zabbix aģents ir jājaunina.
Funkcija: find
Datu vienums: agent.version
Noteikt interfeisu ar nestabilu darbību
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5
Šis trigeris nostrādā, ja eth0 darbības stāvoklis (up/down/unknown) stundas laikā ir mainījies vairāk nekā 5 reizes.
Funkcija: changecount
Datu vienums: vfs.file.contents
Noteikt lielu ienākošo datplūsmu
min(/host/net.if.in[eth0,bytes],5m)>100K
Šis trigeris nostrādā, ja saņemto baitu skaits uz eth0 pēdējo piecu minūšu laikā vienmēr bija lielāks par 100 kilobaitiem. Iespējams, kāds lejupielādē lielu failu.
Funkcija: min
Datu vienums: net.if.in[eth0,bytes]
Noteikt mazu brīvās diska vietas apjomu
max(/host/vfs.fs.size[/,free],5m)<10G
Trigeris nostrādā, ja brīvās diska vietas apjoms pastāvīgi (5 minūtes) ir mazāks par 10 GB.
Varat arī definēt atkopšanas izteiksmi:
min(/host/vfs.fs.size[/,free],10m)>40G
Problēma tiek atrisināta tikai tad, kad brīvās diska vietas apjoms pastāvīgi (10 minūtes) pārsniedz 40 GB.
Funkcija: min
Datu vienums: vfs.fs.size
Noteikt mazu diska vietas apjomu (dinamisks slieksnis)
last(/template/hrStorageFree[{#SNMPVALUE}])<last(/template/hrStorageSize[{#SNMPVALUE}])*0.1
Trigeris nostrādā, ja brīvā krātuves vieta (piešķires vienībās) samazinās zem 10 procentiem. Ievērojiet, ka tiek izmantota cita vienuma vērtība, lai iegūtu adaptīvu trigeris slieksni, kas ir piemērojams atklātai dažāda izmēra krātuvei.
Funkcija: last
Noteikt augstu CPU noslodzi
last(/host/system.cpu.load[all,avg1])>5
Šis trigeris nostrādā, ja vidējā procesora noslodze vienu minūti ir bijusi virs 5.
Variācijas:
min(/host/system.cpu.load[all,avg1],5m)>2 and time()<060000
min(/host/system.cpu.load[all,avg1],5m)>2 and not (dayofweek()=7 and time()>230000) and not (dayofweek()=1 and time()<010000)
Šādi trigeri analizē 5 minūšu datus un nostrādā tikai tad, ja CPU noslodze nekad nav zemāka par 2. Papildus šie trigeri nostrādā:
- tikai naktī (00:00-06:00)
- jebkurā laikā, izņemot 2 stundas nedēļas maiņas laikā (svētdiena, 23:00 - pirmdiena, 01:00)
(last(/host/system.cpu.load[all,avg1])>5) + (last(/host2/system.cpu.load[all,avg1])>5) + (last(/host3/system.cpu.load[all,avg1])>5)>=2
Šis trigeris nostrādā, ja procesora noslodze ir pārāk augsta vismaz divos no trim hostiem.
Funkcijas: last, min, dayofweek, time
Datu vienums: system.cpu.load
Salīdzināt CPU slodzi
avg(/Zabbix server/system.cpu.load,1h)/avg(/Zabbix server/system.cpu.load,1h:now-1d)>2
Trigeris nostrādā, ja vidējā slodze šodien pārsniedz vidējo slodzi tajā pašā stundā vakar (izmantojot laika nobīdi now-1d) vairāk nekā divas reizes.
Funkcija: avg
Datu vienums: system.cpu.load
Salīdzināt ilgtermiņa CPU slodzes
trendavg(/host/system.cpu.load,1M:now/M)>1.1*trendavg(/host/system.cpu.load,1M:now/M-1M)
Šis trigeris nostrādā, ja CPU slodze hostā pagājušajā mēnesī palielinājās par vairāk nekā 10%
Funkcija: trendavg
Datu vienums: system.cpu.load
Varat arī izmantot lauku Notikuma nosaukums trigera konfigurācijā, lai izveidotu jēgpilnu brīdinājuma ziņojumu, piemēram, lai saņemtu kaut ko līdzīgu
"Exchange servera slodze jūlijā palielinājās par 24% (0.69), salīdzinot ar jūniju (0.56)"
notikuma nosaukums jādefinē šādi:
Load of {HOST.HOST} server increased by {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% in {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) comparing to {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})
Šāda veida problēmai ir lietderīgi arī atļaut manuālu aizvēršanu trigera konfigurācijā.
Noteikt virkni, kas satur speciālās rakstzīmes
last(/host/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
Trigeris nostrādā, ja /tmp/hello saturs ir vienāds ar virkni, kas definēta {$HELLO_MACRO}:
{$HELLO_MACRO} = \" //hello ?\"
Alternatīvi, varat salīdzināt ar virkni tieši:
last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""
Ņemiet vērā, ka speciālās rakstzīmes (\\ un ") tiek atsoļotas, kad virkne tiek salīdzināta tieši.
Funkcija: last
Datu vienums: vfs.file.contents
Vai jums ir trigeris izteiksmes piemērs, kas citiem varētu būt noderīgs?
Iesniedziet savu piemēru (iekļaujot gan izteiksmi, gan kontekstu), izmantojot mūsu ieteikumu veidlapu, lai nosūtītu to Zabbix izstrādātājiem.