Informationen zu benutzerdefinierten Überwachungselementen und Triggern von Zabbix

Informationen zu benutzerdefinierten Überwachungselementen und Triggern von Zabbix

1. Überwachungsport

Beziehungsbeschreibung

Auslöser: Holen Sie sich den Wert gemäß dem Skript des Clients. Wenn ein bestimmter Wert des Clients die Anforderung erreicht, wird ein Alarm ausgegeben.

Überwachungselemente: Werte gemäß dem Client-Skript abrufen, Intervall für die Werteerfassung festlegen, Werte speichern und aufzeichnen und Kurvendiagramme erstellen

Anwendungssatz: Wird zum Klassifizieren und Speichern von Überwachungselementen verwendet. Beispielsweise werden Überwachungselemente für Webdienste wie 80 und 8080 im Anwendungssatz WEB abgelegt, und Überwachungselemente für kleine Dienste wie 22 und 21 werden im Anwendungssatz SMALL abgelegt.

Vorlage: Eine Vorlage ist eine Reihe definierter Überwachungselemente. Wenn ein Host mit einer Vorlage verbunden wird, werden die Überwachungselemente in der Vorlage auf den Host angewendet. Um diese Überwachungselemente zu ändern, können Sie sie jedoch nur in der Vorlage ändern. Nach der Änderung ändern sich auch andere verbundene Hosts entsprechend.

arbeiten

1. Erstellen Sie eine Vorlage. Der Vorlagenname wird verwendet, um den Überwachungsport anzugeben. Hier heißt er „Port“. Die Vorlage muss einer Gruppe hinzugefügt werden. Sie können eine separate Gruppe erstellen, um sie zu unterscheiden.

2. Erstellen Sie ein Anwendungsset. Sie müssen dem Anwendungsset nur einen Namen geben.

3. Erstellen Sie Überwachungselemente. Der Name wird verwendet, um die zu überwachenden Werte zu unterscheiden. Dies kann die Anzahl der Besuche bei nginx oder die Anzahl der Lesevorgänge bei mysql sein.

Es gibt zwei Arten von Schlüsselwerten: Bei einer können Sie durch Klicken und Auswählen den integrierten Wert des Systems verwenden, bei der anderen können Sie den Skriptschlüssel anpassen.

Wählen Sie hier net.tcp.listen[Port] aus, finden Sie per Telnet heraus, ob ein Host einen Port abhört und tragen Sie in [Port] die zu überwachende Portnummer ein.

4. Erstellen Sie einen Trigger. {HOST.NAME} erhält den Hostnamen für die Alarmanzeige. Klicken Sie auf „Ausdruck hinzufügen“ oder kopieren Sie den Wert anderer integrierter Trigger, um ihn zu ändern.
Verbinden Sie das Überwachungselement. Dies ist das gerade erstellte Überwachungselement. Lassen Sie den Rest unverändert.

5. Wählen Sie die entsprechende Gruppe aus und suchen Sie das neu erstellte Überwachungselement aus der Gruppe.

6. Port ist der Name der Vorlage. Wenn Sie hier den Hostnamen oder die Host-IP eingeben, wird daraus ein Überwachungselement für einen einzelnen Host und nicht eine Vorlage.

2. Überwachungsdienst

Beziehungsbeschreibung

Skript: Führen Sie das Skript aus, um den Wert abzurufen. Konfigurationsdatei: Ermöglicht benutzerdefinierte Schlüssel und verknüpft den Schlüsselwert mit dem Skript, um den Wert abzurufen.
Serverseitiges Testen: Der Server sendet Anweisungen an den Client, und der Client führt das Skript aus, um den Wert abzurufen, und gibt ihn dann an den Server zurück.

arbeiten

1. Erstellen Sie ein Skript, um den Wert abzurufen
cd /etc/zabbix/script

vim web_status.sh

#!/bin/bash

Fall $1 in
(Lian)
    netstat -anptu | grep 172.26.98.247:80 | wc -l ;;
Klingeln
    netstat -unltp | grep -w 80 &>/dev/null && echo 1 || echo 0 ;;
 *)
    echo "Lian | Ping" ;;
esac

Testskript ./web_status.sh Ping , um zu sehen, ob Sie 1 erhalten können

2. Ändern Sie die Client-Konfigurationsdatei, um benutzerdefinierte Schlüssel zuzulassen
vim /etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf #Andere Konfigurationsdateien laden UnsafeUserParameters=1 #Benutzerdefinierten Schlüssel aktivieren

systemctl restart zabbix-agent

3. Ändern Sie die Konfigurationsdatei, legen Sie den Schlüsselwertnamen und den Skriptspeicherort fest, damit die Konfigurationsdatei weiß, welches Skript ausgeführt werden muss, um diesen Schlüsselwert zu erhalten

web.ping ist ein benutzerdefinierter Schlüsselwertname, gefolgt vom Skriptpfad
vim /etc/zabbix/zabbix_agentd.d/web_status.conf

Benutzerparameter = web.ping, /etc/zabbix/script/web_status.sh Ping
Benutzerparameter = web.lian, /etc/zabbix/script/web_status.sh Lian

Wenn Sie für einen Befehl einen absoluten Pfad verwenden möchten, können Sie den Wert auch wie folgt ermitteln, ohne ein Skript verwenden zu müssen.
Zum Beispiel

Benutzerparameter=web.shu,/bin/netstat -anptu | wc -l

4. Erkennung, Client-Tests
zabbix_agentd -t web.ping #Gibt 1 zurück, wenn korrekt

Serverseitiges Testen:
/ops/server/zabbix/bin/zabbix_get -s 192.168.1.1 -k web.ping #1 ist korrekt

5. Erscheinen (Nicht alle Prozesse konnten identifiziert werden, Informationen zu nicht im Besitz befindlichen Prozessen
wird nicht angezeigt. Sie müssen Root sein, um alles zu sehen.)

Dies liegt daran, dass im Skript der Befehl netstat verwendet wird, der Client jedoch den Zabbix-Benutzer zum Starten des Skripts verwendet und nicht über die Berechtigung zur Verwendung dieses Befehls verfügt.

Der Client führt chmod +x /bin/netstat aus.

Bedienung der Webseite:
Der Schlüsselwert kann nicht gefunden werden. Schreiben Sie ihn daher manuell. Der Triggerausdruck ist auch mit diesem Überwachungselement verknüpft.

3. Import und Export von Vorlagen

Import:

Export:
Wählen Sie die Vorlage aus und scrollen Sie nach unten

Dies ist das Ende dieses Artikels über benutzerdefinierte Überwachungselemente und Trigger von Zabbix. Weitere relevante benutzerdefinierte Überwachungselemente von Zabbix finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Beispielcode zum Konfigurieren von Überwachungselementen und aggregierten Grafiken in Zabbix

<<:  MySQL-Datenbankoperationen und Datentypen

>>:  Beispiel einer JSON-Ausgabe im HTML-Format (Testschnittstelle)

Artikel empfehlen

React implementiert Paging-Effekt

In diesem Artikel wird der spezifische Code für R...

So führen Sie eine Spring Boot-Anwendung in Docker aus

In den letzten Tagen habe ich gelernt, wie man Sp...

Detaillierte Einführung in CSS-Schrift-, Text- und Listeneigenschaften

1. Schrifteigenschaften Farbe, gibt die Farbe des...

So stellen Sie Dienste in Windows Server 2016 bereit (Grafisches Tutorial)

Einführung Wenn eine große Anzahl an Systemen ins...

So implementieren Sie den Nginx-Reverse-Proxy für mehrere Server

Nginx verwendet mehrere Reverse-Proxy-Server, was...

So verwenden Sie CSS-Stile und -Selektoren

Drei Möglichkeiten, CSS in HTML zu verwenden: 1. ...

Layout im Vue.js-Stil Allgemeine Fähigkeiten zur Flutter-Geschäftsentwicklung

Korrespondenz zwischen Flutter und CSS im Shadow-...

Javascript Frontend Optimierungscode

Inhaltsverzeichnis Optimierung der if-Beurteilung...

Erste Schritte mit CSS3-Animation in 10 Minuten

Einführung Mit Animation können Sie mithilfe von ...

Einfaches Beispiel für die Verschönerung von HTML-Kontrollkästchen und -Radios

Einfaches Beispiel für die Verschönerung von HTML...