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 | 0x0000 | – | logging inhibited – no logging occurs including critical errors. Not recommended. |
1 | 0x1 | acl | trace function calls |
2 | 0x2 | packets | debug packet handling |
4 | 0x4 | args | heavy trace debugging |
8 | 0x8 | conns | connection management |
16 | 0x10 | BER | print out packets sent and received |
32 | 0x20 | filter | search filter processing |
64 | 0x40 | config | configuration file processing |
128 | 0x80 | ACL | access control list processing |
256 | 0x100 | stats | stats log connections/operations/results |
512 | 0x200 | stats2 | stats log entries sent |
1024 | 0x400 | shell | print communication with shell backends |
2048 | 0x800 | parse | print entry parsing debugging |
4096 | 0x1000 | cache | caching (unused)g |
8192 | 0x2000 | index | indexing (unused) |
16384 | 0x4000 | sync | print syncrepl (replica) logging |
32768 | 0x8000 | 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
25 mars 2010
Hello,
Il m’est arrivé récemment d’avoir de mauvaises surprises sur les performances d’openldap avec un niveau de log pas forcément important. Je vous recommande de le limiter au minimum et de le changer en cas de besoin (ex:debug).
Sinon très instructif ton tableau !
A +
25 mars 2010
Merci Julien 😉
Décidemment tu auras toujours des problèmes avec OpenLDAP 😉
Tu vois de quel projet je parle 😉 lol
26 mars 2010
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.
exemple :
local4.* -/var/log/slapd.log
26 mars 2010
Bien le bonjour,
Un grand Merci @Ze je viens de mettre à jour mon article 😉
Et mes serveurs par la même occasion 😉
CiaO ++
1 avril 2010
Tips vital pour debuger un ldap… 🙂
1 avril 2010
Oui en effet, c’est vraiment indispensable 😉