OpenLDAP und munin

Diesen Beitrag schrieb ich 8 Jahre und 5 Monate zuvor; die nachfolgenden Ausführungen müssen heute weder genau so nach wie vor funktionieren, noch meiner heutigen Meinung entsprechen. Behalte das beim Lesen (und vor allem: beim Nachmachen!) bitte stets im Hinterkopf.

Geschätzte Lesezeit: 1 Minute

Auch und gerade zum Debuggen sind solcherei Graphen sehr nützlich; über die grundlegende Installation und Konfiguration von munin und munin-node will ich mich an dieser Stelle gar nicht weiter auslassen, ich konzentriere mich lediglich auf die Einbindung von OpenLDAP.

$ munin-node-configure --suggest
...
slapd_                     | no   | no [Net::LDAP not found]
slapd_bdb_cache_           | no   | no [Can't execute db_stat file '/usr/bin/db4.6_stat']
...

Es ist also ersichtlich, dass verschiedene benötigte Pakete noch fehlen; unter anderem mahnt er db4.6_stat an, was in diesem Fall aber nicht stimmt, da ich ohnehin bdb-5.3 nutze; Abhilfe schafft, die passenden Utils zu installieren und (in einem späteren Schritt) eine passende Konfiguration für munin-node zu erzeugen.

$ apt-get install libnet-ldap-perl db5.3-util

OpenLDAP konfigurieren

Hierzu muss die slapd.conf erweitert werden:

## file: "slapd.conf"
...
moduleload      back_monitor.la
database        monitor
...

Jetzt muss dem OpenLDAP ein User monitor hinzugefügt werden; vergib ihm ein schönes Passwort (und merke es dir, denn du wirst es später im Konfigfile hinterlegen müssen), erzeuge mittels slappasswd einen entsprechenden userpassword-String und füge ihn ins LDIF ein:

LDIF für User “cn=monitor”

dn: cn=monitor,dc=sysadmama,dc=de
cn: monitor
description: LDAP monitor
objectclass: simpleSecurityObject
objectclass: organizationalRole
userpassword: {SSHA}blablabla

Abschließend musst du die Konfiguration neu erzeugen (wie hier beschrieben) und den Dienst durchstarten.

munin-node konfigurieren

/etc/munin/plugin-conf.d/munin-node

[slapd_*]
env.server 127.0.0.1
env.binddn cn=Monitor,dc=sysadmama,dc=de
env.bindpw deinGeheimesSuperPasswort

[slapd_bdb_cache_*]
user openldap
env.dbstat /usr/bin/db5.3_stat

OpenLDAP pages in cache - munin munin – Requested pages found in cache – by day

Wichtig ist hier auch die Zeile user openldap – lässt du die aus, wird munin an eine „Can't open database directory '/var/lib/ldap'“-Wand laufen ;-) Du kannst nun ein munin-node-configure --suggest --shell | sh ausführen oder deine Symlinks sonstwie setzen, ganz wie es dir gefällt; auf meinem System sieht /etc/munin/plugins dann in etwa so aus:

$ la -la /etc/munin/plugins
...
lrwxrwxrwx 1 root root 41 Oct 14 12:23 slapd_bdb_cache_pages -> /usr/share/munin/plugins/slapd_bdb_cache_
lrwxrwxrwx 1 root root 41 Oct 14 12:23 slapd_bdb_cache_percent -> /usr/share/munin/plugins/slapd_bdb_cache_
lrwxrwxrwx 1 root root 31 Oct  9 12:42 slapd_connections -> /usr/share/munin/plugins/slapd_
lrwxrwxrwx 1 root root 31 Oct  9 12:42 slapd_operations -> /usr/share/munin/plugins/slapd_
lrwxrwxrwx 1 root root 31 Oct  9 12:42 slapd_statistics_bytes -> /usr/share/munin/plugins/slapd_
lrwxrwxrwx 1 root root 31 Oct  9 12:42 slapd_statistics_entries -> /usr/share/munin/plugins/slapd_

Test und Inbetriebnahme

$ munin-run slapd_bdb_cache_percent
slapd_bdb_cache_percent_uidNumber.value 99
slapd_bdb_cache_percent_loginShell.value 94
slapd_bdb_cache_percent_sendmailMTAKey.value 99
slapd_bdb_cache_percent_memberUid.value 99
slapd_bdb_cache_percent_mail.value 93
slapd_bdb_cache_percent_dn2id.value 99
slapd_bdb_cache_percent_id2entry.value 99
slapd_bdb_cache_percent_objectClass.value 99
slapd_bdb_cache_percent_sn.value 94
slapd_bdb_cache_percent_uid.value 99
slapd_bdb_cache_percent_sendmailMTAMapName.value 99
slapd_bdb_cache_percent_sendmailMTACluster.value 99
slapd_bdb_cache_percent_gidNumber.value 99
slapd_bdb_cache_percent_givenName.value 94
slapd_bdb_cache_percent_sendmailMTAAliasGrouping.value 71
slapd_bdb_cache_percent_sendmailMTAHost.value 99

Ehe du ernst machst, solltest du die Plugins von Hand testen und eventuelle Fehler beheben; läuft alles, kannst du mit service munin-node restart die Änderungen übernehmen, und von diesem Zeitpunkt an werden dann die Graphen gezeichnet.

Alle Bilder dieser Seite: © Marianne Spiller – Alle Rechte vorbehalten
Hintergrundbild: Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten

Eure Gedanken zu „OpenLDAP und munin“

Ich freue mich über jeden Kommentar, es sei denn, er ist blöd. Deshalb behalte ich mir auch vor, die richtig blöden kurzerhand wieder zu löschen. Die Kommentarfunktion ist über GitHub realisiert, weshalb ihr euch zunächst dort einloggen und „utterances“ bestätigen müsst. Die Kommentare selbst werden im Issue-Tracker und mit dem Label „✨💬✨ comment“ erfasst – jeder Blogartikel ist ein eigenes Issue. Über GitHub könnt ihr eure Kommentare somit jederzeit bearbeiten oder löschen.