- 1 Auslöser-Beispiele
- Nicht verfügbaren Host erkennen
- Nicht verfügbaren Proxy erkennen
- Nicht verfügbaren SMTP-Cluster erkennen
- Nicht erreichbaren Host erkennen
- Unerwarteten Neustart erkennen
- Änderungen in wichtigen Dateien erkennen
- Änderungen in der DNS-Abfrage erkennen
- Nicht übereinstimmende Software auf verschiedenen Hosts erkennen
- Nicht synchronisierte Uhren erkennen
- Veralteten Agent erkennen
- Flappende Schnittstelle erkennen
- Hohen eingehenden Datenverkehr erkennen
- Geringen Festplattenspeicher erkennen
- Geringen Festplattenspeicher erkennen (dynamischer Schwellenwert)
- Hohe CPU-Last erkennen
- CPU-Lasten vergleichen
- Langfristige CPU-Lasten vergleichen
- Zeichenfolge mit Sonderzeichen erkennen
1 Auslöser-Beispiele
Diese Seite ist eine Sammlung von Auslöser-Beispielen.
Die Beispiele sind nach Anwendungsfall sortiert:
- Nicht verfügbarer Host
- Nicht verfügbarer Proxy
- Nicht verfügbarer SMTP-Cluster
- Nicht erreichbarer Host
- Unerwarteter Neustart
- Änderungen in wichtigen Dateien
- Änderungen in DNS-Abfragen
- Nicht übereinstimmende Software auf verschiedenen Hosts
- Nicht synchronisierte Uhren
- Veralteter Agent
- Instabile Schnittstelle
- Hoher eingehender Datenverkehr
- Wenig Speicherplatz
- Wenig Speicherplatz (dynamischer Schwellenwert)
- Hohe CPU-Last
- Vergleich der CPU-Last
- Langfristiger Vergleich der CPU-Last
- Zeichenfolge mit Sonderzeichen
Nicht verfügbaren Host erkennen
max(/host/zabbix[host,agent,available],5m)=0
Dieser Auslöser wird ausgelöst, wenn der Zabbix Agent auf dem Host 5 Minuten lang nicht verfügbar war.
Funktion: max
Datenpunkt: zabbix[host,agent,available]
Alternative:
nodata(/host/agent.ping,5m)=1
Dieser Auslöser wird ausgelöst, wenn 5 Minuten lang keine Daten vom Zabbix Agent empfangen wurden.
Funktion: nodata
Datenpunkt: agent.ping
Nicht verfügbaren Proxy erkennen
fuzzytime(/host/zabbix[proxy,{$PROXY_NAME},lastaccess],1m)=0
Dieser Auslöser wird ausgelöst, wenn die Daten des Zabbix Proxy der Zeit des Zabbix Server um 1 Minute hinterherhinken.
Funktion: fuzzytime
Datenpunkt: zabbix[proxy,{$PROXY_NAME},lastaccess]
Nicht verfügbaren SMTP-Cluster erkennen
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
Dieser Auslöser wird ausgelöst, wenn beide SMTP-Server nicht verfügbar sind.
Funktion: last
Datenpunkt: net.tcp.service
Nicht erreichbaren Host erkennen
count(/host/icmpping,30m,,"0")>5
Dieser Auslöser wird ausgelöst, wenn der Host in den letzten 30 Minuten mehr als 5-mal per Ping nicht erreichbar ist.
Funktion: count
Datenpunkt: icmpping
Unerwarteten Neustart erkennen
change(/host/system.uptime)<0
Dieser Auslöser wird ausgelöst, wenn eine negative Änderung des System-Uptime-Werts festgestellt wird (was auf einen Neustart hinweist).
Funktion: change
Datenpunkt: system.uptime
Änderungen in wichtigen Dateien erkennen
last(/host/vfs.file.cksum[/etc/passwd],#1)<>last(/host/vfs.file.cksum[/etc/passwd],#2)
Dieser Auslöser wird ausgelöst, wenn /etc/passwd geändert wurde. Der Ausdruck ist wahr, wenn sich die vorherige Prüfsumme von /etc/passwd von der aktuellsten unterscheidet. Ähnliche Ausdrücke können nützlich sein, um Änderungen in wichtigen Dateien wie /etc/passwd, /etc/inetd.conf, /kernel usw. zu überwachen.
Funktion: last
Datenpunkt: vfs.file.cksum
Änderungen in der DNS-Abfrage erkennen
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}"
Beachten Sie die Anführungszeichen um den zweiten Operanden.
Dieser Auslöser wird ausgelöst, wenn das Abfrageergebnis nicht dem entspricht, was normalerweise zurückgegeben wird:
example.com MX 0 mail.example.com
Funktion: last
Datenpunkt: net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1], mit wie folgt definierten Makros:
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
Nicht übereinstimmende Software auf verschiedenen Hosts erkennen
last(/host/vfs.file.contents[/etc/os-release])<>last(/host2/vfs.file.contents[/etc/os-release])
Dieser Auslöser wird ausgelöst, wenn sich die Ubuntu-Version auf verschiedenen Hosts unterscheidet. Beachten Sie, dass die Operanden hier Funktionen sind, die Zeichenfolgen zurückgeben.
Funktion: last
Datenpunkt: vfs.file.contents
Nicht synchronisierte Uhren erkennen
fuzzytime(/host/system.localtime,10s)=0
Der Auslöser wird ausgelöst, wenn sich die lokale Zeit des Clients und die Zeit des Zabbix-Servers um mehr als 10 Sekunden unterscheiden.
Funktion: fuzzytime
Datenpunkt: system.localtime
Beachten Sie, dass system.localtime für den Zabbix-Agenten als passiver Check konfiguriert werden muss; bei Zabbix-Agent 2 kann er als aktiver Check konfiguriert werden.
Veralteten Agent erkennen
find(/host/agent.version,,"like","beta")=1
Dieser Auslöser wird ausgelöst, wenn der Zabbix Agent eine Beta-Version hat. Der Zabbix Agent muss aktualisiert werden.
Funktion: find
Datenpunkt: agent.version
Flappende Schnittstelle erkennen
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5
Dieser Auslöser wird ausgelöst, wenn sich der Betriebszustand (up/down/unknown) von eth0 innerhalb einer Stunde mehr als 5-mal geändert hat.
Funktion: changecount
Datenpunkt: vfs.file.contents
Hohen eingehenden Datenverkehr erkennen
min(/host/net.if.in[eth0,bytes],5m)>100K
Dieser Auslöser wird ausgelöst, wenn die Anzahl der auf eth0 empfangenen Bytes in den letzten fünf Minuten immer über 100 Kilobyte lag. Wahrscheinlich lädt jemand eine große Datei herunter.
Funktion: min
Datenpunkt: net.if.in[eth0,bytes]
Geringen Festplattenspeicher erkennen
max(/host/vfs.fs.size[/,free],5m)<10G
Der Auslöser wird ausgelöst, wenn der freie Festplattenspeicher durchgehend (5 Minuten lang) unter 10 GB liegt.
Sie können auch einen Wiederherstellungsausdruck definieren:
min(/host/vfs.fs.size[/,free],10m)>40G
Das Problem wird erst dann gelöst, wenn der freie Festplattenspeicher durchgehend (10 Minuten lang) über 40 GB liegt.
Funktion: min
Datenpunkt: vfs.fs.size
Geringen Festplattenspeicher erkennen (dynamischer Schwellenwert)
last(/template/hrStorageFree[{#SNMPVALUE}])<last(/template/hrStorageSize[{#SNMPVALUE}])*0.1
Der Auslöser wird ausgelöst, wenn der freie Speicherplatz (in Zuordnungseinheiten) unter 10 Prozent fällt. Beachten Sie, dass der Wert eines anderen Datenpunkts verwendet wird, um einen adaptiven Auslöser-Schwellenwert zu erhalten, der auf erkannten Speicher unterschiedlicher Größe anwendbar ist.
Funktion: last
Hohe CPU-Last erkennen
last(/host/system.cpu.load[all,avg1])>5
Der Auslöser wird ausgelöst, wenn die durchschnittliche Prozessorlast eine Minute lang über 5 liegt.
Varianten:
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)
Solche Auslöser analysieren 5 Minuten an Daten und werden nur ausgelöst, wenn die CPU-Last nie unter 2 liegt. Zusätzlich werden diese Auslöser ausgelöst:
- nur nachts (00:00-06:00)
- jederzeit außer für 2 Stunden beim Wochenwechsel (Sonntag, 23:00 - Montag, 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
Dieser Auslöser wird ausgelöst, wenn die Prozessorlast auf mindestens zwei der drei Hosts zu hoch ist.
Funktionen: last, min, dayofweek, time
Datenpunkt: system.cpu.load
CPU-Lasten vergleichen
avg(/Zabbix server/system.cpu.load,1h)/avg(/Zabbix server/system.cpu.load,1h:now-1d)>2
Der Auslöser wird ausgelöst, wenn die durchschnittliche Last heute die durchschnittliche Last derselben Stunde gestern (unter Verwendung der Zeitverschiebung now-1d) um mehr als das Zweifache übersteigt.
Funktion: avg
Datenpunkt: system.cpu.load
Langfristige CPU-Lasten vergleichen
trendavg(/host/system.cpu.load,1M:now/M)>1.1*trendavg(/host/system.cpu.load,1M:now/M-1M)
Dieser Auslöser wird ausgelöst, wenn die CPU-Last auf dem Host im letzten Monat um mehr als 10 % gestiegen ist
Funktion: trendavg
Datenpunkt: system.cpu.load
Sie können auch das Feld Event name in der Auslöser-Konfiguration verwenden, um eine aussagekräftige Warnmeldung zu erstellen, zum Beispiel um etwas wie
"Load of Exchange server increased by 24% in July (0.69) comparing to June (0.56)"
zu erhalten.
Der Ereignisname muss wie folgt definiert werden:
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)})
Es ist für diese Art von Problem auch sinnvoll, in der Auslöser-Konfiguration das manuelle Schließen zu erlauben.
Zeichenfolge mit Sonderzeichen erkennen
last(/host/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
Der Auslöser wird ausgelöst, wenn der Inhalt von /tmp/hello gleich der in {$HELLO_MACRO} definierten Zeichenfolge ist:
{$HELLO_MACRO} = \" //hello ?\"
Alternativ können Sie direkt mit der Zeichenfolge vergleichen:
last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""
Beachten Sie, dass die Sonderzeichen (\\ und ") maskiert werden, wenn die Zeichenfolge direkt verglichen wird.
Funktion: last
Datenpunkt: vfs.file.contents
Haben Sie ein Beispiel für einen Auslöserausdruck, das andere nützlich finden könnten?
Senden Sie Ihr Beispiel (einschließlich Ausdruck und Kontext) über unser Vorschlagsformular, um es an die Zabbix-Entwickler zu übermitteln.