Zabbix JavaScript Preprocessing Beispiele
Aus znilwiki
Changelog:
- 26.01.2024 erste Version
Vorwort
Nachfolgend einige Beispiele für den Einsatz von JavaScript im Preprocessing in Zabbix Items.
Die Sammlung habe ich erstellt weil ich auch immer wieder gerne bei mir selbst abschreibe.
Links zu anderen JavaScript Beispielen und Anleitungen
- Zabbix PowerShell JSON und LLD per system.run
- https://www.zabbix.com/documentation/current/en/manual/config/items/preprocessing/javascript
- https://www.zabbix.com/documentation/current/en/manual/config/items/preprocessing/javascript/javascript_objects
Telefonanlage MiVoice MX-ONE
Ausgelesen werden sollte der Zustand der DECT-Stationen.
Den Zustand kann man auslesen wenn man sich per SSH an der Anlage anmeldet (scheint ein SUSE-Linux zu sein) und folgenden Befehl ausführt:
/opt/eri_sn/16.3.3.1.6/sbin/opt/dect_rfp -p
Die Versionsnummer muss man ggf. anpassen, die Ausgabe sieht wie folgt aus:
Dect Extension Radio Fixed Part Data
FPI = 1, BPOS = 1A-0-10.
Rpn Operating State Blocking State Information
1 Operable Not Blocked
2 Operable Not Blocked
3 Operable Not Blocked
4 Operable Not Blocked
5 Operable Not Blocked
6 Operable Not Blocked
7 Operable Not Blocked
8 Operable Not Blocked
FPI = 2, BPOS = 1A-0-20.
Rpn Operating State Blocking State Information
1 Operable Not Blocked
2 Operable Not Blocked
3 Operable Not Blocked
4 Operable Not Blocked
5 Operable Not Blocked
6 Operable Not Blocked
7 Not Alive Not Blocked
8 Operable Not Blocked
Es sind wohl Haupteinheiten (BPOS) mit Modulen (RPN).
Die Ausgabe habe ich in Zabbix in ein LLD Discovery umgesetzt das pro Modul ein Item erstellt und den Status (Operable, Not Alive etc.) speichert.
Im Schritt 1 habe ich mir ein Item erstellt welches die Ausgabe des Befehls abholt und in ein JSON umwandelt:
Den Befehl dect_rfp
konnte man in einer SSH-Sitzung auch ohne Pfad nutzen, das Funktioniert aber nicht mit dem Zabbix ssh.run
, deshlab hier mit ganzem Pfad.
Im Item habe ich dann folgendes JavaScript Preprocessing hinzugefügt: