Erweiterung von Zabbix Agenten

Dieses Tutorial bietet eine Schritt-für-Schritt-Anleitung, wie die Funktionalität von Zabbix Agent mithilfe eines UserParameter erweitert werden kann.

Schritt 1

Schreiben Sie ein Skript oder eine Befehlszeile, um den erforderlichen Parameter abzurufen.

Beispielsweise können wir den folgenden Befehl schreiben, um die Gesamtzahl der von einem MySQL-Server ausgeführten Abfragen zu ermitteln:

mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

Bei der Ausführung gibt der Befehl die Gesamtzahl der SQL-Abfragen zurück.

Schritt 2

Fügen Sie den Befehl zur zabbix_agentd.conf Konfigurationsdatei hinzu:

UserParameter=mysql.questions,mysqladmin -uroot status | cut -f4 -d":" | cut -f1 -d"S"

mysql.questions ist ein eindeutiger Bezeichner. Er kann jeder gültige Schlüsselbezeichner sein, zum Beispiel queries.

Testen Sie diesen Parameter mit dem Zabbix Agent und dem -t-Flag (wenn Sie jedoch als root ausgeführt werden, beachten Sie, dass der Agent beim Start als Daemon möglicherweise andere Berechtigungen hat):

zabbix_agentd -t mysql.questions
Schritt 3

Laden Sie die Benutzerparameter aus der Konfigurationsdatei neu, indem Sie Folgendes ausführen:

zabbix_agentd -R userparameter_reload

Sie können den Agent auch neu starten, anstatt den Laufzeitsteuerungsbefehl zu verwenden.

Testen Sie den Parameter mit dem Dienstprogramm zabbix_get.

Schritt 4

Fügen Sie dem überwachten Host einen neuen Datenpunkt mit Key=mysql.questions hinzu. Der Typ des Datenpunkts muss entweder Zabbix Agent oder Zabbix Agent (active) sein.

Beachten Sie, dass der Typ der zurückgegebenen Werte auf dem Zabbix Server korrekt gesetzt sein muss. Andernfalls akzeptiert Zabbix sie nicht.