6135 links
  • GuiGui's Show
  • Home
  • Login
  • RSS Feed
  • ATOM Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
 
  • Monitoring OpenLDAP | Hödlmosers' Hard- and SoftwareCuisine

    OpenLDAP génère des statistiques (cf la documentation très incomplète du projet) : nombre de connexions, nombre de requêtes par type (ajout, suppression, modification, recherche, etc.), etc.. Un module fourni par défaut, back-monitor, permet de les exposer via une requête LDAP standard. Il suffit ensuite d'écrire un script de supervision / métrologie qui parse la sortie d'un ldapsearch.

    Il faut activer et configurer ce module de slapd :

    • Créer un fichier /tmp/ldap-activer-module-supervision.ldif avec le contenu suivant :

      dn: cn=module{0},cn=config
      changetype: modify
      add: olcModuleLoad
      olcModuleLoad: back_monitor


    • ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/ldap-activer-module-supervision.ldif

    • Créer un fichier /tmp/ldap-configurer-module-supervision.ldif avec le contenu suivant (dans mon cas, l'utilisateur mentionné dans l'ACL existait déjà, sinon il convient de le créer d'abord) :

      dn: olcDatabase={2}Monitor,cn=config
      objectClass: olcDatabaseConfig
      objectClass: olcMonitorConfig
      olcDatabase: {2}Monitor
      olcAccess: {0}to dn.subtree="cn=Monitor" by dn.base="cn=supervision,ou=ldap,dc=masociete,dc=example" read by * none


    • ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/ldap-configurer-module-supervision.ldif



    Visualiser les informations disponibles : ldapsearch -xLLL -H ldaps://serveurldap.masociete.example -D cn=supervision,ou=ldap,dc=masociete,dc=example -W -b cn=Monitor -s sub +



    Branches intéressantes (ou non) :

    • cn=Operations,cn=Monitor : nombre total de requêtes initiées (monitorOpInitiated) / terminées (monitorOpCompleted) par type (recherche, ajout, etc.) depuis le démarrage de slapd ;

    • cn=Connections,cn=Monitor : nombre total et instantané de connexions (y compris celles permettant la réplication), et détails techniques de chaque connexion. On peut ainsi surveiller si l'on n'arrive pas trop près de la limite du nombre de fichiers ouverts, qui comptabilise aussi les sockets, donc les connexions ;

    • cn=Uptime,cn=Time,cn=Monitor : le nom parle de lui même ;

    • cn=Statistics,cn=Monitor : nombre de paquets, d'octets et d'entrées envoyés par le serveur ;

    • Je ne trouve pas pertinente la branche cn=Waiters,cn=Monitor. C'est toujours utile de surveiller les clients en attente de lecture et d'écriture, car ça peut révéler des problèmes de tenue de charge. L'ennui, c'est que les connexions persistantes sont considérées comme étant en attente de lecture, donc l'info est redondante avec la cn=Current,cn=Connections,cn=Monitor et un nombre élevé n'indique pas forcément un problème, mais l'existence d'un nombre elevé de connexions persistantes… qui peuvent être légitime si l'on a des applications qui font beaucoup de requêtes.



    Quelques notes :

    • La différence entre le nombre de bind (authentifications, même anonymes) et d'unbind (déconnexions) s'explique par les connexions persistantes et les déconnexions sauvages (un client ne signale pas la fin de l'échange, c'est un timeout qui le clôture brutalement) ;

    • Si les compteurs de requêtes d'écriture (add, modify, modrdn, etc.) sont supérieurs à 0 sur un « consumer » (a priori bloqué en écriture), cela ne veut pas dire qu'une écriture a eu lieu, mais qu'elle a été demandée par un logiciel client, et que slapd a comptabilisé la requête… avant de rediriger le demandeur vers le serveur LDAP « producer » (principe du referral).
    June 28, 2019 at 7:06:52 PM UTC - permalink - https://blog.kmp.or.at/monitoring-openldap/
Links per page: 20 50 100
 
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super fast, database-free, bookmarking service by the Shaarli community