6 Zabbix trapper
Übersicht
Trapper-Datenpunkte akzeptieren eingehende Daten, anstatt sie abzufragen. Dies ist für alle Daten nützlich, die Sie an Zabbix senden möchten.
Konfiguration
So konfigurieren Sie einen Trapper-Datenpunkt:
- Gehen Sie zu Daten sammeln > Hosts.
- Klicken Sie in der Zeile des Hosts auf Datenpunkte.
- Klicken Sie auf Datenpunkt erstellen.
- Geben Sie die Parameter des Datenpunkts im Konfigurationsformular ein.

Alle obligatorischen Eingabefelder sind mit einem roten Sternchen markiert.
Die Felder, die für Trapper-Datenpunkte spezifische Informationen erfordern, sind:
| Typ | Wählen Sie "Zabbix trapper". |
| Schlüssel | Geben Sie einen Schlüssel ein, der verwendet wird, um den Datenpunkt beim Senden von Daten an den Zabbix server zu erkennen. |
| Informationstyp | Wählen Sie den Informationstyp aus, der dem Format der zu sendenden Daten entspricht. |
| Zugelassene Hosts | Liste von durch Kommas getrennten IP-Adressen (optional in CIDR-Notation) oder DNS-Namen. Der Standardwert ist das Benutzermakro {$TRAPPER.ALLOWED_HOSTS}. Standardmäßig ist {$TRAPPER.ALLOWED_HOSTS} 127.0.0.1,::1. Sie können die Adressen entweder direkt in das Feld eingeben oder den Makrowert ändern. Wenn das Feld leer bleibt, werden eingehende Verbindungen von allen Hosts abgelehnt. Wenn ein Wert angegeben ist, werden eingehende Verbindungen nur von den hier aufgeführten Hosts akzeptiert.Wenn IPv6-Unterstützung aktiviert ist, werden '127.0.0.1', '::127.0.0.1' und '::ffff:127.0.0.1' gleich behandelt, und '::/0' erlaubt jede IPv4- oder IPv6-Adresse. '0.0.0.0/0' kann verwendet werden, um jede IPv4-Adresse zu erlauben. Beachten Sie, dass "IPv4-kompatible IPv6-Adressen" (Präfix 0000::/96) unterstützt werden, aber gemäß RFC4291 veraltet sind. Beispiel: 127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, mysqlserver1, zabbix.example.com, {HOST.HOST} Leerzeichen, Benutzermakros und Host-Makros {HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN} werden unterstützt. |
Bevor Werte gesendet werden, müssen Sie nach dem Speichern des Datenpunkts möglicherweise bis zu 60 Sekunden warten, bis der Zabbix server die Änderungen aus einer Aktualisierung des Konfigurationscaches übernimmt.
Senden von Daten
Das Senden von Daten an den Zabbix Server oder Proxy ist mit dem Dienstprogramm Zabbix sender oder dem Zabbix sender-Protokoll möglich.
Das Senden von Daten an den Zabbix Server ist außerdem mit der API-Methode history.push möglich.
Zabbix sender
Zum Senden von Daten an den Zabbix Server oder Proxy mit dem Zabbix sender-Dienstprogramm können Sie den folgenden Befehl ausführen, um den Wert "test value" zu senden:
zabbix_sender -z <server IP address> -p 10051 -s "New host" -k trap -o "test value"
Um den Wert "test value" zu senden, werden die folgenden Befehlsoptionen verwendet:
-z, um die IP-Adresse des Zabbix Server anzugeben-p, um die Portnummer des Zabbix Server anzugeben (standardmäßig 10051)-s, um den Host anzugeben (achten Sie darauf, den technischen statt des sichtbaren Hostnamens zu verwenden)-k, um den Schlüssel des konfigurierten Datenpunkts im Trapper-Datenpunkt anzugeben-o, um den zu sendenden Wert anzugeben
Der Zabbix Trapper-Prozess erweitert keine Makros, die im Datenpunktschlüssel verwendet werden, um die Existenz des entsprechenden Datenpunktschlüssels für den Ziel-Host zu prüfen.
Weitere Informationen zur Kommunikation zwischen Zabbix sender und Zabbix Server oder Proxy finden Sie unter Zabbix sender protocol.
history.push
Um Daten mit der API-Methode history.push an den Zabbix-Server zu senden, können Sie die folgende HTTP-POST-Anfrage mit einigen Testwerten ausführen:
curl --request POST \
--url 'https://example.com/zabbix/api_jsonrpc.php' \
--header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \
--header 'Content-Type: application/json-rpc' \
--data '{"jsonrpc":"2.0","method":"history.push","params":[{"itemid":10600,"value":"test value 1"},{"itemid":10601,"value":"test value 2"},{"itemid":99999,"value":"test value 3"}],"id":1}'
Wenn die Anfrage korrekt ist, könnte die von der API zurückgegebene Antwort wie folgt aussehen:
{
"jsonrpc": "2.0",
"result": {
"response": "success",
"data": [
{
"itemid": "10600"
},
{
"itemid": "10601",
"error": "Item is disabled."
},
{
"error": "No permissions to referred object or it does not exist."
}
]
},
"id": 1
}
Fehler in den Antwortdaten weisen darauf hin, dass das Senden von Daten für bestimmte Datenpunkte die Validierung durch den Zabbix-Server nicht bestanden hat. Dies kann aus folgenden Gründen passieren:
- der Benutzer, der die Daten sendet, hat keine Leseberechtigung für den Host des Datenpunkts;
- der Host ist deaktiviert oder befindet sich in der Wartung ohne Datenerfassung;
- der Datenpunkt existiert nicht oder ist noch nicht im Konfigurations-Cache des Servers enthalten;
- der Datenpunkt ist deaktiviert oder sein Typ ist weder Zabbix-Trapper noch HTTP Agent (mit aktiviertem Trapping);
- die IP-Adresse oder der DNS-Name des Benutzers ist nicht in der Liste Allowed hosts des Datenpunkts eingetragen;
- ein anderer Datenpunkt hat einen Wert mit einem doppelten Zeitstempel auf Nanosekundenebene.
Das Fehlen von Fehlern zeigt an, dass die gesendeten Werte zur Verarbeitung akzeptiert wurden, einschließlich Vorverarbeitung (falls vorhanden), Auslöser-Verarbeitung und Speicherung in der Datenbank. Beachten Sie, dass die Verarbeitung eines akzeptierten Werts ebenfalls fehlschlagen kann (zum Beispiel während der Vorverarbeitung), wodurch der Wert verworfen wird.
Weitere Informationen zur Arbeit mit der Zabbix-API finden Sie unter API.
Anzeigen von Daten
Sobald Daten gesendet wurden, können Sie zu Monitoring > Neueste Daten navigieren, um das Ergebnis zu sehen:

Wenn ein einzelner numerischer Wert gesendet wird, zeigt der Daten-Graph links und rechts vom Zeitpunkt des Werts eine horizontale Linie an.