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.
08.03.2021 - Checkmk Agent Fork von Christopher Younger (https://github.com/ceyounger/checkmk-agent-synology) 21.02.2021 - Checkmk Agent 1.6.0p21 für DSM 6.2 19.12.2020 - Checkmk Agent 1.6.0p19 für DSM 6.2 19.07.2020 - Anleitung aktualisiert 11.05.2020 - Checkmk Agent 1.6.0p11 für DSM 6.2 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
Der Agent läuft nur auf einer Synology mit x86_64 CPU! (Welche CPU hat mein Synology NAS?)
so hab ich das Paket erstellt:
- Entware-ng auf einer Synology x86-64 NAS installieren
- Das check_mk_agent.linux script vom Checkmk Server kopieren und drei 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 Paketvorlage irgendein kleines SPK Paket oder MODS nehmen.
- Getestet wurde es zuerst in einer virtuellen DSM Installation.
sonstiges:
- Das preinst script prüft ob die Verzeichnisse /opt/{bin,etc,lib,sbin,usr,var} existieren. Wenn ja, wird die Installation abgebrochen.
- Hilfreiche Meldungen findet man im Logfile /var/log/packages/CheckmkAgent.log
- Alle Dateien befinden sich als symlink unter /opt. (/volume1/@appstore/CheckmkAgent/opt)
- 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 verbessert werden.)
- Bei einer Deinstallation werden auch eigene Anpassungen unter /opt mit entfernt, also vorher sichern!
meine erstellten Agent Versionen:
- checkmk-agent-synology_1.6.0p21.spk (arch x86_64, DSM >= 6.2-23739)
- checkmk-agent-synology_1.6.0p19.spk (arch x86_64, DSM >= 6.2-23739)
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.2.2 auf 6.2.3 mit anschließendem Neustart sind die symlinks in /opt nicht mehr vorhanden und der Agent läuft nicht!
Erstellt man den symlinks manuell, läufts wieder.
root@nas01:~# find /volume1/\@appstore/CheckmkAgent/opt -maxdepth 1 -type d -exec ln -sf {} /opt \; # ab checkmk-agent-1.6.0p11.spk root@nas01:~# ln -sf /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/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/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:
Fork
Christopher Younger veröffentlicht jetzt auch aktuelle Releases des Agents auf GitHub. Sollte man im Auge behalten! (thanks to Chris)
Hi,
schön wäre eine Aktualisierung auf den neusten Agent (1.5). Würde mich über ein fertiges Paket freuen :)
Viele Grüße
Hab da mal ein neues Paket mit dem aktuellen 1.5.0p11 Agent erstellt und hochgeladen. :)
Das ging flott. Danke dir!
Kein Problem, gern geschehen! :-)
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
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.
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).
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?
Hallo.
Wäre super wenn es für die aktuelle DSM 6.2.2 auch wieder einen Agent gibt.
FInde den Agent super!!
Danke Lg
Christian
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
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
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 …
Hallo, danke für das Paket. Sehr fein den Agent auch mal wieder am aktuellen Stand zu haben…
Hab mir vorgenommen den mal öfters zu aktualisieren. ;)
Super Paket, habe es auf einer virtuellen 918 probiert ohne Probleme, allerdings bei der reellen 918 bekomme ich beim Versuch das Paket zu installieren die Fehlermeldung “Paket konnte nicht installiert werden”
Gibt es vielleicht auf der 918 ein /opt Verzeichnis? Dann bricht die Installation ab.
Hi,
danke für die Info, ja so ist es. Das Verzeichnis ist schon vorhanden. /opt/containerd/
Gibt es die Möglichkeit die Komponenten anderweitig zu installieren. Wäre eine Möglichkeit den Inhalt der package.tar in das Verzeichnis zu kopieren und den link händisch zu setzen?
Händisch ginge das, ist dann aber wieder gefrickel. Soll ja einfach sein. ;)
Würde gerne alles nach z.B. /opt/cmk-agent linken, geht aber nicht so einfach, da
in der xinetd binary die Pfade teilweise nach /opt/lib und /opt/etc verweisen.
Man könnte die Verzeichnisse alle einzeln nach /opt linken. (dann wirds aber wieder etwas unübersichtlich)
Oder sich eine xinetd ohne feste Zuweisungen selbst kompilieren??
Ich schau mal ob ich das Problem lösen kann … ;)
Hab das im aktuellen Paket (1.6.0p11) jetzt mal geändert. Das /opt Verzeichnis darf existieren.
Ich erstelle für die einzelnen Verzeichnisse jetzt doch symlinks unter /opt.
Die Geschichte mit dem containerd Folder im opt ist mir auch aufgefallen. Nach einem Reboot der NAS war der Agent nicht mehr funktioniell.
Und da ich derzeit einen Großteil meiner VMs nach Docker auf der Syno portiere (inkl. check_mk), denke ich das die Syno den Folder benötigt. Im Moment monitore ich meine 918 über ssh und den linux agent von check_mk. Werde hier aber weiter ein Auge auf die Weiterentwicklung werfen ;-)
Hallo,
ich habe heute versucht, dein aktuelles SPK Paket auf einer Synology Diskstation zu installieren (DS216j). Da erhalte ich eine Fehlermeldung, dass das Paket nicht installiert werden kann, entweder weil es mit der DSM Version (6.2.2) nicht kompatibel ist oder von der Disk Station nicht unterstützt wird. Kann ich das Paket auf dieser NAS nicht nutzen?
Danke vorab!
Hi,
du kannst es auf deiner DS216j nicht nutzen. Liegt an der Hardware.
Das Paket unterstützt nur die x86 Architektur, keine Marvell CPUs.
Wie sieht es mit einer DS213+ aus? Bekomme nämlich die selbe Meldung.
Leider auch keine x86 Architektur. Freescale P1022 CPU
Hallo,
ich erhalte leider die gleiche Fehlermeldung bei einer DS214play, obwohl diese einen Intel Atom Prozessor mit x86 Befehlssatz hat :-(
Hat da jemand einen Tipp?
Viele Grüße
André
Welche DSM Version ist installiert?
Was gibt uname -m aus?
Gibt es Daten unter /opt?
Hi, danke für die Info!
Vielen Dank für den Agent. Der Agent funktioniert einwandfrei.
Jedoch haben wir einen Fehler festgestellt:
Er zeigt den Service “MD Softraid md1” bzw. “MD Softraid md0” als kritisch an, wenn weniger Platten aktiv sind als Festplattenplätze.
z.B. CRIT – Status: active, Spare: 0, Failed: 0, Active: 11, Status: 12/11, UUUUUUUUUUU_CRIT (11 Platten plus eine Hotspare im System)
Das ist eigentlich kein richtiger Fehler, er müsste als Status “OK” anzeigen.
Das liegt wohl an der Art und Weise wie der md check des Agents die Arrays überprüft.
Aus dem Handbuch:
Checks the current state of a Linux MD raid array. The information is read by the agent from /proc/mdstat.
The result is either OK, if all disks are active or critical in any other case.
Servus,
ich habe eine DSM 6.2.2-24922 auf einer VM. Das Check MK Paket ist auch schonmal gelaufen, leider funktioniert dies nicht mehr.
Ich Setze CheckMK 1.6.0p11 Enterprise Server ein und bekomme den Agent nicht mehr zum laufen.
Ein telnet nas01 6556 bringt auch kein Ergebnis.
Ich vermute das der xinetd nicht mehr sauber läuft.
Welches Version deines SPK soll ich denn nutzen?
Viele Grüße und Danke
Tobi
Hallo Tobi,
nimm das aktuelle 1.6.0p11. Ältere Versionen bitte vorher deinstallieren! Welche Version hast du installiert?
Es kommt vor das nach einem Update die symlinks in /opt nicht mehr vorhanden sind.
Hallo,
installiert ist auch die 1.6.0p11.
unter /opt/ ist garkein Inhalt enthalten:
root@nas01:/opt# ls -lart
total 8
drwxr-xr-x 2 root root 4096 Oct 26 14:06 .
drwxr-xr-x 27 root root 4096 Nov 21 22:01 ..
Was muss hierbei gemacht werden ?
Dann fehlen anscheinend nur die symlinks. In meinem Artikel unter Bug: steht wie du sie neu anlegen kannst.
Hallo Michael,
tolle Sache so einen Agent bereit zu stellen. Habe angefangen mich mit check_mk zu beschaffen. Wollte den Agent nach deiner Anleitung auf p19 bringen, allerings sagt unter meinem Windows beim hinzufügen der Daten 7-zip, dass die Operation für diesen Ordner nicht zulässig sein.
Hast du einen Tipp für mich?
Vielen Dank und einen schönen 4ten Advent
Carsten
Hallo Carsten,
es könnte sein das du zu viele Änderungen in der SPK-Datei gleichzeitig machst. Mach das mal in mehreren Schritten.
Die SPK mit 7-Zip öffnen, Änderung durchführen, wieder zurück auf die SPK und die nächste Änderung.
Gruß, Michael…
Beim Versuch die Datei checkmk-agent-synology_1.6.0.p19.spk einzuspielen, kommt immer unbekanntes Dateiformat. Die vorherige Version funktionierte einwandfrei. Was kann ich tun?
Lade sie nochmal neu runter. Hab’s bei mir eben probiert, lässt sich problemlos installieren.
Thank you for the package & the recent update. For some reason it failed on my Xpenology 6.2.3 update 3.
Also I was confused by the instructions (most likely because it was translated and my German is very limited), which made me think I had to install entware-ng myself.
After this, I discovered entware/xinetd was included and the checks prevent further installation.
So I manually had to copy the required files from the package to the correct location.
I’ll share the instructions in case someone else also has installed entware-ng and was not able to install the client succesfull.
I like the modifications you did specifically for Synology, thank you for that.
# install entware-ng on synology (follow online instructions)
opkg install xinetd
# unzip latest check_mk package (7z), then inside using tar: package.tgz
7z e checkmk-agent-synology_1.6.0p19.spk
tar -zxvf package.tgz
mkdir -p /opt/var/lib/check_mk_agent/cache
mkdir /opt/etc/check_mk/
mkdir /opt/usr/lib/check_mk_agent/plugins
cp -p ./opt/etc/xinetd.d/check-mk-agent /opt/etc/xinetd.d/check-mk-agent
cp -p ./opt/usr/lib/check_mk_agent/plugins/* /opt/usr/lib/check_mk_agent/plugi
ns/cp -p ./opt/bin/check_mk_agent /opt/bin/check_mk_agent
cp -p ./opt/etc/check_mk/* /opt/etc/check_mk/
/opt/etc/init.d/S10xinetd stop
/opt/etc/init.d/S10xinetd start
There’s no need to install entware-ng yourself. Everything is included in the SPK file.
I know.. But for some reason my initial installation failed (it did install but not start, something related to xinetd).
Then I decided to install entware-ng myself, but that prevented futher installation (as explained on your website) as you have build in checks.
I imagine people do have entware-ng installed for other reasons (or any other application in the same /opt/bin /opt/etc locations. The above instructions may help people in the same situation. Removing the installation entware-ng was probably more work. :)
Anyway, thanks for creating this agent/SPK file, it will definitely help people out.
Thanks for your information.
Top und vielen Dank,
habe mir mal schnell den Check_MK 2.0.0b7 mit Docker und Abhängigkeit Python3 basteln können.
Selbst das pip install docker war kein Problem..
in Scipts einfach in der postinst:
wget https://bootstrap.pypa.io/get-pip.py
python3 ./get-pip.py
python3 -m pip install requests
python3 -m pip install docker
vor das “exit 0″ schreiben,
In der INFO folgendes hinzufügen/ändern:
version=”2.0.0b7″
install_dep_packages=”py3k”
Das neueste check_mk_linux nach package.tgz\package.tar\opt\bin\ (Natürlich die 3 Pfade anpassen)
und die docker.cfg nach package.tgz\package.tar\opt\etc\check_mk\
sowie die mk_docker.py package.tgz\package.tar\opt\usr\lib\check_mk_agent\plugins\
Super einfach… Noch mal danke dafür… :)
Danke für deine Infos. Werde es mal ausprobieren! :)
Extending Bernd Mueller’s work I’ve created a Github repository and created releases for both 1.6.0p21 and 2.0.0b8-1.
https://github.com/ceyounger/checkmk-agent-synology/releases/download/1.6.0p21/checkmk-agent-synology_1.6.0p21.spk
https://github.com/ceyounger/checkmk-agent-synology/releases/download/2.0.0b8-1/checkmk-agent-synology_2.0.0.b8-1.spk
Even there are any issues, let me know and I’ll update as soon as I can.
Hello Chris,
great job!
I will share your GitHub link.
Ich glaub ich bin noch nicht fit für Checkmk. Es ist jetzt auf dem NAS (Synology NAS ) installiert. Paketzentrum zeigt auch das es “läuft” und nu? Jetzt stehe ich auf dem Schlauch. Wo (vermutlich Browser) rufe ich das Programm auf und unter welchem Port (http://192.168.1.123:xxxx)? Im Hauptmenue hab ich kein eintag, Brauch ich Docker für den “Spaß”? Ist auch installiert aber da hab ich keinen Container…für Checkmk … oder weiss nicht wo der sein soll. Hab auch schon das Inet bemüht – vermutlich greift Satz1. Kann ich hier eine rudimentäre Schnellbesolung bekommen?
Voraussetzung ist ein laufender Checkmk Server! (https://checkmk.com/de)
Der Agent hat kein eigenständiges Programm, läuft als Service im Hintergrund.
Er dient nur zur Kommunikation mit dem Monitoringserver, liefert ihm die Daten (Metriken) der NAS die er dann überwacht, auswertet und darstellt.
Moin, danke für das klasse Plugin.
hast du dir schon mal DSM7 angeschaut? leider startet das Paket nicht unter dem DSM7 RC
starte ich ihn manuell mittels /opt/bin/check_mk_agent bekomme ich kurz Daten.
Chris
Noch nicht.
Ist aber eine gute Idee, werde ich mir mal anschauen …
würde mich freuen =)
*would buy you a beer*
Kühles Bier ist immer gut … ;)
Mal schauen ob ich das hinbekomme.
Da scheint sich einiges geändert zu haben.
Moin,
da mein installierter Checkmk Agent (1.6.0p11) seit dem Update auf DSM 7.0-41890 nicht mehr startet und ein deinstallieren via Paket-Zentrum meine Syno DS720+ zum totalen Crash bringt, würde ich gerne den Checkmk Agent manuell via SSH deinstallieren. An welchen stellen müsste ich suchen um den Agent vom DSM restlos zu entfernen ? Geht das überhaupt ? Für einen Hinweis wäre ich echt dankbar.
Tobi
Hallo Tobi,
das geht.
– die symlinks unter /opt (bin, etc, lib, sbin, usr, var)
– /volume1/@appstore/CheckmkAgent
– /var/packages/CheckmkAgent
Gruß, Michael…
Moin Michael,
top, das hat bestens funktioniert. Danke für die schnelle Rückmeldung.
Gruß
Tobi
Kann mir mal jemand sagen, wie ich auf der Synology mit DSM7 das Plugin wieder los werde? Leider finden sich hier nur vereinzelt Hinweise aber keine wirkliche Anleitung wie ich das ganze wieder los werde. Das Verzeichnis unter /var/packages/CheckmkAgent habe ich gelöscht. Aber Symlinks unter /opt…. ich hab ja noch nicht mal /opt im Verzeichnisbaum. Auch findet sich nichts unter /volume1/@appstore/CheckmkAgent
Kann ich dir nicht sagen, es ist ja auch für DSM6!
Das Plugin unter DSM7 hab ich noch nie ausprobiert.
Für DSM6 sind es diese Verzeichnisse.
– die symlinks unter /opt (bin, etc, lib, sbin, usr, var)
– /volume1/@appstore/CheckmkAgent
– /var/packages/CheckmkAgent
Wenn sich dort nichts mehr befindet, sollte es nicht mehr installiert sein.
Hallo zusammen, nutze gerne CheckMK. Nun bin auf DSM7 umgestiegen. Gibt es hier bezüglich des Updates Neuigkeiten? Oder Schwierigkeiten wobei man eventuell behilflich sein kann?
Gruß Carsten
Hallo Carsten,
ich weiß noch nicht genau was Synology beim installieren von SPK Paketen unter DSM 7 geändert hat und jetzt erwartet.
Berechtigungen, Installationsroutinen, etc. Ich bin da aber sporadisch dran. Werde mal in andere DSM 7 Pakete reinschauen.
Wenn du dich mit dem erstellen von SPK Paketen auskennst, kannst du da gerne unterstützen.
Gruß, Michael…
Hallo Michael,
habe ich was falsches geschrieben?
Ich habe doch nur gefragt, ob Du was neues zu dem Thema DSM 7 hast?!?!
Oder warum sehe ich meine Frage nicht?
Viele Grüße
Clemens
Hallo Clemens,
alles in Ordnung!
Deine Frage sieht man erst, wenn ich sie freigebe oder darauf antworte. (das mache ich aber nicht täglich)
Zu meinem Paket gibt es noch nichts wirklich neues. Bin noch am grübeln…
Man kann aber das Checkmk Agent Paket einfach mit
aptdpkg unter DSM7 auf der Konsole installieren.Ob man das machen sollte, sei mal dahingestellt. ;)
Gruß, Michael…
Hallo Michael,
apt ist standard mäßig ja nicht auf der DSM7.
Ich finde auch kein Community Package mehr, was das apt hat und funktioniert.
Vielleicht suche ich nicht richtig :)
Sonst hätte ich das mal installiert zum testen versteht sich :p
So warte ich mal, was Du da zauberst ;)
Gruß
Clemens
Stimmt, mein Fehler. Nicht apt sondern dpkg.
dpkg -i check-mk-agent_2.0.0p22-1_all.deb
ich habe das nun seit einer Weile so eingerichtet und es funktioniert prima.
Danke für Deine Hilfe.
VG
Clemens
Do you still have a link for 1.5 version available?
I’m sorry, no.