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.