NEWS
CheckMK - Monitoring von ioBroker / HomeMatic
-
Hallo zusammen, ich bin aktuell beim Aufsetzen von CheckMK zum Überwachen aller Services im Smarten Zuhause bzw. Netzwerk.
Auf meiner TODO stehen unter anderem das Überwachen von States aus ioBroker. Hat das schon jemand realisiert?
Des weiteren würde ich gerne die ioBroker Prozesse selbst überwachen, also den js-controller und die instanzen.
Ich habe allerdings da gerade meine Schwierigkeiten mit den Tools von CheckMK die Prozesse zu selektieren - vermutlich liegt das daran, das dies alles Child-Prozesse von node sind. Auch hier wäre meine Frage, hat das schon jemand am laufen und könnte seinen Lösungsweg mal aufzeigen?
Versucht habe ich es u.A. mit
HomeMatic, bzw. die Raspberrymatic VM steht ebenfalls auf der TODO, hier habe ich den Anfang mit
https://github.com/alexreinert/homematic_check_mk
gemacht, allerdings noch keine Werte CheckMK.
-
Hier mal mein aktueller Stand - aktuell gehe ich den Weg über
https://docs.checkmk.com/latest/en/localchecks.html
d.h. über den CheckMK Agent in der ioBroker VM werden mittels Bash Skript die Werte an CheckMK übermittelt.
Hier das Skript:
#!/bin/bash # CheckMK-Documentation: https://docs.checkmk.com/latest/de/localchecks.html # /usr/lib/check_mk_agent/local # # |----| |---------| |--------------| |-----------------------------------------| # example output: "STATUS SERVICENAME METRICS=73;80;90 STATUS DETAIL TEXT WHICH CAN CONTAIN SPACES" # # Status: 0 = OK | 1 = WARN | 2 = CRIT | 3 = UNKNOWN | P = dynamic # ioBroker Processes #iobProcess=$(/usr/bin/ps -o cmd -C "node" --no-headers | grep ^iobroker.js-controller 1>&2 | echo $?) iobProcess=$(pidof iobroker.js-controller) if [ "$?" -ne 0 ]; then status=2 statusdetail='not running' else status=0 statusdetail='running' fi servicename='ioBroker.js-controller' metrics='-' echo "$status $servicename $metrics $statusdetail" # ioBroker Status iobStatus=$(iobroker status | head -n1) if [[ $iobStatus == *"not"* ]]; then status=2 else status=0 fi servicename='ioBrokerStatus' metrics='-' statusdetail=$iobStatus echo "$status $servicename $metrics $statusdetail" # number of processes # TODO metrics iobNumberOfProcesses=$(/usr/bin/ps -o cmd -C "node" --no-headers | wc -l) status=0 servicename='ioBroker.NumberOfProcesses' metrics='-' statusdetail=$iobNumberOfProcesses echo "$status $servicename $metrics $statusdetail" # ioBroker getvalue # TODO metrics iobGetvalue=$(iobroker state getvalue smartmeter.1.1-0:16_7_0__255.value) if [[ $iobGetvalue -gt 400 && $iobGetvalue -lt 1000 ]]; then status=1 elif [ "$iobGetvalue" -ge "1000" ]; then status=2 else status=0 fi servicename='ioBroker.GetValueTest' metrics='-' statusdetail=$iobGetvalue echo "$status $servicename $metrics $statusdetail" # EOF
Schaut dann in CheckMK so aus:
Alles noch Quick+Dirty, aber zumindest ist die Tür mal offen Am WE gehts dann mit den Metriken weiter. Ggf. muss das Skript dann auch noch je nach Wert aufgesplittet und zu anderen Zeitpunkten übertragen werden.
-
CheckMK macht echt Laune - zwar ziemlich komplex, aber auch nützlich
-
@darkiop
Deine ersten Eindrücke zu Checkmk sehen vielversprechend aus.
Hab es bei mir auch laufen und überwache im Moment nur meine Proxmox Umgebungen und meine TP-Link Switchs.Würdest deine Erfahrungen und Scripte hier teilen?
-
Ich nutze es auch. Wir haben auch letztens einen Adapter entdeckt der wohl iobroker instanz Überwachung erlaubt von States und Instanzen .. hab’s aber noch nicht ausprobiert
-
@apollon77
Ja stimmt … das wäre sicher sehr interessant mit einem Adapter -
@darkiop Ist ja genial das Skript, bin grad dabei den Status meiner wesentlichen Adapter darüber auch einzubinden.
-
Guten Morgen, entschuldigt die späte Antwort ... habs erst gestern Abend gesehen
Mein CheckMK LXC ist aktuell wieder offline, die Konfiguration ist recht komplex und es dauert auch ne weile bis man mal das System/die Idee genau verstanden hat.
Das fängt schon damit an, für welche Version man sich entscheidet. Aktuell hatte Ich die RAW-Edition laufen, d.h. die Enterprise Version mit beschränkter Anzahl an Checks und Hosts (glaub 20/25 Hosts waren es). Die Limitierung kann, wenn man auch den ein oder anderen Container/VM überwacht damit auch schnell ausgereitzt werden. Die RAW-Edition bietet aber z.B. den Vorteil. das man sich über die Weboberfläche für die Hosts angepasste Agents bauen lassen kann (d.h. Konfiguation für die definierten Checks sind da schon direkt eingebaut).
Für die Grundlegende Einrichtung hatte ich zuerst das hier durchgearbeitet:
https://checkmk.com/de/blog/network-monitoring-with-checkmk-2-0
Für Proxmox/Cluster dann das hier:
https://checkmk.com/de/blog/proxmox-monitoring
Grundsätzlich bietet CheckMK aber eine vorbildliche Doku an:
https://docs.checkmk.com/latest/de/
Was mir bei der Arbeit damit aufgefallen ist, man möchte schnell zu viel auf einmal. Dann hast du viele Hosts im System, die bei den Standardschwellwerten teils schon Alarm schlagen und somit dein Monitoring in Frage stellen Ich hab mir dann auch immer wieder schwer getan, diese genannten einzelne Werte angepasst zu bekommen - dann war der Host 'rot', dabei war aber alles in Ordnung. Es gibt halt unfassbar viele Möglichkeiten Dinge ins Monitoring aufzunehmen - also Tip 1: Eins nach dem anderen Ich starte vielleicht einfach nochmal nur mit dem Proxmox-Cluster und überwache dann Hard- und Software dessen
@simatec sagte in CheckMK - Monitoring von ioBroker / HomeMatic:
@darkiop
Deine ersten Eindrücke zu Checkmk sehen vielversprechend aus.
Hab es bei mir auch laufen und überwache im Moment nur meine Proxmox Umgebungen und meine TP-Link Switchs.Würdest deine Erfahrungen und Scripte hier teilen?
Die Skripte liegen hier:
https://github.com/darkiop/dotfiles/tree/master/checkmk/local-checks/pve-vm-iobroker
Sind aber aber auch nur Quick & Dirty zum Testen, das geht besser
@apollon77 sagte in CheckMK - Monitoring von ioBroker / HomeMatic:
Ich nutze es auch. Wir haben auch letztens einen Adapter entdeckt der wohl iobroker instanz Überwachung erlaubt von States und Instanzen .. hab’s aber noch nicht ausprobiert
Hab gestern auf die Schnelle nichts gefunden, kannst den Link mal teilen? Dann schau ichs mir auch mal an.
@mdsv sagte in CheckMK - Monitoring von ioBroker / HomeMatic:
@darkiop Ist ja genial das Skript, bin grad dabei den Status meiner wesentlichen Adapter darüber auch einzubinden.
Gerne auch deine Erfahrungen teilen, vielleicht pack ichs auch mal wieder an
-
Hier mal der Link zum Adapter.
Laut Entwickler befindet dieser Adapter noch in der Entwicklung, soll aber bereits tun.Habe ihn selber noch nicht getestet
-
@simatec danke für den Hinweis, das mit dem Adapter klingt interessant werde ich mir mal anschauen!
Wollte mich selbst die Tage mal dran setzen um iobroker und die Instanzen zu überwachen.
Hatte überlegt einen local check auf Basis der Infos aus "iobroker list instances" und "iobroker status all" zu bauen.
Damit hat man die Instanzen und ob sie an oder aus sein sein sollen, pretty name und sogar die Ports die da sein sollen.
Wenn man jetzt noch etwas mit "ps" auf die Prozesse macht und schaut ob die Ports wirklich offen sind wäre das glaub ich schon ein schönes Set an Infos woraus man für jede Instanz auch einen eigenen Service machen kann.Davon ab habe ich mich seit ein paar Wochen mit dem Thema wie bekomme ich den eine vernünftige Überwachung für meine Homematic und ZigBee (via deconz) Komponenten mit checkmk hin.
War auch erst bei der command line, das schien mir aber zu umständlich.
Hab grad einen "special agent" in der Entwicklung der über die simple API geht. Vorteil: check ist komplett serverseitig, Nachteil: man ist auf die simple api angewiesen (find ich persönlich aber nicht wirklich einen Nachteil).Der Special Agent discovered aktuell alle Objekte die im iobroker Baum untern den Werten
hm-rpc (also z.B. bei mir .0 die normalen Homematic und unter .1 die Homematic IP Komponenten)
und deconz liegen.
Er holt die Objekte und die States und baut das ganze dann so um das da ein Komplettbild draus wird.
Durch API Aufrufe und die Modellierung ist es zwar nicht das schnellste Konstrukt aber es ist OK und vor allem, zumindest bei mir funktioniert es schon mal ganz gutHier mal ein paar Impressionen
Special Agent bekommt die Verbindungsdaten zur simple Api (hier für deconz):
Für deconz sieht das Ergebnis dann bspw. aktuell so aus:
Details z.B. so
Für Homematic:
Details Rollo
Details Steckdosen Adapter mit Messfunktion
und die Regel zum konfigurieren sieht aktuell noch so aus (Beispiel deconz)
Ist noch sehr stark work in progress und ich bau auch noch ständig Dinge noch mal ordentlich um. Da die Doku von checkmk, sagen wir mal ausbaufähig ist, lern ich aktuell immer wieder was Neues dazu und muss dann immer mal wieder redesignen/anpassen etc.
Da das meine erste öffentliche Präsentation des bisherigen Arbeitsstandes ist bin ich natürlich sehr auf Feedback gespannt.
-
@mnx Sorry, irgendwie geriet das hier über den Jahreswechsel aus dem Fokus
Deine Lösung sieht ebenfalls spannend aus. Hast du schon etwas das man testen könnte?
HomeMatic hatte ich mal über das Addon von Alex Reinert eingebunden:
-
Hi!
Muss mich mal wieder als Leichenfledderer betätigen....@simatec habe den Adapter mal angetestet... funktioniert ganz gut und monitored die einzelnen Adapter/Instanzen bzw. ob es Updates gibt.
@mnx hast du an deinem Projekt weitergearbeitet? Die screenshots sehen vielversprechend aus und deine Lösung geht mehr ins Detail als der Adapter, d.h. ist eine gute Ergänzung
lg und Gutes Neues!
Marcus -
Ich muß auch nochmal fleddern. Funktioniert bei Euch der Check:MK-Adapter aus dem git unter
https://github.com/rde-master/ioBroker.checkmk
noch?
Ich bekomne beim Start der Instanz immer folgenden Fehler:
-
@miwu Ich gehe den Weg jetzt anders, ich nutze "local checks" von CMK.
ioBroker schreibt die fertigen Daten des "Checks" in ein File und das wird per local check in CMK verwertet.
Nicht 100% perfekt, aber nahe dran. Die CheckMK API v2 ist mir zu heftig, ich brauchte nur 2x Temp und Feuchte. Da geht das ganz Gut. -
Just for info:
Ich hab' CheckMK rausgeworfen und monitore meine Systeme mittlerweile mit Zabbix". Gefällt mir persönlich deutlich besser..
-
@codierknecht Ich habe in der Firma eine "kleine" CMK Enterprise Installation mit 12k Services und fast 900 Hosts am Laufen, ich mag den
-
@codierknecht geht mir genauso, hatte mich auch für Zabbix entschieden und bin sehr zufrieden, weil auch die Einbindung von Datenpunkten super easy ist.
-
@tomtom24 Ich bin jetzt auch auf Zabbix. Gibts ne ANleitung wie man da ioBroker mit einbindet?
-
Guten Morgen, was ist euer best practice für die zabbix Installation? Gibt ja einige Unterschiedliche Varianten, von Postgres / MySQL mit nginx und auch docker.
-
@apollon77 sagte in CheckMK - Monitoring von ioBroker / HomeMatic:
Gibts ne ANleitung wie man da ioBroker mit einbindet?
Kommt drauf an, was Du da alles überwachen willst.
Einzelne Datenpunkte? Den Server selbst? Geräte wie die Fritte o.ä.?