Synology DSM 6 Check_MK-Agent Paket


Meinen Check_MK-Agent mit veraltetem IPKG und xinetd hab ich jetzt auf das aktuellere OPKG umgestellt.
Dann kam mir die Idee mal alles was benötigt wird in ein SPK zu packen um die Installation und deinstallation ein wenig zu vereinfachen.

26.01.2020 – Anleitung aktualisiert
25.01.2020 – Checkmk Agent 1.6.0p8 für DSM 6.2
29.01.2019 – Checkmk Agent 1.5.0p11 für DSM 6.1 und 6.2
20.01.2018 – Checkmk Agent 1.4.0p22 für DSM 6.1

Installation und Paketerstellung:

  • Entware-ng auf einer Synology x86-64 NAS installieren
  • Das check_mk_agent.linux script vom Checkmk Server kopieren und ein paar Pfade anpassen.
  • Plugins mk_logwatch und mk_inventory vom Checkmk Server kopieren.
  • Was nicht für Checkmk benötigt wird entfernen um das Paket möglichst klein zu halten.
  • Aus der jetzt funktionierenden Installation (Dateistruktur) ein SPK Paket erstellen.
  • Als SPK Vorlage irgendein kleines SPK Paket oder MODS nehmen.
  • Getestet wurde es zuerst in einer virtuellen DSM Installation.

sonstiges:

  • Das preinst script prüft ob es schon ein /opt Verzeichnis gibt. Wenn ja, wird die Installation abgebrochen.
  • Hilfreiche Meldungen findet man im Logfile /var/log/packages/CheckmkAgent.log
  • Alle Dateien befinden sich unter /opt. (opt -> /volume1/@appstore/CheckmkAgent/opt)
  • Bei einer Deinstallation werden natürlich auch eigene Anpassungen unter /opt mit entfernt, also vorher sichern!
  • Die SPK Pakete können mit 7-Zip geöffnet und bearbeitet werden.
  • Das Paket ist eine BETA Version. (Hier kann noch einiges angepasst und erweitert werden.)

meine erstellten Agent Versionen:

Installation des Agents im DSM:

Der Host in Checkmk:

Das Checkmk Agent Paket läuft aktuell ohne Probleme unter DSM 6.2.2-24922 auf einer DS713+ und XPEnology VM.

Bug:
Nach einem update von 6.1.4 auf 6.1.5 mit anschließendem Neustart wird der symlink nach /opt nicht mehr erstellt und der Agent läuft nicht!
Erstellt man den symlink manuell, läufts wieder. Da muss ich nochmal ran … ;)

root@nas01:~# ln -s /volume1/\@appstore/CheckmkAgent/opt /opt

Checkmk Agent SPK Paket updaten

Es müssen lediglich immer nur das aktuelle check_mk_agent Script und die Plugins erneuert werden. Das Gründgerüst bleibt unverändert.
Alle Änderungen können direkt in 7-Zip mit der geöffneten SPK Datei durchgeführt werden, es muß nichts entpackt werden.

#
# Dateien vom CMK Server im SPK Paket aktualisieren.
#

# check_mk_agent (der Agent)
CMK /opt/omd/versions/1.6.0pX.cre/share/check_mk/agents/check_mk_agent.linux
SPK checkmk-agent-1.6.0.pX.spk\package.tgz\package.tar\opt\bin\check_mk_agent
- Pfade im script nach /opt ändern
  export MK_LIBDIR=${MK_LIBDIR:-/opt/usr/lib/check_mk_agent}
  export MK_CONFDIR=${MK_CONFDIR:-/opt/etc/check_mk}
  export MK_VARDIR=${MK_VARDIR:-/opt/var/lib/check_mk_agent}

# plugin: logwatch (logfiles)
CMK /opt/omd/versions/1.6.0pX.cre/share/check_mk/agents/plugins/mk_logwatch
SPK checkmk-agent-1.6.0.pX.spk\package.tgz\package.tar\opt\usr\lib\check_mk_agent\plugins\mk_logwatch
CMK /opt/omd/versions/1.6.0pX.cre/share/check_mk/agents/agents/cfg_examples/logwatch
SPK checkmk-agent-1.6.0.pX.spk\package.tgz\package.tar\opt\etc\check_mk\logwatch.cfg
- Pfad anpassen
  /var/log/auth.log

# plugin: inventory (Hard- und Software Inventory)
CMK /opt/omd/versions/1.6.0pX.cre/share/check_mk/agents/plugins/mk_inventory.linux
SPK checkmk-agent-1.6.0.pX.spk\package.tgz\package.tar\opt\usr\lib\check_mk_agent\plugins\mk_inventory
CMK /opt/omd/versions/1.6.0pX.cre/share/check_mk/agents/agents/cfg_examples/mk_inventory.cfg
SPK checkmk-agent-1.6.0.pX.spk\package.tgz\package.tar\opt\etc\check_mk\mk_inventory.cfg
  
# INFO Datei im SPK Paket anpassen
SPK checkmk-agent-1.6.0.pX.spk\INFO
- die Version des Agents anpassen
  version="1.6.0pX"

Das SPK Paket in 7-Zip:

14 Gedanken zu „Synology DSM 6 Check_MK-Agent Paket“

  1. Hallo

    Tolles Paket, schnelle Installation!

    Bei mir ist es aber so, das ich über SNMP fast mehr Infos von der Synology bekomme als mit dem check_mk Agent. Müsste dieser nicht mehr Infos bringen? Vorallem habe ich Docker-Container am Laufen und deshalb ging ich davon aus das ich diese mit dem Agent sehen müsste.
    Weisst du da mehr?

    Gruss

    Antworten
    • Mit snmp wirst du nicht weniger Daten als mit dem Agent bekommen. Der ist halt schnell installiert und läuft sofort.

      Für Docker Container gibt es eigene check plugins, die werden nicht mit dem Standard Agent abgefragt.
      Da hab ich bisher aber keine Erfahrung mit.

      Antworten
  2. Okay, kleiner Nachtrag. Beim Discovery erhalte ich folgende Fehlermeldung:

    Service discovery failed for this host: Got invalid data:
    invalid literal for int() with base 10: ‚Folder@‘
    Retry discovery while ignoring this error (Result might be incomplete).

    Antworten
    • Der Fehler taucht bei mir nicht auf, habs mir gerade nochmal angeschaut.

      OMD[demo]:~$ cmk –check-discovery synology
      OK – no unmonitored services found, no vanished services found

      (Check_MK 1.5.0p14 / check-mk-agent-1.5.0p11 / DSM 6.2.2)
      Hast du vielleicht andere Versionen im Einsatz?

      Antworten
    • Hallo Christian, vielen Dank!

      Da haben wohl doch ein paar Leute das Paket im Einsatz. :-)
      Neues Agent Paket (1.6.0p8) ist online. Hab auch mal die Anleitung aktualisiert.

      Gruß, Michael

      Antworten
  3. Hi Michael,

    ich konnte dein Plugin erfolgreich auf der Synology installieren. Wir arbeiten allerdings mit der verschlüsselten Übertragung.
    Wo kann ich dies einstellen? „Agent output is plaintext but encryption is enforced by configuration.“

    Viele Grüße

    Tobias

    Antworten
    • Hallo Tobias,

      dazu muss auf der Synology folgende config Datei erstellt werden:
      /opt/etc/check_mk/encryption.cfg
      ENCRYPTED=yes
      PASSPHRASE='EUER-ENC-PASSWORT'

      Die Datei sollte auch noch vor Lesezugriffen anderer geschützt werden.
      chmod 600 /opt/etc/check_mk/encryption.cfg

      Gruß, Michael …

      Antworten

Schreibe einen Kommentar