Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Monitorando Rsyslog com Zabbix

13 de Maio de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Gerenciar o log é uma coisa séria, e pensando nisso, reservei um tempo para pesquisar sobre como poderia monitorar meu rsyslog, que é o software responsável pelo log de todos meus servidores.

rsyslog-logo

Você sabia que o rsyslog, por padrão, tem um limite de escrita de log? Isso mesmo, de acordo com a sua documentação são 200 logs em um intervalo de 5 segundos, sei que parece muito para maioria dos ambientes, mas ninguém quer perder log, né? Seria legal no mínimo saber que isso aconteceu, para que possamos em ultimo caso aumentar um pouquinho esse limite, correto?

Para monitorar o Rsyslog usaremos um módulo chamado impstats, que ainda está em desenvolvimento, mas tem funcionado pra mim a contento por hora e infelizmente é a única forma que temos até o momento.

Para configurar esse módulo no seu rsyslog é muito simples, abra o arquivo /etc/rsyslog.conf e adicione no topo, isso mesmo! No topo do arquivo, pois caso contrário não vai funcionar, a seguinte configuração:

module(load="impstats" interval="600" severity="7")

# to actually gather the data:
syslog.=debug  /var/log/rsyslog-stats

Mude os parâmetros a gosto, para quem já conhece o rsyslog, não encontrará dificuldades em fazer isso, caso tenha, por favor, comente nessa postagem, tentarei ajudar. Se mudar o caminho do arquivo, por favor, mude no restante da documentação, caso contrário não irá funcionar.

Agora vamos para configuração do agente Zabbix.

Para obtermos a nossa informação, usaremos a configuração de itens de usuário do zabbix, também conhecida como UserParameter.

Acesse seu arquivo de configuração do servidor onde deseja monitorar o rsyslog e adicione a seguinte configuração:

# Monitoramento Rsyslog
UserParameter=rsyslog.enqueued,/usr/bin/tail -n20  /var/log/rsyslog-stats | /bin/grep main | /usr/bin/tail -1 | /bin/cut -d" " -f7 | /bin/cut -d"=" -f2


UserParameter=rsyslog.full,/usr/bin/tail -n20  /var/log/rsyslog-stats | /bin/grep main | /usr/bin/tail -1 | /bin/cut -d" " -f8 | /bin/cut -d"=" -f2


UserParameter=rsyslog.discarded.full,/usr/bin/tail -n20  /var/log/rsyslog-stats | /bin/grep main | /usr/bin/tail -1 | /bin/cut -d" " -f9 | /bin/cut -d"=" -f2


UserParameter=rsyslog.discarded.nf,/usr/bin/tail -n20  /var/log/rsyslog-stats | /bin/grep main | /usr/bin/tail -1 | /bin/cut -d" " -f10 | /bin/cut -d"=" -f2

Modifique o dono do arquivo, para que o zabbix possa fazer a consulta:

# chown zabbix /var/log/rsyslog-stats

Para evitar que esse arquivo cresça demais, vamos usar o logrotate! Crie o arquivo /etc/logrotate.d/rsyslog com o seguinte conteúdo :

/var/log/rsyslog-stats {
weekly
rotate 5
compress
notifempty
missingok
create 0600 zabbix zabbix
}

Reinicie seu serviço do Zabbix e vamos para configuração via interface web do zabbix.

Importe esse template no seu Zabbix e aplique no host desejado. Pronto! :)