Direkt zum Hauptinhalt

Installation Agent für andere Betriebsysteme ohne systemd / xinetd (Anbindung per ssh) tar.gz

Beschreibung

NunEs agentsgibt Systeme auf denen gibt es kein Systemd und xinetd.
Der Checkmk Service lauscht normalerweise auf einen TCP Port.
Da es aber keine Services ohne xinetd und systemd gibt, gibt es eine weitere Methode.
und zwar das abrufen des Agents über ssh

Agents für die Hosts installieren

 / entpacken

Auf dem zu überwachenenberwachenden des Host wo der Agent installiert werden soll, ein Verzeichnis checkmk_setup im root verzeichnis erstellen

mkdir -p /root/checkmk_setup

Nun mit dem Webbrowser auf dem Checkmk Server einloggen und dann
Dazu auf Setup -> Agents -> Windows, Linux, Solaris , AIX anklicken

Bildschirmfoto vom 2022-11-20 13-31-39.png

Nun rauffauf tar gz bei Linux mit dem gelben Symbol anklicken und downloaden

Bildschirmfoto vom 2022-11-20 13-33-01.png

Nun per scp die dateiDatei auf den serverzu überwachenden Server ins Home Verzeichnis von root/checkmk_stup  übertragen check_mk übertragen



Nun auf der Seite -> Setup -> Agents -> Other operating System

Bildschirmfoto vom 2022-11-20 15-06-45.png

Auf alle Dateien rechtklick drauf, ziel Speichern unter, in unserem Fall bei Systemd. Ansonsten xinetd

Bildschirmfoto vom 2022-11-20 15-40-08.png


Alle gedownloadeten Dateien,  und per scp ins Verzeichnis auf dem server checkmk setup übertragen.

Nun auf dem Server einloggen und in das Verzeichnis /root/checkmk_setup gehen und die setup Datei ausführbar machen

cd /root/checkmk_Setup
chmod +x setup

Nun  die  check-mk-agent_2.1.0p16-d88c216c6ad53a29.tar.gz tar auf dem zu überwachendem Host entpacken

tar -xf check-mk-agent_2.1.0p16-d88c216c6ad53a29.tar.gz -C /

NunSSH Schlüssel falls nicht schon vorhanden auf der Checkmkinstanz erstellen

Auf dem Checkmk server inloggen.
Dann in die Setupinstanz File mit Parametereinloggen

cdomd /root/checkmk_Setupsu chmod<instanzname>

+xBeispiel
setupomd su monitoring

nunNun dasden SetupSchlüssel miterstellen demohne Parameter Deploy starten


setup Paramter aus der hilfepassphrase

/setupssh-keygen deploy|cleanup|purge|trigger|isdeployed-t Manageed25519

Ausgabe

OMD[monitoring]:~$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the systemdkey units(/omd/sites/monitoring/.ssh/id_ed25519):
requiredEnter passphrase (empty for Checkmkno agentpassphrase):
setup.Enter Commands:same deploypassphrase Deployagain:
theYour unitidentification fileshas foundbeen saved in /root/checkmk_setupomd/sites/monitoring/.ssh/id_ed25519.
toYour thepublic "mostkey suitable"has of:been saved in /lib/systemd/systemomd/sites/monitoring/.ssh/id_ed25519.pub.
cleanupThe Disablekey andfingerprint removeis:
thecc:87:34:d2:ed:87:ed:f7:1b:ec:58:1f:7c:23:00:e2 deployedmonitoring@mycmkserver
systemdThe unitskey's purgerandomart cleanupimage andis:
additionally+--[ED25519  remove256--+
leftover|                 CRE|
systemd|       units. trigger.       Enable|
or|      disable..+..      systemd|
units|      isdeployed.=.+.o     Exit|
successfully|       ifES and+.o    only|
if|         files. areo. deployedo  |
|            ...B.|
|             .=.*|
|             . o+|
+-----------------+

Die Schlüssel liegen dann im .ssh Verzeichnis des Monitoring Verzeichnisses.
Dateien anzeigen

ll .ssh

Ausgabe

OMD[monitoring]:~$ ll .ssh
total 8
-rw------- 1 monitoring monitoring 1679 Feb 20 14:18 id_ed25519
-rw-r--r-- 1 monitoring monitoring  398 Feb 20 14:18 id_ed25519.pub

Der private Schlüssel heißt id_ed25519 und ist nur für den Instanzbenutzer lesbar (-rw-------) — und das ist auch gut so! Der öffentliche Schlüssel id_ed25519.pub sieht etwa so aus:

Ausgabe:

OMD[monitoring]:~$ cat .ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGb6AaqRPlbEmDnBkeIW3Q6Emb5lr2QEbWEQLmA5pb48 monitoring@mycmkserver

Nun auf dem zu überwachendem Host in einer zweiten SSH-Sitzung einloggen.
und die authorized_keys Datei bearbeiten

nano /root/.ssh/authorized_keys

Dort am ende den öffentlichen schlüssel eintragen.
Davor aber noch ein command, der dient dazu, das nur der Agent aufgerufen werden kann und auch gleichzeitig beim einloggen aufgerufen wird.
Die ganze zeile in der  authorized_keys Datei sähe dann so aus

command="/usr/bin/check_mk_agent" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGb6AaqRPlbEmDnBkeIW3Q6Emb5lr2QEbWEQLmA5pb48 monitoring@mycmkserver

Nun ausloggen.

Testen der Verbindung

Nun auf dem Checkmkserver wieder in die instanz einloggen, wenn nicht noch von der vorherigen Sitzung eingeloggt

omd su <instanzname>

Beispiel
omd su monitoring

Nun einfach ssh root@<iphostname> und den Fingerprint des Schlüssels mit der Eingabe von yes bestätigen.
Der Fingerprint wird nur beim ersten mal abgefragt.

 ssh root@<ipfromtargetserver> 

Ausgabe

OMD[monitoring]:~$ ssh root@myhost23
The authenticity of host 'myhost23 (10.11.12.13)' can't be established.
ECDSA key fingerprint is SHA256:lWgVK+LtsMgjHUbdsA1FK12PdmVQGqaEY4TE8TEps3w.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
<<<check_mk>>>
Version: 2.1.0b6
AgentOS: linux
Hostname: myhost123
AgentDirectory: /etc/check_mk
DataDirectory: /var/lib/check_mk_agent
SpoolDirectory: /var/lib/check_mk_agent/spool
PluginsDirectory: /usr/lib/check_mk_agent/plugins
LocalDirectory: /usr/lib/check_mk_agent/local
<<<df>>>

fertig, Verbindung steht.

Einbinden des Hosts in Checkmk

Nun da die SSh Verbindung hergestellt ist, muss jetzt die SSH verbindung im Host in Checkmk eingetragen werden.
Dazu in der Weboberfläche von check mk gehen, den Host anlegen oder Editieren.