NEWS
Iobroker Monitoring über Icinga2
-
Hi,
ich würde mir gerne einen Check schreiben, der mir anzeigt ob ein Adapter abgestürzt ist bzw. ein Problem hat.
Leider fehlt mir gerade jeder Ansatz um eine vernünftige Quelle für die Information zu finden. Vielleicht übersehe ich sie auch einfach nur.
"iobroker status all" wäre eine gute Möglichkeit.
Aber da steht leider nur "is not running" und nicht, ob ein Adapter abgestürzt ist (Vielleicht was für einen Feature Request ??? -> ein Parameter, der Adapter Crashes ausgibt ?).Ein Logfile auszulesen wäre zwar möglich, aber dann müsste ich es so bauen, dass es keine alten Ereignisse verarbeitet, die längst behoben sind oder falls ich es eine längere Zeit nicht mitbekomme, das Logfile nicht vorher rotiert. Von daher macht das die Sache wieder unnötig komplizierter.
Ein eindeutiger Befehl oder vielleicht API Abruf, der den aktuellen Status (Lebenszeichen) zurück gibt, ob es fehlerhafte Adapter gibt, wäre das beste.
Aktuelles Beispiel eines abgestürzten Adapters:
Danke für eure Denkanstöße
-
@manny4566
Mit aktiviertem Experten Modus gibt es unter system.adapter u.a. die DPs alive und connected. -
@manny4566
Da wäre mal die Frage wie du 'ein Problem hat' definierstEv kann dir der logparser adspter helfen
-
@fredf Ja stimmt Danke.
Problem wäre nur, wie ich über die RestApi alle Adapter erhalte und eine Liste zurück bekomme. Weiß nicht ob es dafür einen Api Aufruf gibt. Wenn ja, könnte man einfach ne Schleife laufen lassen für alle Adapter und gucken was im alive und connected steht und jeweils auwerten. -
@mcm57 Wie im Screenshot. Adapter kackt ab und der Host meldet die Meldung, wenn man auf das Weboberfläche drauf geht. Adapter xyz reagiert nicht mehr oder was da so steht. Hab die genaue Meldung nicht im Kopf.
-
@manny4566 said in Iobroker Monitoring über Icinga2:
@mcm57 Wie im Screenshot. Adapter kackt ab und der Host meldet die Meldung, wenn man auf das Weboberfläche drauf geht. Adapter xyz reagiert nicht mehr oder was da so steht. Hab die genaue Meldung nicht im Kopf.
Ok, dann sollten dir ja die States alive und connected wie oben beschrieben reichen.
Dachte du willst wissen ob ein Adapter gecrashed ist und restartet wurde. Oder wenn wer zwar läuft aber "hÄngt". Wenns "nur" darum geht dass ein Adapter nicht läuft dann siehe Posting von @FredF
-
@mcm57
Wenn du weißt wie man diese Informationen erhält, könnte ich sie vielleicht auch abfragen. Da bin ich offen.
-
@manny4566 sagte in Iobroker Monitoring über Icinga2:
@mcm57
Wenn du weiß wie man diese Informationen erhält, könnte ich sie vielleicht auch abfragen. Da bin ich offen.
@fredf sagte in Iobroker Monitoring über Icinga2:
@manny4566
Mit aktiviertem Experten Modus gibt es unter system.adapter u.a. die DPs alive und connected. -
Ja, schon gut. Ich war nicht so schnell. War bereits am scripten
@FredF sein Tipp hat mich auf den richtigen Weg gebracht. Danke dafür.
Anbei ein schnell zusammen gebauter Befehl für die Bash, falls jemand ähnliches braucht.
Damit werden aber natürlich auch die Adapter angezeigt, die manuell gestoppt wurden.
Müsste man sich bei Bedarf mit grep -v zusätzlich entfernen.
Aber damit komm ich weiter und kann mir den Check bauen. Dankefor i in `curl -s http://192.168.0.201:8087/objects?pattern=system.adapter.* | jq '.[] | .from' | grep -v "null" | sort -n | uniq -c | awk -F " " '{print $2}'| sed -e 's/^.\{,1\}//' | sed 's/.$//'`; do echo "$i - " | tr -d "\n"; curl -s http://192.168.0.201:8087/get/$i.connected | jq .val; done | grep -v "true\|null"