Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blogosfera d...
Tela cheia Sugerir um artigo

Rafael Gomes: Monitorando o OpenLDAP com o Zabbix

28 de Março de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 1588 vezes

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.

Fonte


Fonte: http://techfree.com.br/wordpress/2011/03/28/monitorando-o-openldap-com-o-zabbix/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.