Ich schreibe eine Anwendung, die Daten von entfernten Geräten über eine HTTP API liefert. Diese Geräte sind auf einer mobilen Datenverbindung und haben begrenzte Ressourcen.Verwendung von zabbix_sender für die Host-Erkennung
Ich möchte benutzerdefinierte Überwachungsdaten über die HTTP-API erhalten, basierend auf dem in der Anwendung entwickelten Sicherheitsmodell, und diese Daten direkt (oder indirekt) von node.js an Zabbix senden. Ich möchte Zabbix Agent nicht auf den Remote-Geräten verwenden.
Ich sehe, dass ich zabbix_sender verwenden kann, um Daten an einen Zabbix-Server zu senden, der einen vorkonfigurierten Host enthält. Das funktioniert großartig. Ich beabsichtige, Überwachungsdaten über meine benutzerdefinierte API zu liefern, und wenn diese empfangen werden, gebe diese Daten an zabbix_sender im Server-Netzwerk weiter.
Das Problem ist, es gibt viele Geräte im Feld und mehr werden die ganze Zeit hinzugefügt.
TL; DR:
Wenn zabbix_sender einen benutzerdefinierten Hostnamen bereitstellt, die in Zabbix nicht existiert bereits, versagt es.
Ich möchte automatisch gefundene Hosts hinzufügen, basierend auf neuen Hostnamen von zabbix_sender. Wie würde ich das tun?
Auch ein besonderer Respekt, wenn jemand Beispiele geben kann, wie man zabbix_sender vermeidet und Daten direkt von node.js an den Zabbix-Server sendet. Ich meine: schlagen Sie ein NPM-Paket vor, mit dem Sie Erfahrung haben. (Update: Gefunden Arbeits node.js Paket hier: https://www.npmjs.com/package/node-zabbix-sender)
Zabbix Konfiguration: Ich bin von Zabbix 2.4 in Docker installiert Lernen, keine benutzerdefinierte Konfiguration aus dieser Dockerhub: https://hub.docker.com/r/zabbix/zabbix-2.4/