Installation
- Netzwerk Vorraussetzungen (Firewall)
- Installation auf Debian 11 Bullseye
- Installation auf Redhat / CentOS 8
- HTTPS aktivieren mit Selbsigniertem Zertifikat
- Einrichten Emailversand mit Postfix
- Einrichtung Email mit dem Nullmailer (Eine alternative zu Postfix)
- Einrichtung Email mit msmtp (nullmailer alternative auf CentOS)
- Einrichtung Email Adresse und Einrichtung Contact Group und testen der Notification
- Maximum Checkmk checkers anpassen
- API User Einrichten
- Check MK Plugins / Extensions - Exchange (mpk)
Netzwerk Vorraussetzungen (Firewall)
Beschreibung:
Der Server und die Agents kommunizieren über mehrere Ports. Diese müssen eingehend erreichbar sein
Firewall Ports
Überwachung von Hosts (Agent, SNMP)
Die folgenden Ports auf überwachten Hosts müssen vom Checkmk-Server aus erreichbar sein.
| Port | Protokoll | Bezeichnung | Ergänzende Informationen |
|---|---|---|---|
|
161 |
UDP |
Via SNMP überwachte Hosts erhalten über diesen Port die Anforderung |
|
|
6556 |
TCP |
Via Checkmk-Agent überwachte Hosts werden über diesen Port abgefragt. Die Kommunikation erfolgt TLS verschlüsselt oder im Klartext (wie beim Linux-Agenten im Legacy-Modus). |
|
|
— |
ICMP |
Ping |
Checkmk überwacht die Erreichbarkeit von Hosts per Ping. Ist dies nicht möglich, muss die Ermittlung des Host-Zustands mit der Regel Host Check Command festgelegt werden. |
Aktive Checks greifen direkt auf die Ports der überwachten Dienste zu, die daher auch vom Checkmk-Server aus erreichbar sein müssen. Die Überwachung mit Spezialagenten kann erfordern, andere/weitere Ports zu öffnen. So benötigt der Spezialagent für VMware ESXi (auch NetApp und viele weitere) die Öffnung des Ports 443 auf dem ESXi Server.
Checkmk-Server
Die folgenden Ports auf dem Checkmk-Server müssen für die Hosts im Monitoring erreichbar sein.
| Port | Protokoll | Bezeichnung | Ergänzende Informationen |
|---|---|---|---|
|
80 |
TCP |
Hypertext Transfer Protocol (HTTP) |
Agent Updater (Agentenbäckerei), Discovery des Agent Controller Ports |
|
162 |
UDP |
Simple Network Management Protocol Trap (SNMPTRAP) EC |
Empfang von SNMP-Traps über die Event Console (optional aktivierbar) |
|
443 |
TCP |
Hypertext Transfer Protocol over SSL/TLS (HTTPS) |
Agent Updater (Agentenbäckerei), Discovery des Agent Controller Ports, mit Transportverschlüsselung |
|
514 |
TCP und UDP |
Syslog (EC) |
Empfang von Syslog-Nachrichten über die Event Console (optional aktivierbar) |
|
6559 |
UDP |
Empfang von UDP-Paketen für die Echtzeitprüfungen einzelner Dienste (selten verwendet, optional aktivierbar) |
|
|
8000 |
TCP |
Agent Controller TLS-Registrierung |
Wenn mehrere Instanzen auf dem Checkmk-Server laufen, sind eventuell weitere Ports (8001, 8002…) nötig. |
Die TLS-Registrierung von Agenten nutzt die REST-API auf Port 80/443 zur Discovery des Ports zur Registrierung (meist 8000 TCP). Sind beide nicht erreichbar, kann der Port per Kommandozeilenoption angegeben werden. Falls Port 8000 nicht erreichbar ist, kann auf anderen Hosts im Monitoring eine Registrierung im Auftrag erfolgen.
Verteiltes Monitoring
Remoteinstanz
Die folgenden Ports auf Remote-Instanzen müssen vom als Zentralinstanz arbeitenden Checkmk-Server erreichbar sein.
| Port | Protokoll | Bezeichnung | Ergänzende Informationen |
|---|---|---|---|
|
80 |
TCP |
HTTPS (Hypertext Transfer Protocol) |
Synchronisierung im verteilten Monitoring |
|
443 |
TCP |
Hypertext Transfer Protocol over SSL/TLS (HTTPS) |
Synchronisierung im verteilten Monitoring, mit Transportverschlüsselung |
|
6555 |
TCP |
Benachrichtigungs-Spooler (notification spooler) |
Der Benachrichtigungs-Spooler dient dem zentralen Versand von Benachrichtigungen, hier beim Verbindungsaufbau durch die Zentralinstanz (optional aktivierbar) |
|
6557 |
TCP |
Wenn mehrere Instanzen auf dem Checkmk-Server laufen, sind eventuell weitere Ports nötig (optional aktivierbar) |
|
|
6558 |
TCP |
Statusanschluss der Event Console (optional aktivierbar) |
Zentralinstanz
Prinzipiell ist verteiltes Monitoring ohne weitere Hilfsmittel wie Tunneling bereits möglich, wenn die Zentralinstanz eine Verbindung zu den Remote-Instanzen herstellen kann. Die Erreichbarkeit der Zentralinstanz durch Remote-Instanzen ist nur für optionale Funktionalitäten (z.B. Agentenbäckerei) erforderlich.
Die folgenden Ports auf dem als Zentralinstanz arbeitenden Checkmk-Server müssen durch die zugeordneten Remote-Instanzen erreichbar sein, um die beschriebene Funktionalität bereitzustellen.
| Port | Protokoll | Bezeichnung | Ergänzende Informationen |
|---|---|---|---|
|
80 |
TCP |
Hypertext Transfer Protocol (HTTP) |
|
|
443 |
TCP |
Hypertext Transfer Protocol over SSL/TLS (HTTPS) |
Für Agentenbäckerei und dynamische Host-Konfiguration, mit Transportverschlüsselung |
|
6555 |
TCP |
Benachrichtigungs-Spooler (notification spooler) |
Der Benachrichtigungs-Spooler dient dem zentralen Versand von Benachrichtigungen, hier beim Verbindungsaufbau durch eine Remote-Instanz (optional aktivierbar) |
Checkmk Appliance Cluster
Sie können zwei Checkmk-Appliances ("Knoten") zu einem Cluster zusammenschließen. Dabei werden alle Konfigurationen und Daten zwischen den beiden Geräten abgeglichen.
Die folgenden Ports müssen von beiden Knoten aus ein- und ausgehend freigegeben sein.
| Port | Protokoll | Bezeichnung | Ergänzende Informationen |
|---|---|---|---|
|
3121 |
TCP |
Pacemaker |
Pacemaker Cluster resource manager |
|
4321 |
UDP |
Corosync |
Corosync Cluster Engine |
|
4323 |
UDP |
Corosync |
Corosync Cluster Engine |
|
7789 |
TCP |
DRBD |
Synchronisierung der DRDB (Distributed Replicated Block Device) |
Firewall Regeln (wenn eine Firewall Konfiguriert ist, hinzufügen, hier am Beispiel am CheckMK-Server nicht Agent)
FIrewalld
Installation:
#Install
yum install firewalld # für RHEL-basierte Systeme
apt-get install firewalld # für Debian-basierte Systeme
#Add Systemstart
systemctl start firewalld
systemctl enable firewalld
Folgende Regeln hinzufügen, falls die Firewall auch gerade erst installiert wurde habe Ich Port 22 (SSH) einfach mit zugepackt, weil sonst sind wir gleich ausgesperrt. Das Permanent bedeutet das auch nach einem neustart des Servers die Regeln wieder geldaen werden sollen
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=6559/udp --permanent
firewall-cmd --zone=public --add-port=514/udp --permanent
firewall-cmd --zone=public --add-port=514/tcp --permanent
firewall-cmd --zone=public --add-port=162/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
Alle Regeln auflisten lassen
firewall-cmd --list-all
Output
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client http https ssh
ports: 3000/tcp 8005/tcp 5665/tcp 8000/tcp 6559/udp 514/udp 514/tcp 162/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Nun ein relaod der Firewall durchführen
firewall-cmd --reload
ufw Firewall
Install.
#Install
apt-get install ufw # für Debian-basierte Systeme
yum install ufw # für RHEL-basierte Systeme
#Enable at Systemstart
ufw enable
Regeln hinzufügen
ufw allow 8000/tcp
ufw allow 6559/udp
ufw allow 514/udp
ufw allow 514/tcp
ufw allow 162/udp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 22/tcp
Installation auf Debian 11 Bullseye
1. Vorrausetzung ist ein Debian 11 mit ssh Zugang via Schlüsseldatei.
Auf dei Website https://checkmk.com/de
Und oben rechts auf Downloads.
Nun Checkmk für Linux auswählen -> Free / Enterprise -> Version 2.1 bzw die Aktuellste -> Debian -> Debian 11 -> geschäftlich
Emailadresse (Kann auch ne Fake Email sein, denn die Installationsanleitung kommt danach eingeblendet)
eintragen und auf Download & install drücken
Jetz werden die Befehle zur Installation angezeigt. Ich habe diese aber zum kopieren im nächsten Schritt angefügt
DIe Debdatei per WGET downloaden. Zur Zeitpunkt der erstellung des Artikels Version 2.1
wget https://download.checkmk.com/checkmk/2.1.0p16/check-mk-free-2.1.0p16_0.bullseye_amd64.deb
Nun das Paket installieren
apt install ./check-mk-free-2.1.0p16_0.bullseye_amd64.deb
Zum Schluss kommt ein Hinweis, da wir die installation ja schon als root ausgeführt haben.
Dies ist kein Fehler
Ausgabe...
N: Der Download wird als root und nicht Sandbox-geschützt durchgeführt,
da auf die Datei »/root/check-mk-free-2.1.0p16_0.bullseye_amd64.deb« durch den Benutzer
»_apt« nicht zugegriffen werden kann. - pkgAcquire::Run (13: Keine Berechtigung)
Überpüfen ob korrekt installiert wurde
omd version
Die Ausgabe sollte so aussehen
OMD - Open Monitoring Distribution Version 2.1.0p16.cfe
Nun eine Checkmk instanz erstellen. Eine Intenz wäre zum Beispiel Kunde oder ein Projekt.
Checkmk ist sogesehen Multi Mandant fähig.
Jede Instanz kann auch verschiedene Versionsnummern haben.
Z.b Eine Test umgegbung mit der schon Version 2 getestet wird und ne Prod die noch auf 1.6 läuft
Instanz erstellen
omd create <namederinstanz>
Beispiel
omd create monitoring
Hier bekommen wir den Hinweis, das wir zu wenig VCPUs haben.
Ist halt ne Testumgebeung. Gleichzeitig sehen wir hier das Kennwort für den Webadmin
Ausgabe:
Creating temporary filesystem /omd/sites/monitoring/tmp...OK
Updating core configuration...
Generating configuration for core (type cmc)...
WARNING: The number of configured checkers is higher than the number of available CPUs. To avoid unnecessary context switches, the number of checkers should be limited to the number of CPUs. Recommended number of checkers: 2
Starting full compilation for all hosts Creating global helper config...OK
Creating cmc protobuf configuration...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site monitoring with version 2.1.0p16.cfe.
The site can be started with omd start monitoring.
The default web UI is available at http://checkmk/monitoring/
The admin user for the web applications is cmkadmin with password: **** wird natürlcih in klartext angezeigt ****
For command line administration of the site, log in with 'omd su monitoring'.
After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.
Damit wäre die Installation abgeschlossen.
Wie im oberen text zu sehen.
ist das Kennwort ändern übers Terminal jederzeit möglich.
omd su <instanzname>
dann
cmk-passwd <nuntername>
Beispiel :
omd su monitoring
cmk-passwd cmkadmin
Nun einloggen über IP/Domain Instanzname
Beispiel https://checkmk.io/monitoring
Installation auf Redhat / CentOS 8
1. Vorrausetzung ist ein Debian 11 mit ssh Zugang via Schlüsseldatei.
Auf dei Website https://checkmk.com/de
Und oben rechts auf Downloads.
Nun Checkmk für Linux auswählen -> Free / Enterprise -> Version 2.1 bzw die Aktuellste -> Red Hat /Centos -> red Hat / Alma Linux -> geschäftlich
Emailadresse (Kann auch ne Fake Email sein, denn die Installationsanleitung kommt danach eingeblendet)
eintragen und auf Download & install drücken
Jetz werden die Befehle zur Installation angezeigt. Ich habe diese aber zum kopieren im nächsten Schritt angefügt
DIe Debdatei per WGET downloaden. Zur Zeitpunkt der erstellung des Artikels Version 2.1
wget https://download.checkmk.com/checkmk/2.1.0p20/check-mk-free-2.1.0p20-el8-38.x86_64.rpm
Nun das Paket installieren
rpm --install ./check-mk-free-2.1.0p20-el8-38.x86_64.rpm
Wenn wir einen haufen depencies Fehler bekommen. Sind die Abbhängigkeiten noch nicht installiert
warning: ./check-mk-free-2.1.0p20-el9-38.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID c4503261: NOKEY
error: Failed dependencies:
dialog is needed by check-mk-free-2.1.0p20-el9-38.x86_64
freeradius-utils is needed by check-mk-free-2.1.0p20-el9-38.x86_64
graphviz-gd is needed by check-mk-free-2.1.0p20-el9-38.x86_64
libgsf is needed by check-mk-free-2.1.0p20-el9-38.x86_64
perl-IO-Zlib is needed by check-mk-free-2.1.0p20-el9-38.x86_64
perl-Locale-Maketext-Simple is needed by check-mk-free-2.1.0p20-el9-38.x86_64
perl-Net-Ping is needed by check-mk-free-2.1.0p20-el9-38.x86_64
poppler-utils is needed by check-mk-free-2.1.0p20-el9-38.x86_64
rpm-build is needed by check-mk-free-2.1.0p20-el9-38.x86_64
rsync is needed by check-mk-free-2.1.0p20-el9-38.x86_64
time is needed by check-mk-free-2.1.0p20-el9-38.x86_64
uuid is needed by check-mk-free-2.1.0p20-el9-38.x86_64
Nun mit dem Paketmanger dnf installieren, der installiert die Abbhängigkeiten gleich mit.
dnf install check-mk-free-2.1.0p20-el8-38.x86_64.rpm
Sollte da folgender Fehler kommen:
CentOS Linux 8 - AppStream 157 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
Cent OS 8, ist eigentlich End of Life. Nun die Repo austauschen um das Cent OS 8 zu aktualisieren.
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
Nun den DNF Befehl nochmals ausführen und alle Abhängigkeiten werden mit installiert.
Ausgabe:
[root@catl02v406 ~]# dnf install check-mk-free-2.1.0p20-el8-38.x86_64.rpm
CentOS Linux 8 - AppStream 11 MB/s | 8.4 MB 00:00
CentOS Linux 8 - BaseOS 15 MB/s | 4.6 MB 00:00
CentOS Linux 8 - Extras 124 kB/s | 10 kB 00:00
CentOS Linux 8 - PowerTools 8.6 MB/s | 2.3 MB 00:00
ICINGA (stable release for epel) 61 kB/s | 2.9 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64 53 kB/s | 30 kB 00:00
Extra Packages for Enterprise Linux Modular 8 - x86_64 1.1 MB/s | 733 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64 45 kB/s | 24 kB 00:00
Extra Packages for Enterprise Linux 8 - x86_64
....
Upgraded:
elfutils-libelf-0.185-1.el8.x86_64 elfutils-libs-0.185-1.el8.x86_64 graphviz-2.40.1-43.el8.x86_64 ima-evm-utils-1.3.2-12.el8.x86_64 openssl-1:1.1.1k-5.el8_5.x86_64 openssl-devel-1:1.1.1k-5.el8_5.x86_64
openssl-libs-1:1.1.1k-5.el8_5.x86_64 python3-rpm-4.14.3-19.el8.x86_64 rpm-4.14.3-19.el8.x86_64 rpm-build-libs-4.14.3-19.el8.x86_64 rpm-libs-4.14.3-19.el8.x86_64 rpm-plugin-selinux-4.14.3-19.el8.x86_64
rpm-plugin-systemd-inhibit-4.14.3-19.el8.x86_64
Installed:
bzip2-1.0.6-26.el8.x86_64 check-mk-free-2.1.0p20-el8-38.x86_64 dialog-1.3-13.20171209.el8.x86_64 elfutils-0.185-1.el8.x86_64
freeradius-3.0.20-10.module_el8.5.0+1057+66764497.x86_64 freeradius-utils-3.0.20-10.module_el8.5.0+1057+66764497.x86_64 gc-7.6.4-3.el8.x86_64 gdb-headless-8.2-16.el8.x86_64
graphviz-gd-2.40.1-43.el8.x86_64 guile-5:2.0.14-7.el8.x86_64 libatomic_ops-7.6.2-3.el8.x86_64 libbabeltrace-1.5.4-3.el8.x86_64
libgsf-1.14.41-5.el8.x86_64 libipt-1.6.1-8.el8.x86_64 nspr-4.32.0-1.el8_4.x86_64 nss-3.67.0-7.el8_5.x86_64
nss-softokn-3.67.0-7.el8_5.x86_64 nss-softokn-freebl-3.67.0-7.el8_5.x86_64 nss-sysinit-3.67.0-7.el8_5.x86_64 nss-util-3.67.0-7.el8_5.x86_64
patch-2.7.6-11.el8.x86_64 perl-DBI-1.641-3.module_el8.3.0+413+9be2aeb5.x86_64 perl-IO-Zlib-1:1.10-420.el8.noarch perl-Locale-Maketext-1.28-396.el8.noarch
perl-Locale-Maketext-Simple-1:0.21-420.el8.noarch perl-Math-BigInt-1:1.9998.11-7.el8.noarch perl-Math-Complex-1.59-420.el8.noarch perl-Net-Ping-2.55-420.el8.noarch
perl-Time-HiRes-4:1.9758-2.el8.x86_64 poppler-20.11.0-3.el8_5.1.x86_64 poppler-data-0.4.9-1.el8.noarch poppler-utils-20.11.0-3.el8_5.1.x86_64
rpm-build-4.14.3-19.el8.x86_64 rsync-3.1.3-12.el8.x86_64 time-1.9-3.el8.x86_64 tpm2-tss-2.3.2-4.el8.x86_64
uuid-1.6.2-43.el8.x86_64 xinetd-2:2.3.15-24.el8.x86_64 zstd-1.4.4-1.el8.x86_64
Complete!
Überpüfen ob korrekt installiert wurde
omd version
Die Ausgabe sollte so aussehen
OMD - Open Monitoring Distribution Version 2.1.0p16.cfe
Nun eine Checkmk instanz erstellen. Eine Intenz wäre zum Beispiel Kunde oder ein Projekt.
Checkmk ist sogesehen Multi Mandant fähig.
Jede Instanz kann auch verschiedene Versionsnummern haben.
Z.b Eine Test umgegbung mit der schon Version 2 getestet wird und ne Prod die noch auf 1.6 läuft
Instanz erstellen
omd create <namederinstanz>
Beispiel
omd create monitoring
Hier bekommen wir den Hinweis, das wir zu wenig VCPUs haben.
Ist halt ne Testumgebeung. Gleichzeitig sehen wir hier das Kennwort für den Webadmin
Ausgabe:
Creating temporary filesystem /omd/sites/monitoring/tmp...OK
Updating core configuration...
Generating configuration for core (type cmc)...
WARNING: The number of configured checkers is higher than the number of available CPUs. To avoid unnecessary context switches, the number of checkers should be limited to the number of CPUs. Recommended number of checkers: 2
Starting full compilation for all hosts Creating global helper config...OK
Creating cmc protobuf configuration...OK
Executing post-create script "01_create-sample-config.py"...OK
Restarting Apache...OK
Created new site monitoring with version 2.1.0p16.cfe.
The site can be started with omd start monitoring.
The default web UI is available at http://checkmk/monitoring/
The admin user for the web applications is cmkadmin with password: **** wird natürlcih in klartext angezeigt ****
For command line administration of the site, log in with 'omd su monitoring'.
After logging in, you can change the password for cmkadmin with 'cmk-passwd cmkadmin'.
Damit wäre die Installation abgeschlossen.
Wie im oberen text zu sehen.
ist das Kennwort ändern übers Terminal jederzeit möglich.
omd su <instanzname>
dann
cmk-passwd <nuntername>
Beispiel :
omd su monitoring
cmk-passwd cmkadmin
Nun einloggen über IP/Domain Instanzname
Beispiel https://checkmk.io/monitoring
HTTPS aktivieren mit Selbsigniertem Zertifikat
Da http Verbindungen auch im Internen LAN mitgeschnitten werden können, HTTPS einrichten.
Dazu ein reciht uns ein selbstsigniertes Zertifikat.
Hauptsache, verschlüsselt
Zertifikat anlegen, dazu erstellen wir uns ein neues Verzeichnis
mkdir -p /etc/apache2/ssl
Nun den Privaten Schlüssel erstellen
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.pem -out /etc/apache2/ssl/apache.pem
Unser Beispiel mit höherer sicherheit und 100 Jhre gültigkeit
openssl req -x509 -nodes -days 36500 -newkey rsa:4096 -keyout /etc/apache2/ssl/apache.pem -out /etc/apache2/ssl/apache.pem
Nun die Zertifikatsfragen beantworten.
Bei common Name habe ich checkmk.local.lan eingegeben, da eh lokal
enerating a RSA private key
............................................++++
.....................................++++
writing new private key to '/etc/apache2/ssl/apache.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:checkmk.local.lan
Email Address []:
Beschreibung zu oberen Parameters
| – SSL/TLS-Zertifikat Typ X.509, dient zur Authentifizierung und Verifizierung der Identität eines Hosts oder einer Website (.pem) – RSA-Key mit 2048 Bit, bietet eine sichere Verschlüsselung von Daten (Wir testen mal 4096 – days gibt die Gültigkeitsdauer des Zertifikats in Tagen an (Wir enehmen 100 Jahre = 36500 Tage) – keyout / -out, legt den Speicherpfad des neu generierten privaten Keys und des Zertifikates fest |
Neues Zertifikat verlinken
ln -sf /etc/apache2/ssl/apache.pem /etc/apache2/ssl/`/usr/bin/openssl x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0
Nun haben wir eine Verlinkung des Zertifikat mit Hashnummer
ls /etc/apache2/ssl/
17691c22.0 apache.pem
rechte des Zertifikates anpassen
chmod 600 /etc/apache2/ssl/apache.pem
Überprüfen ob in den Ports die Eintrage für 443 vorhanden sind
cat /etc/apache2/ports.conf
So sollte es aussehen
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Apache Server neu starten, a2enable ssl und neustarten des apache2
service apache2 reload
a2enmod ssl
service apache2 restart
Eine neue config datei erstellen
nano /etc/apache2/sites-available/ssl.conf
Inhalt
<virtualhost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
DocumentRoot /var/www/html
</virtualhost>
Nun die Site aktivieren und apache neustarten
a2ensite ssl.conf
service apache2 restart
Nun ist die Website per https erreichbar.
Allerings fehlt noch ein redirekt auf https wenn http eingebeben wird
Dazu die /etc/apache2/sites-enabled/000-default.conf editieren
nano /etc/apache2/sites-enabled/000-default.conf
Und folgendes hinzufügen über Serveradmin
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L]
Nun speichern und apach2 neustarten
service apache2 restart
Einrichten Emailversand mit Postfix
Damit auch Emailbenachrichtungen raus gehen, richten wir uns einen Postfix SMTP Server ein.
Abhängigkeiten installieren
apt-get install -y postfix bsd-mailx
NunInternet Site auswählen
Email Name ausfüllen: checkmk.local.lan
Nun den Emailempfänger für root eingeben.
weitere zeile, einfach so lassen
bei Synchrone Aktualiseirungen... Nein auswählen
Postfachgröße 0 einfach weiter klicken
Zeichen für Adresserweiterung
Alle auswählen
nun die Postfix datei /etc/postfix/main.cf öffnen
nano /etc/postfix/main.cf
Inhalt unter smtp_tls session diese 3 Zeilen einfügen
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
Nun noch den relyhost anpassen. Bei mir ist es rs001871.fastrootserver.de
Nun die Password File anlegen
nano /etc/postfix/sasl_passwd
Inhalt, SMTP Host, Benutzername, Kennwort
[rs001871.fastrootserver.de]:587 monitoring@star-module.com *****
Nun die Password File eine Postmap draus machen
postmap /etc/postfix/sasl_passwd
Nun den Postfix-Server neustarten
service postfix restart
Testemail senden
echo "Dies ist eine Test E-Mail vom checkmk-Server" | mailx -s "Test" <ihre_notification_e-mail-adresse@gmail.com>
in der /var/log/mail.log kann man das ergebnis sehen.
hier ein Fehler beispiel, bei der Authentifizierung. Ganz am ende steht authetication failed. So weiß man, okay Kennwort falsch.
Nov 29 11:38:45 checkmk postfix/postfix-script[26039]: starting the Postfix mail system
Nov 29 11:38:45 checkmk postfix/master[26041]: daemon started -- version 3.5.13, configuration /etc/postfix
Nov 29 11:40:53 checkmk postfix/postfix-script[26644]: stopping the Postfix mail system
Nov 29 11:40:53 checkmk postfix/master[26041]: terminating on signal 15
Nov 29 11:40:54 checkmk postfix/postfix-script[27198]: starting the Postfix mail system
Nov 29 11:40:54 checkmk postfix/master[27200]: daemon started -- version 3.5.13, configuration /etc/postfix
Nov 29 11:41:10 checkmk postfix/pickup[27201]: A9F0D2075B: uid=0 from=<root>
Nov 29 11:41:10 checkmk postfix/cleanup[27249]: A9F0D2075B: message-id=<20221129104110.A9F0D2075B@checkmk.local.lan>
Nov 29 11:41:10 checkmk postfix/qmgr[27202]: A9F0D2075B: from=<root@checkmk.local.lan>, size=440, nrcpt=1 (queue active)
Nov 29 11:41:10 checkmk postfix/smtp[27251]: A9F0D2075B: to=<bonkersdeluxe@gmail.com>, relay=rs001871.fastrootserver.de[213.202.247.147]:25, delay=0.24, delays=0.02/0.02/0.21/0, dsn=4.7.8, status=deferred (SASL authentication failed; server rs001871.fastrootserver.de[213.202.247.147] said: 535 5.7.8 Error: authentication failed: authentication failure)
So sähe ein erfolgreicher Versand aus
Jan 20 10:22:03 checkmk postfix/pickup[603605]: 317CB20BB6: uid=0 from=<root>
Jan 20 10:22:03 checkmk postfix/cleanup[606550]: 317CB20BB6: message-id=<20230120092203.317CB20BB6@checkmk.local.lan>
Jan 20 10:22:03 checkmk postfix/qmgr[1102]: 317CB20BB6: from=<root@checkmk.local.lan>, size=443, nrcpt=1 (queue active)
Jan 20 10:22:03 checkmk postfix/smtp[606552]: 317CB20BB6: to=<monitoring@star-module.com>, relay=rs001871.fastrootserver.de[213.202.247.147]:25, delay=0.36, delays=0.02/0.01/0.19/0.14, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 65D0A18806E2)
Jan 20 10:22:03 checkmk postfix/qmgr[1102]: 317CB20BB6: removed
Einrichtung Email mit dem Nullmailer (Eine alternative zu Postfix)
Beschreibung
Der Nullmailer ist ein einfaches SMTP-Forwarding-System, das Sie verwenden können, um Benachrichtigungen aus Checkmk an Ihre E-Mail-Adresse weiterzuleiten. Hier sind die Schritte, wie Sie den Nullmailer in Checkmk einrichten.
Installation
-
Installieren Sie Nullmailer auf dem System, auf dem Checkmk installiert ist. Je nach Ihrem Betriebssystem finden Sie hier Anweisungen zur Installation:
- Debian/Ubuntu:
sudo apt-get install nullmailer mailutils - Red Hat/CentOS:
sudo yum install nullmailer - SUSE:
sudo zypper install nullmailer Sollte auf Ihrem System ein Konfigurationsassistent kommen, den Hostnamen kann man so lassen. Und im zweiten Feld den Server und den Benutzer, Verschlüsselung, Kennwort und weiter benötigte Parameter eintragen. Am Ende des Artikels gibts noch Beispiele für verschiedene SMTP Server Beispiele.
- Debian/Ubuntu:
- Konfigurieren Sie Nullmailer, indem Sie einen gültigen SMTP-Server angeben. Dies können Sie in der Datei
/etc/nullmailer/remotestun. Wenn auf Ihrem System der Assistent bei Installtion des Pakets schon aufgerufen wurde, kann dieser Teil übersprungen werden.
Hier ist ein Beispiel:
smtp.example.com smtp --port=587 --starttls --user=username --pass=password - Überprüfen Sie, ob Nullmailer korrekt funktioniert, indem Sie eine Test-E-Mail senden:
echo "Dies ist eine Test-E-Mail." | mail -s "Test-E-Mail" recipient@example.com - Wenn alles ordnungsgemäß eingerichtet ist, sollte die Test-E-Mail an Ihre E-Mail-Adresse gesendet werden. Von nun an sollte Checkmk Benachrichtigungen über Nullmailer an die angegebene E-Mail-Adresse senden.
Beispiele für die Verwendung von Parametern in der /etc/nullmailer/remotes
SMTP-Server ohne Authentifizierung:
smtp.example.com smtp --port=25
SMTP-Server mit Authentifizierung (Base64-verschlüsselt):
smtp.example.com smtp --port=587 --user=username --pass=password
SMTP-Server mit Authentifizierung und SSL/TLS (Port 465):
smtp.example.com smtp --port=465 --ssl --user=username --pass=password
SMTP-Server mit Authentifizierung und STARTTLS (Port 587):
smtp.example.com smtp --port=587 --starttls --user=username --pass=password
Bitte beachten Sie, dass Sie für Ihre spezifische SMTP-Konfiguration möglicherweise weitere Optionen oder abweichende Portnummern verwenden müssen. Vergewissern Sie sich daher, dass Sie die richtigen Informationen von Ihrem E-Mail-Provider oder Systemadministrator erhalten, bevor Sie die /etc/nullmailer/remotes-Datei bearbeiten.
Der "auth login"-Parameter
in der /etc/nullmailer/remotes-Datei wird verwendet, um den SMTP-Authentifizierungstyp anzugeben, der beim Verbinden mit dem SMTP-Server verwendet werden soll.
Wenn der SMTP-Server die "SMTP AUTH LOGIN"-Authentifizierung unterstützt, können Sie den "auth login"-Parameter wie folgt verwenden:
smtp.example.com smtp --port=587 --auth-login --user=username --pass=password
Mit dem "auth login"-Parameter wird angegeben, dass die Authentifizierung über die "SMTP AUTH LOGIN"-Methode durchgeführt werden soll, bei der Benutzername und Passwort in Base64-verschlüsselter Form übertragen werden.
Bitte beachten Sie, dass nicht alle SMTP-Server die "SMTP AUTH LOGIN"-Authentifizierung unterstützen. Stattdessen können Sie andere Authentifizierungsmethoden wie "SMTP AUTH PLAIN" oder "SMTP AUTH CRAM-MD5" verwenden, aber das hängt von Ihrem SMTP-Provider ab. Es ist daher wichtig, die richtigen Informationen von Ihrem E-Mail-Provider oder Systemadministrator zu erhalten, bevor Sie die /etc/nullmailer/remotes-Datei bearbeiten.
Fehlersuche
Wenn das Versenden einer Email nicht funktioniert, können Sie in der /var/mail.log nachschauen.
Nullmailer legt die Logdatei dort rein.
Ein Fehlerbeispiel:
cat /var/log/mail.log
Feb 9 11:22:40 checkmk nullmailer-send[20616]: Rescanning queue.
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Trigger pulled.
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Rescanning queue.
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Starting delivery, 1 message(s) in queue.
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Starting delivery: host: meinedomain.de protocol: smtp file: 1675938242.21098
Feb 9 11:24:02 checkmk nullmailer-send[20616]: From: <root@checkmk.local.lan> to: <dest@gmail.com>
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Message-Id: <1675938242.567604.21097.nullmailer@checkmk.local.lan>
Feb 9 11:24:02 checkmk nullmailer-send[21099]: smtp: Failed: Server SSL/TLS certificate does not match hostname
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Sending failed: Temporary error in sending the message
Feb 9 11:24:02 checkmk nullmailer-send[20616]: Delivery complete, 1 message(s) remain.
Feb 9 11:25:02 checkmk nullmailer-send[20616]: Rescanning queue.
Feb 9 11:25:02 checkmk nullmailer-send[20616]: Starting delivery, 1 message(s) in queue.
Feb 9 11:25:02 checkmk nullmailer-send[20616]: Starting delivery: host: meinedomain.de protocol: smtp file: 1675938242.21098
Feb 9 11:25:02 checkmk nullmailer-send[20616]: From: <root@checkmk.local.lan> to: <dest@gmail.com>
Feb 9 11:25:02 checkmk nullmailer-send[20616]: Message-Id: <1675938242.567604.21097.nullmailer@checkmk.local.lan>
Feb 9 11:25:02 checkmk nullmailer-send[21137]: smtp: Failed: Server SSL/TLS certificate does not match hostname
Feb 9 11:25:02 checkmk nullmailer-send[20616]: Sending failed: Temporary error in sending the message
Feb 9 11:25:02 checkmk nullmailer-send[20616]: Delivery complete, 1 message(s) remain.
Feb 9 11:27:03 checkmk nullmailer-send[20616]: Rescanning queue.
Feb 9 11:27:03 checkmk nullmailer-send[20616]: Starting delivery, 1 message(s) in queue.
Feb 9 11:27:03 checkmk nullmailer-send[20616]: Starting delivery: host: meinedomain.de protocol: smtp file: 1675938242.21098
Feb 9 11:27:03 checkmk nullmailer-send[20616]: From: <root@checkmk.local.lan> to: <dest@gmail.com>
Feb 9 11:27:03 checkmk nullmailer-send[20616]: Message-Id: <1675938242.567604.21097.nullmailer@checkmk.local.lan>
Feb 9 11:27:03 checkmk nullmailer-send[21197]: smtp: Failed: Server SSL/TLS certificate does not match hostname
Feb 9 11:27:03 checkmk nullmailer-send[20616]: Sending failed: Temporary error in sending the message
Feb 9 11:27:03 checkmk nullmailer-send[20616]: Delivery complete, 1 message(s) remain.
Feb 9 11:31:03 checkmk nullmailer-send[20616]: Rescanning queue.
Feb 9 11:31:03 checkmk nullmailer-send[20616]: Starting delivery, 1 message(s) in queue.
Feb 9 11:31:03 checkmk nullmailer-send[20616]: Starting delivery: host: meinedomain.de protocol: smtp file: 1675938242.21098
Feb 9 11:31:03 checkmk nullmailer-send[20616]: From: <root@checkmk.local.lan> to: <dest@gmail.com>
Feb 9 11:31:03 checkmk nullmailer-send[20616]: Message-Id: <1675938242.567604.21097.nullmailer@checkmk.local.lan>
Feb 9 11:31:03 checkmk nullmailer-send[21328]: smtp: Failed: Server SSL/TLS certificate does not match hostname
Feb 9 11:31:03 checkmk nullmailer-send[20616]: Sending failed: Temporary error in sending the message
Feb 9 11:31:03 checkmk nullmailer-send[20616]: Delivery complete, 1 message(s) remain.
Was ist hier passiert. Der Domainname passt nicht zum Zertifikat. Warum. Wir haben als SMTP-Server
meinedomain.de angeben. Auf eminedomain.de lauscht zwar der smtp Server.
Aber das Zertifikat ist auf mail.meinedomaine.de ausgestellt.
Also muss in der remotesdatei als smtpserver mail.meinedomain.de angeben werden.
Und schon klappt der Versand.
Die Änderungen in der remotes Datei sind sofort wirksam, da nullmailer diese beim senden immer wieder neu einliest.
Also kein Dienst muss neugestartet werden.
Logauzug (Hier sind jetzt zwei Nachrichten drin, weil wir noch eine Email versendet haben) :
Starting delivery, 2 message(s) in queue.
Feb 9 11:42:39 checkmk nullmailer-send[20616]: Starting delivery: host: mail.mainedomain.de protocol: smtp file: 1675938242.21098
Feb 9 11:42:39 checkmk nullmailer-send[20616]: From: <root@checkmk.local.lan> to: <dest@gmail.com>
Feb 9 11:42:39 checkmk nullmailer-send[20616]: Message-Id: <1675938242.567604.21097.nullmailer@checkmk.local.lan>
Feb 9 11:42:40 checkmk nullmailer-send[21760]: smtp: Succeeded: 250 2.0.0 Ok: queued as 016091881A7C
Feb 9 11:42:40 checkmk nullmailer-send[20616]: Sent file.
Feb 9 11:42:40 checkmk nullmailer-send[20616]: Starting delivery: host: mail.meinedomain.de protocol: smtp file: 1675939359.21759
Feb 9 11:42:40 checkmk nullmailer-send[20616]: From: <root@checkmk.local.lan> to: <dest@gmail.com>
Feb 9 11:42:40 checkmk nullmailer-send[20616]: Message-Id: <1675939359.525504.21758.nullmailer@checkmk.local.lan>
Feb 9 11:42:40 checkmk nullmailer-send[21761]: smtp: Succeeded: 250 2.0.0 Ok: queued as 465411881AAF
Feb 9 11:42:40 checkmk nullmailer-send[20616]: Sent file.
Feb 9 11:42:40 checkmk nullmailer-send[20616]: Delivery complete, 0 message(s) remain.
Zustellung Erfolgreich.
Einrichtung Email mit msmtp (nullmailer alternative auf CentOS)
Beschreibung
msmtp ist ein MTA für deinen reinen Versand über sendmail.
Nullmailer ist auf Debian Systemen verfügbar, allerdings nicht auf CentOS.
Somit machen wir hier von msmtp gebrauch, da es auch in den Paketmanager dnf Verfügbar ist.
Installation
Einloggen auf dem system und den Befehl
dnf install msmtp
Ausgabe, Frage mit y beantworten:
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
msmtp x86_64 1.8.10-1.el8 epel 181 k
Installing dependencies:
libgsasl x86_64 1.8.0-8.el8 epel 137 k
libntlm x86_64 1.6-1.el8 epel 99 k
Transaction Summary
================================================================================
Install 3 Packages
Total download size: 417 k
Installed size: 1.3 M
Is this ok [y/N]:
Ausgabe:
Downloading Packages:
(1/3): libntlm-1.6-1.el8.x86_64.rpm 876 kB/s | 99 kB 00:00
(2/3): libgsasl-1.8.0-8.el8.x86_64.rpm 1.1 MB/s | 137 kB 00:00
(3/3): msmtp-1.8.10-1.el8.x86_64.rpm 1.2 MB/s | 181 kB 00:00
--------------------------------------------------------------------------------
Total 408 kB/s | 417 kB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libntlm-1.6-1.el8.x86_64 1/3
Installing : libgsasl-1.8.0-8.el8.x86_64 2/3
Running scriptlet: libgsasl-1.8.0-8.el8.x86_64 2/3
Installing : msmtp-1.8.10-1.el8.x86_64 3/3
Running scriptlet: msmtp-1.8.10-1.el8.x86_64 3/3
Verifying : libgsasl-1.8.0-8.el8.x86_64 1/3
Verifying : libntlm-1.6-1.el8.x86_64 2/3
Verifying : msmtp-1.8.10-1.el8.x86_64 3/3
Installed:
libgsasl-1.8.0-8.el8.x86_64 libntlm-1.6-1.el8.x86_64
msmtp-1.8.10-1.el8.x86_64
Complete!
Konfiguration
Für eine Systemweite Konfiguration legen wir eine Konfig Datei in /etc/msmtprc an.
nano /etc/msmtprc
Über diese Konfiguration kann aber nur root senden.
Möchte man aber weiteren Benutzern gestatten Emails zu senden, dann muss eine Konfigurationsdatei im Home-Verzeichnis des Benutzers angelegt werden.
nano ~/.msmtprc
Inhaltlich sind die Konfigurationsdateien, System und Benutzer gleich.
Für unsere Konfig loggen wir uns in unsere Checkmk instanz ein.
omd su catmonitoring
Nun eine beispielkonfig für eine Emailadresse ohne Auth. Aber es kann ganz einfach angeschaltet werden.
Es ist mit Dokumentiert
# Standardwerte für alle Konten setzen
defaults
# SMTP-Port auf 25, 465 oder 587 setzen
port 587
# Immer TLS aktivieren
tls on
#Pfad zur Logfile
logfile /var/log/msmtp.log
# Mail-Konto Name, hier als Liste angegeben
# Endet mit Passwort, und bei einem neuen Eintrag mit Konto-Name
# handelt es sich um ein zweites E-Mail-Konto
account user@email.de
# Hostname oder IP des SMTP-Servers
host <ip_oder_hostname>
# From-Header setzen (wichtig für 1&1, GMX, web.de usw.)
# Mögliche Werte: on oder off
set_from_header on
# Absender-Adresse
from user@email.de
# Authentifizierung nutzen (on oder off)
auth off
# Authentifizierungs-Benutzername, ignorieren, wenn auth off
user user@email.de
# Passwort für das Konto, ignorieren, wenn auth off
password wirhabenkeins
# Standardkonto festlegen
account default: user@email.de
# Lokale Benutzer auf Mail-Adressen mappen
aliases /etc/aliases
Speichern und die Rechte der Datei anpassen.
chmod 600 .msmtprc
Logfile erstellen
touch /var/log/msmtp.log
chmod 666 /var/log/msmtp.log
Sendmailprogram festelegen. Dazu das original sendmail eine Backupkopie speichern.
mv /usr/sbin/sendmail /usr/sbin/sendmail.original
Nun den alias auf sendmail erstellen
ln -s /usr/bin/msmtp /usr/sbin/sendmail
Soll das normale Mail Programm auch umgestellt werden dann die datei .mailrc im Homeverzeichnis bearbeiten
set sendmail="/usr/bin/msmtp"
set message-sendmail-extra-arguments="-a default"
Testen
echo "Testtext" | mail -S msmtp -s "Betreff" empfaenger@zieldomain.de
In der Log nachschauen ob geklappt
Einrichtung Email Adresse und Einrichtung Contact Group und testen der Notification
Login in CheckMK
Dann unter Setup -> Users gehen
Dann bei den Benutzer(n) die Emailadresse hinterlegen und auf speichern klicken
Nun die Änderungs wirksam werden lassen, oben rechts auf change klicken
Nun die Änderungen aktivieren
Wenn nicht schon vorhanden eine neue Gruppe anlegen. Dazu gehen wir unter Setup-> Contact Groups.
Hier legen wir wenn nicht schon vorhanden die Gruppe all an, indem wir auf add klciken.
Nun vergeben wir den namen all, als Alias Everthing und unten whole tree auswählen, dann auf speichern klicken
Nun wieder die Änderungen aktivieren
Nun die Änderungen aktivieren
Wenn wir zur Liste zurück gehen sieht das ganze dann so aus
Nun müssen wir nur noch unseren Benutzer der Contactgruppe hinzufügen. Dazu wieder
Setup -> Users
Den Benutzer bearbeiten und ganz unter unter Contact Group, die Gruppe auswählen
Nun wieder speichern und die Änderungen aktivieren.
Nun die Änderungen aktivieren
Fertig, nun werden die Meldungen von checkmk an alle Benutzer gesendet die eine Emailadresse hinterlegt haben und in der gruppe Everything sind.
Um zu Testen ob die Notifcation funktioniert, obwohl gar kein Fehler/Warnung vorliegt können wir mit folgenden Schritten tun.
Melden Sie sich auf der Webseite Checkmk-System
Klicken Sie nun auf Service OK in der Übersicht
Nun auf irgendeinen Service klicken hier CheckMK
Nun oben im Menü auf Command und dann Custom Notification anklicken.
Nun die Nachricht eingeben und auf Send klicken
Senden bestätigen, fertig
Maximum Checkmk checkers anpassen
.AufSetup -> Global settings klicken
Dann auf Maximum concurrent Checkmk checkers klicken
Und den wert auf die ANzahl vorhandener CPU - 1 setzen.
Beispiel 4 Cores - 1. Den Wert 3 setzen
Auf change open rechts klicken
Auf activiate on selected sites klicken
Fertig
API User Einrichten
Unter Users das API Kennwort für den Benutzer automation ändern bzw. festlegen.
Dazu unter Setup -> Users
Dann in der Liste auf den Stift beim Benutzer automation klicken.
Nun ein neues secret generieren. Dazu auf den grünen würfel klicken. Dann wird das neue Kennwort im Textfeld angezeigt.
Dieses rauskopieren und abspeichern in einem Passwordsafe zum beispiel. Dieses wird für die Agents gebraucht.
Dazu aber später.
Nun auf Save klicken
Und die changes übernehmen
Und auf activate on selected site klicken
Erledigt
Check MK Plugins / Extensions - Exchange (mpk)
Packages downloaden und installieren
Es gibt im Checkmk Exchange verschiedene Plugins / Extensions die man nutzen kann.
Suchbegriff eingeben und nun sehen wir links openvpn clients, dort drauf klicken
und dann auf herunterladen klicken.
Nun befindet sich die Datei im Downloadordner.
mpk können auf zwei Arten installiert werden:
- Über die GUI (Nur Enterprise Edition)
- Übers Terminal
Installations übers Terminal bzw. MKP auf dem Terminal:
Installation eines Packages, dazu die downgeloade mkp per scp z.b ins /tmp Verzeichnis auf den checkmk server übertragen
oder den link von cer exchange Seite kopieren und per wget auf den server ins /tmp Verzeichnis holen.
Wie beliebt.
ich machs per wget
cd /tmp
wget https://exchange.checkmk.com/packages/openvpn-clients/897/openvpn_clients-0.4.mkp
Ausgabe:
Wird in »openvpn_clients-0.4.mkp« gespeichert.
openvpn_clients-0.4.mkp 100%[=========================================================================================================================================>] 3,80K --.-KB/s in 0s
2022-11-21 19:10:45 (212 MB/s) - »openvpn_clients-0.4.mkp« gespeichert [3893/3893]
Nun liegt unser Package im /tmp Verzeichnis mit dem Namen
openvpn_clients-0.4.mkp
Nun in die OMD instaz wo das Plugin installiert werden soll einloggen:
omd su <instanzname>
beispiel : omd su monitoring
Programmhilfe, der befehl lautet mkp ohne Parameter :
OMD[mysite]:~$ mkp
Usage: check_mk [-v] -P|--package COMMAND [ARGS]
Available commands are:
create NAME ... Collect unpackaged files into new package NAME
pack NAME ... Create package file from installed package
release NAME ... Drop installed package NAME, release packaged files
find ... Find and display unpackaged files
list ... List all installed packages
list NAME ... List files of installed package
list PACK.mkp ... List files of uninstalled package file
show NAME ... Show information about installed package
show PACK.mkp ... Show information about uninstalled package file
install PACK.mkp ... Install or update package from file PACK.mkp
remove NAME ... Uninstall package NAME
-v enables verbose output
Package files are located in /omd/sites/mysite/var/check_mk/packages/.
mittel mkp und Parameter install, können wir das Package installieren
mkp install /tmp/openvpn_clients-0.4.mkp
Wenn alles glatt gelaufen ist bleibt die Ausgabe leer.
root@checkmk:/tmp# omd su monitoring
OMD[monitoring]:~$ mkp install /tmp/openvpn_clients-0.4.mkp
OMD[monitoring]:~$
Überpüfen ob das Package installiert wurde
OMD[monitoring]:~$ mkp list
Ausgabe:
openvpn_clients
OMD[monitoring]:~$
Packages installieren über die GUI
im Checkmk einloggen dann auf
Setup -> un den Button show more anklicken
Nun wird die Liste voller, dann auf Maintenance und Extension Packages
Nun dort auf Upload package, über die Extension Seite kann übringes auch der Exchange markt aufgerufen werden.
Jetzt gibst nochmal den Hinweis das man Pakete nur aus vertrauenswürdigen Quellen hochladen sollte.
Also am besten immer nur Plugins ausm Exchange Markt neben weil die werden von tribe29 überpüft.
Nun über den durchsuchen button die mpk aus dem Doenload Ordner wählen
Nun ist die Datei im durchsuchen Button.
jetzt kann auf Upload geklickt werden
Nun ist das Paket unten in der Liste.
Rechts oben auf change klicken
Und wieder aktivieren
Nun zurück wieder unter Maintenance -> Extension Packages
Bei der Extension die wie aktivieren wollen auf den Stecker klicken
Nun steht es oben in der Liste und wieder die changes bestätigen
Fertig installiert
Packages entfernen
Übers Terminal
Übers Terminal wieder in die OMD einloggen.
Mit dem Befehl mkp list den Package namen auflisten lassen, den man entfernen möchte. Diesen merken oder kopieren
MD[monitoring]:~$ mkp list
openvpn_clients
Nun mit folgendem befehl das Package wieder entfernen, wird nix zurücggeben, war es erfolgreich.
OMD[monitoring]:~$ mkp disable openvpn_clients
Packages auflisten lassen.
Wenn es das einzige war, ist die Liste leer ansonsten ist nur unser Package aus der Liste verschwunden.
Nun noch übrig gebliebene Dateien wegräumen.
unter
/omd/sites/<instanzname>/local/lib/check_mk/base/plugins/agent_based/
/omd/sites/monitoring/local/share/check_mk/checks/
/omd/sites/monitoring/local/share/check_mk/agents/plugins/
/omd/sites/monitoring/local/share/check_mk/web/plugins/wato/
/omd/sites/monitoring/local/lib/check_mk/base/cee/plugins/bakery/
liegen eventuell noch reste von packages, die gelöscht werden müssen.
Bei den openvpn_clienst plugins sind es die
openvpn_clients.py
openvpn_clients
openvpn_clients_cee.py
in den jeweiligen Verzeichnissen
Diese einfach löschen
rm /omd/sites/monitoring/local/lib/check_mk/base/plugins/agent_based/openvpn_clients.py
rm /omd/sites/monitoring/local/share/check_mk/checks/openvpn_clients
rm /omd/sites/monitoring/local/share/check_mk/agents/plugins/openvpn_clients
rm /omd/sites/monitoring/local/share/check_mk/web/plugins/wato/openvpn_clients_cee.py
rm /omd/sites/monitoring/local/lib/check_mk/base/cee/plugins/bakery/openvpn_clients.py
Über die GUI
Im Webfrontend einloggen -> Maintenence -> Extensian Packages gehen
Dort auf das Rote x bei aktiviertem Plugin klicken was entfernt werden soll.
Nun sieht die Liste so aus, und die changes wieder bestätigen
Nun auf die Mülltonne klicken
Frage ob wirklich entfernen mit ja beantworten
Nun ist das Plugin vollständig deinstalliert