Warning: Undefined variable $galink_author_id in /var/www/clients/client3/web8/web/wp-content/plugins/google-author-link/google-author-link.php on line 148

Check_MK Windows Zertifikatsprüfung

Die immer häufigere Anbindung von LDAPS (siehe frühere Beiträge) führt unter anderem zu dem Problem, dass die exportierten Zertifikate unbemerkt nach einer Weile auslaufen.

Um dies zu verhindern, kann man mit Check_MK die Windows Zertifikate, welche für die LDAPS Anbindung verwendet werden, überwachen.

Folgendes Skript auf dem entsprechenden Domaincontroller im Pfad „C:\ProgramData\checkmk\agent\local\windows_zertifikate_pruefen.ps1“ speichern:

# Zertifikate in cert:\LocalMachine\My\ suchen welche in 14 Tagen auslaufen

$zertifikatsabfrage = Get-ChildItem cert:\LocalMachine\My\ -recurse -ExpiringInDays 14 | Select-Object -property Subject

if($zertifikatsabfrage){
	# Ausgabe falls Zertifikate ablaufen:
	Write-Host '1 DMC-Zertifikate - Zertifikat: ' $zertifikatsabfrage
}
else{ # Ausgabe falls keine Zertifikate ablaufen: Write-Host '0 DMC-Zertifikate - Keine Zertifikate zum verlaengern.' }

Danach den Server über Check_MK neu inventarisieren. Ab jetzt kann man sich rechtzeitig um die ablaufenden Zertifikate kümmern.

Check_MK LDAP Anbindung über SSL (LDAPS)

Es wird vorausgesetzt, dass eine funktionierende LDAP Verbindung besteht. Um diese zu bearbeiten, im WATO Menü zu folgendem Punkt navigieren: „Users“ → „LDAP connections“
Dann die gewünschte LDAP Verbindung auswählen.

Hier müssen folgende Punkte ergänzt werden:

  • LDAP Server: Vollständigen Servernamen eintragen (nicht die IP-Adresse, da sonst das Zertifikat nicht übereinstimmt)
    Tipp: Bei mehreren Servern entweder alle Zertifikate bekannt machen (s.u.) oder einen Server fix auswählen, von dem das Zertifikat bekannt gemacht wird. Hier muss jeder selbst die Ausfallsicherheit entscheiden.
  • TCP Port: 636
  • Use SSL: Haken setzen
  • Alle anderen Parameter bleiben gleich wie bei LDAP ohne Verschlüsselung.

Ein Windows-Zertifikatsexport habe ich bereits hier beschrieben.

Dieses Zertifikat muss auf dem Linuxserver bekannt gemacht werden:

mv dmc_certificate.cer /usr/local/share/ca-certificates/dmc_certificate.crt
update-ca-certificates
systemctl restart apache2

Nun sollte sich Check_MK per LDAPS mit dem Active Directory Server verbinden.

Überwachung der Wetterstation TFA Nexus (Check_mk)

Um die Wetterstation mit Check_mk überprüfen zu können, habe ich zwei Skripte geschrieben. Die Skripte müsst Ihr, bei einer schon funktionierenden Check_mk Umgebung, unter „/usr/lib/check_mk_agent/local/“ speichern und ausführbar machen. Danach auf dem Monitoringserver den überwachten Client neu initialisieren.

Überwachung des Windsensors

#!/bin/sh

# Author:       Benjamin Lindner
# Datum:        29.10.2014
# Version:      0.3
# Webseite:     www.benjaminlindner.de
# Beschreibung: Prueft den Windsensorstatus einer TFA Nexus Wetterstation.


# Abfrage
tfaausgabe=`/usr/bin/te923con`

# Werte trennen
windchill=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $21 }'`
windgustspeed=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $20 }'`
windspeed=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $19 }'`

# Status erstellen
if [ $windchill = "i" -a $windgustspeed = "i" -a $windspeed = "i" ]
        then
        status=2
        statustxt="Windsensor nicht erreichbar!"
elif [ -z "$windchill" -o -z "$windgustspeed" -o -z "$windspeed" ]
        then
        status=3
        statustxt="Windsensor Status unbekannt!"
else
        status=0
        statustxt="Windsensor erreichbar!"
fi

echo "$status Wetterstation_Windsensor - $statustxt"

Überwachung der Batterien
Dieses Skript überwacht den Batteriestatus der externen Geräte. Falls mehr als ein Temperaturfühler verwendet wird, muss das Skript erweitert werden.

#!/bin/sh

# Author:       Benjamin Lindner
# Datum:        21.09.2014
# Version:      0.2
# Webseite:     www.benjaminlindner.de
# Beschreibung: Prueft den Batteriestatus der externen Geraete einer TFA Nexus Wetterstation.


# Abfrage
tfaausgabe=`/usr/bin/te923con -s`

# Werte trennen
rain=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $6 }'`
uv=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $7 }'`
wind=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $8 }'`
temp1=`echo $tfaausgabe |/usr/bin/awk -v FS=":" '{ print $13 }'`

# Status erstellen
if [ $rain = "0" -o $uv = "0" -o $wind = "0" -o $temp1 = "0" ]
        then
        status=2
        statustxt="Batterien bald leer!"
elif [ -z "$rain" -o -z "$uv" -o -z "$wind" -o -z "$temp1" ]
        then
        status=3
        statustxt="Batterien Status unbekannt!"
else
        status=0
        statustxt="Batterien ok!"
fi

echo "$status Wetterstation_Batterien - $statustxt"