Check MK für die CCU

diverse Zusatzsoftware

Moderator: Co-Administratoren

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Check MK für die CCU

Beitrag von deimos » 25.06.2017, 21:54

Hallo,

der ein oder andere hat es vielleicht schon gelesen: Ich habe ein Addon für die CCU2 bzw. für Raspberrymatic geschrieben, welches einen Check_MK Agent bereitstellt.
Ich habe versucht, so viele Sections wie möglich vom originalen Check_MK Agent zu übernehmen, aber leider limitiert BusyBox da doch sehr. Insgesamt ist es aber schon deutlich mehr als nur CPU und RAM.
Zusätlich werden noch alle Service Meldungen und alle Datenpunkte von Kanälen gesendet, welche sich im Gewerk Monitored befinden. Dadurch sind weitere Plugins in Check_MK möglich, im Moment habe ich hier bereits einige fertig:
- Überwachung des Dutycycles (CCU und alle angeschlossenen LAN GWs)
- Überwachung auf Low Battery (alle Geräte)
- Überwachung auf Unreachable Devices (alle Geräte)
- Überwachung auf alle anderen Service Messages
- Überwachung Luftfeuchtigkeit mit anpassbaren Limits (Geräte in Gewerk Monitored, welche entsprechende Daten bereitstellen)

Zu finden ist das Addon für die CCU und das Plugin für Check_MK auf Github:
https://github.com/alexreinert/homematic_check_mk
Dort sind auch fertig gepackte Installationspakete, so das man die Dateien nicht manuell installieren muss.

Gerne kann ich auch weitere Plugins entwickeln/aufnehmen, für meine Zwecke reicht mir die o.g. aber erstmal. Gibt also nicht mehr, außer jemand meldet sich. ;-)

Konstruktives Feedback ist erwünscht, gerade mein TCL ist jetzt nicht unbedingt das Beste. ;-)

Viele Grüße
Alex

Cybertron
Beiträge: 123
Registriert: 08.12.2014, 09:31
Hat sich bedankt: 1 Mal

Re: Check MK für die CCU

Beitrag von Cybertron » 26.06.2017, 06:16

Hallo Alex,

Erst einmal Danke für die Arbeit.

Kann es sein, dass es Check-MK nur für 64-Bit Systeme unter Linux gibt?

Ich habe für ioBroker einen kleinen Rechner mit Debian Jessy in 32-Bit laufen. Dort würde ich, wenn das machbar ist gern Check-mk mit laufen lassen.

Gruß
Silvio


Gesendet von iPhone mit Tapatalk Pro
--------------------------------------------
770 Kanäle und 3439 Datenpunkte in 223 Geräten:

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Re: Check MK für die CCU

Beitrag von deimos » 26.06.2017, 07:31

So wie es scheint, gibt es den Server offiziell nur noch für x64. Bis Version 1.2.8 gab es den zumindest noch als x86, ist halt die Frage, ob man mit einer alten Version starten will. Alternativ ist es vielleicht möglich, selber zu kompilieren, keine Ahnung, ob da irgendwelche Einschränkungen sind.

Matthias K.
Beiträge: 1165
Registriert: 14.02.2016, 12:32
System: Alternative CCU (auf Basis OCCU)
Wohnort: Heidenheim
Hat sich bedankt: 57 Mal
Danksagung erhalten: 225 Mal

Re: Check MK für die CCU

Beitrag von Matthias K. » 03.07.2017, 16:50

Genial, sowas such ich schon lange.
Hab auch gleich einen Fehler gefunden, den du spätestens in der nächsten Firmware-Version auch haben wirst:

Ich setze die Beta der ReGaHss ein, jetzt wird regelmäßig ein "Script Runtime Error" im CCU-Log geworfen (immer dann, wenn CheckMK den agent abfragt).
D.h. irgendwo in dem AddOn ist in Script- oder Syntaxfehler...

Code: Alles auswählen

Jul  3 16:49:16 192.168.0.220 logger: check_mk_agent - connection accepted from 192.168.0.4:60220
Jul  3 16:49:16 192.168.0.220 ReGaHss: Error: IseESP::ScriptRuntimeError: 
    string _svcId;
    object _svc;
    string _devId;
    object _dev;
    string _chId;
    object _ch;
    string _dpId;
    object _dp;
    string _name;

    foreach (_svcId, dom.GetOb
edit: Hab mal selbst etwas nach dem Fehler gesucht:

Wenn keine Servicemeldung anliegt, wir der Fehler ausgegeben. Du musst vor "if (_svc.AlState() == asOncoming) {" noch prüfen, ob _svc überhaupt gefüllt ist.

Außerdem gibt es bei mir bisher kein Gewerk "Monitored" (brauche keine Überwachung einzelner Sensoren in Check_MK), daher wäre auch hier noch eine Prüfung sinnvoll, ob es das überhaupt gibt.

Auszug aus meiner korrigierten server.tcl:

Code: Alles auswählen

array set result [rega_script {
  !check_mk_agent script for service messages etc.
  string _svcId;
  object _svc;
  string _devId;
  object _dev;
  string _chId;
  object _ch;
  string _dpId;
  object _dp;
  string _name;
  object _lot;

  foreach (_svcId, dom.GetObject(ID_SERVICES).EnumUsedIDs()) {
    _svc = dom.GetObject(_svcId);
    if (_svc) {
      if (_svc.AlState() == asOncoming) {
        _dp = dom.GetObject(_svc.AlTriggerDP());
        _ch = dom.GetObject(_dp.Channel());
        _dev = dom.GetObject(_ch.Device());
		  
        WriteLine("SVC_MSG;" # _dev.Name() # ";" # _svc.Name().StrValueByIndex (".", 1).StrValueByIndex ("-", 0) # ";" # _dp.Timestamp());
      }
    }
  }

  _lot = dom.GetObject("Monitored");
  if (_lot) {
    foreach (_chId, _lot.EnumUsedIDs()) {
      _ch = dom.GetObject(_chId);

      _dev = dom.GetObject(_ch.Device());
      WriteLine(_ch.Name() # ";HSSTYPE;" # _dev.HssType());

      foreach (_dpId, _ch.DPs()) {
        _dp = dom.GetObject(_dpId);

        if (_dp.Value()) {
          _name = _dp.Name().StrValueByIndex(".", 2);
          WriteLine(_ch.Name() # ";" # _name # ";" # _dp.Value() # ";" # _dp.Timestamp());
        }
      }
    }
  }
}

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Re: Check MK für die CCU

Beitrag von deimos » 04.07.2017, 07:29

Danke für die Hinweise. Ich werde das entsprechend anpassen, aber ich werde vermutlich erst am Wochenende dazu kommen.

Viele Grüße
Alex

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Re: Check MK für die CCU

Beitrag von deimos » 19.07.2017, 21:01

Hi,

ich habe grade die Version 1.1 erstellt (https://github.com/alexreinert/homemati ... es/tag/1.1)

Neben den o.g. Anpassungen gibt es jetzt auch die Möglichkeit eigene Agent Plugins ausführen zu lassen. Dazu einfach entsprechende Shell Scripte in den Ordner /usr/local/addons/check_mk_agent/plugins speichern.

Viele Grüße
Alex

-=FuF=-
Beiträge: 97
Registriert: 30.12.2013, 21:08
Hat sich bedankt: 2 Mal

Re: Check MK für die CCU

Beitrag von -=FuF=- » 22.07.2017, 23:39

Hi,

gibt es irgendwas bei der Installation zu beachten?
Mit aktueller FW 2.29.18 auf CCU2 passiert bei mir nach upload des Addons außer Neustart - nichts. Kein Addon anschließend vorhanden und mit find nichts auf der CCU.

Christian

Benutzeravatar
deimos
Beiträge: 5383
Registriert: 20.06.2017, 10:38
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leimersheim
Hat sich bedankt: 121 Mal
Danksagung erhalten: 950 Mal
Kontaktdaten:

Re: Check MK für die CCU

Beitrag von deimos » 23.07.2017, 08:49

Irgendwas beim Erstellen des tgz ist schief gegangen, da fehlten die Execute-Attribute.
Ich habe das Addon grade nochmal neu gepackt und hochgeladen. Bitte damit nochmal probieren.
Alternativ über SSH die Execute-Attibute mit chmod selber setzen.

Alex

-=FuF=-
Beiträge: 97
Registriert: 30.12.2013, 21:08
Hat sich bedankt: 2 Mal

Re: Check MK für die CCU

Beitrag von -=FuF=- » 25.07.2017, 21:50

Hi,
deimos hat geschrieben:...
Ich habe das Addon grade nochmal neu gepackt und hochgeladen. Bitte damit nochmal probieren.
...
jetzt klappt's. Hey, da kommen richtig Informationen rüber. Sehr cool. Hoffentlich killt es auf Dauer nicht die CCU2.

Christian

robbyb
Beiträge: 2
Registriert: 15.03.2016, 21:09

Re: Check MK für die CCU

Beitrag von robbyb » 07.01.2018, 14:30

Hmmm - mit FW 2.29.23 klappt das nicht

Trotz setzen der exec-Attribute für das tgz nach dem Hochladen.

Folgendes hat geklappt:
  • Hochladen des check tgz per scp nach /var/tmp auf der CCU
  • Auspacken des tgz mit tar -xzvf ...
  • Manuelles installieren durch start von ./update_script
  • aufräumen von /var/tmp

Antworten

Zurück zu „Sonstige Addons“