No post anterior, eu demonstrei como podemos monitorar uma infinidade de itens no agente, usando a sintaxe UserParameter, e utilizei como exemplo a monitoria do Asterisk.
Hoje irei demonstrar como podemos monitorar a capacidade do OpenLDAP.
Acesse o arquivo /etc/openldap/slapd.conf e adicione abaixo da sua sintaxe database atual as seguintes linhas:
database monitor
access to dn.subtree="cn=Monitor"
by dn.exact="uid=monitor,ou=Users,dc=dominio,dc=net,dc=br" read
by * none
Com a sintaxe access eu restringi o acesso a essa base de monitor apenas para o usuário monitor, ou seja, não esqueça de criar esse usuário em sua base LDAP.
Salve o arquivo e reinicie o serviço do openldap.
Para configurar a monitoria do OpenLDAP no agente, acesse o arquivo /etc/zabbix/zabbix_agentd.conf e adicione as seguintes linhas:
## OPENLDAP
# Monitorar conexões ativas do OpenLDAP
UserParameter=user.openldap.current.conections,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Current,cn=Connections,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorCounter:" | awk '{print $2}'
# Monitorar adições na base do OpenLDAP
UserParameter=user.openldap.add.completed,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Add,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpCompleted:" | awk '{print $2}'
UserParameter=user.openldap.add.initiated,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Add,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpInitiated:" | awk '{print $2}'
# Monitorar adições na base do OpenLDAP
UserParameter=user.openldap.delete.completed,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Delete,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpCompleted:" | awk '{print $2}'
UserParameter=user.openldap.delete.initiated,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Delete,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpInitiated:" | awk '{print $2}'
# Monitorar buscas na base do OpenLDAP
UserParameter=user.openldap.search.completed,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Search,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpCompleted:" | awk '{print $2}'
UserParameter=user.openldap.search.initiated,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Search,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpInitiated:" | awk '{print $2}'
# Monitorar bind na base do OpenLDAP
UserParameter=user.openldap.bind.completed,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Bind,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpCompleted:" | awk '{print $2}'
UserParameter=user.openldap.bind.initiated,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Bind,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpInitiated:" | awk '{print $2}'
# Monitorar Abandon na base do OpenLDAP
UserParameter=user.openldap.abandon.completed,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Abandon,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpCompleted:" | awk '{print $2}'
UserParameter=user.openldap.abandon.initiated,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Abandon,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpInitiated:" | awk '{print $2}'
# Monitorar Modify na base do OpenLDAP
UserParameter=user.openldap.modify.completed,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Modify,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpCompleted:" | awk '{print $2}'
UserParameter=user.openldap.modify.initiated,ldapsearch -x -D ' uid=monitor,ou=Users,dc=dominio,dc=net,dc=br' -w suasenha -b 'cn=Modify,cn=Operations,cn=Monitor' -s base '(objectClass=*)' '*' '+' | grep "monitorOpInitiated:" | awk '{print $2}'
Salve o arquivo e reinicie o serviço do zabbix-agent.
Acredito que quem gerencia um OpenLDAP, conhece o comando ldapsearch e não entrarei no detalhe desse comando aqui. Caso precise de documentação, acesse esse link.
Agora basta configurar os itens no servidor Zabbix e aguardar a nova coleta dos dados.
0sem comentários ainda