openldap munin

wall < "OpenLDAP und munin"

Broadcast message from spillerm@unixe.de (pts/1) (Do Okt 22 08:03:47 2015):

Jetzt, da OpenLDAP produktiv läuft, ist es sinnvoll, sich entsprechende Graphen zeichnen zu lassen; hierzu sind einige Vorarbeiten notwendig, und ich zeige dir nachfolgend, wie du vorgehen kannst, um diese hübschen bunten Bildchen zu erhalten ;-)

4
Diesen Beitrag schrieb ich vor 3 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

OpenLDAP Operations by day - muninAuch 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:

...
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

Abschliessend 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 - muninWichtig 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

UnterschriftEhe 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.

4
  1. Super gut geschrieben und sehr gut nachvollziehbar. Alles hat geklappt, bis auf:
    „munin-run slapd_bdb_cache_percent“
    Aber ich denke, dass liegt daran, dass ich mdb als Datenbank und nicht bdb verwende.

Keine weitere Reaktionen mehr möglich.