OpenLDAP : Augmenter la verbosité des logs
Pour rappel OpenLDAP est un serveur d’annuaire libre implémentant le protocole LDAP et stockant ses informations via Berkeley DB, mais aussi LDBM des fichiers plats… Et même MySQL, je n’ai pour ma part jamais vu tourner d’annuaire openldap via Mysql, mais bon…
Voici une petite procédure pour ajouter de la verbosité aux logs du serveur OpenLDAP, qui me servira plus de mémo, mais comme ça peut servir à d’autre, j’ai décidé de partager le tuto ici.
Dans le fichier /etc/openldap/slapd.conf ajouter les 2 lignes ci-dessous afin de préciser le niveau de verbosité des logs, ici 256.
# Ajout de log verbeux loglevel 256
Voici un tableau expliquant les différents niveaux de verbosité possible, en anglais désolé, mais je préfère ne pas le traduire pour ne pas induire d’erreur…
number | hex-value | log-name | Logging description |
-1 | 0xFFFF | enable all logging | |
0 | 0×0000 | - | logging inhibited – no logging occurs including critical errors. Not recommended. |
1 | 0×1 | acl | trace function calls |
2 | 0×2 | packets | debug packet handling |
4 | 0×4 | args | heavy trace debugging |
8 | 0×8 | conns | connection management |
16 | 0×10 | BER | print out packets sent and received |
32 | 0×20 | filter | search filter processing |
64 | 0×40 | config | configuration file processing |
128 | 0×80 | ACL | access control list processing |
256 | 0×100 | stats | stats log connections/operations/results |
512 | 0×200 | stats2 | stats log entries sent |
1024 | 0×400 | shell | print communication with shell backends |
2048 | 0×800 | parse | print entry parsing debugging |
4096 | 0×1000 | cache | caching (unused)g |
8192 | 0×2000 | index | indexing (unused) |
16384 | 0×4000 | sync | print syncrepl (replica) logging |
32768 | 0×8000 | none | A misnomer – it will log message that are not categorized including curial messages |
Dans le fichier /etc/syslog.conf ajouter les 2 lignes ci-dessous :
# Redirection des logs openldap local4.* -/var/log/slapd.log
Complétement d’information fourni par @Ze en commentaire, merci à lui.
Attention, dans syslog, indiquez un enregistrement asynchrone des logs en rajoutant un tiret devant le chemin du fichier.
Sans quoi les performances du serveur LDAP seront fortement impactés.
Ensuite redémarrage des services OpenLDAP et le serveur syslog :
/etc/init.d/ldap restart /etc/init.d/syslog restart
Pour éviter d’avoir à long terme un problème d’espace disque sur la partition /var
Rajouté ce fichier au logrotate dans le fichier /etc/logrotate.d/syslog
Rajouter dans la liste des fichiers de logs le fichier /var/log/slapd.log
/var/log/messages /var/log/secure … /var/log/cron /var/log/slapd.log {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
Voilà, j’espère que ce petit tuto pourra servir à quelqu’un