quinta-feira, 16 de fevereiro de 2017

Rsyslog - Configurando o Centralizador de Logs

Autor: Carolina Robles das Neves <carolina.neves22 at gmail.com>
Data: 17/07/2015

Instalando e configurando servidor Syslog e cliente - CentOS 7



Observação.: Toda a instalação e configuração foi efetuada com o usuário root.

1. Instale o pacote do rsyslog:

# yum install rsyslog

Obs.: você pode usar o parâmetro "-y" para forçar a instalação sem perguntar novamente:

# yum install -y rsyslog

2. Vamos editar o arquivo do rsyslog que encontra-se em: /etc/rsyslog.conf

Abra o arquivo com seu editor de texto favorito. Eu irei usar o editor vim (caso queira usar o vim e não tem o pacote instalado, insira o comando:

# yum install -y vim

Edite o arquivo:

# vim /etc/rsyslog.conf +15

Dica para o editor vim: o sinal de "+15" após o comando é para ir até a linha 15 do arquivo, linha que vamos descomentar.

3. Descomente as linhas 15 e 16 do arquivo, habilitando o servidor syslog a escutar na porta 514.

Exemplo:

Arquivo original:

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

Arquivo editado:

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

4. Reinicie o serviço do rsyslog:

# systemctl restart rsyslog.service

5. Verifique se o servidor syslog está escutando na porta 514 conforme configuramos:

# netstat -nltp | grep 514
tcp    0   0 0.0.0.0:514     0.0.0.0:*      OUÇA    616/rsyslogd
tcp6   0   0 :::514          :::*           OUÇA    616/rsyslogd

OK! Seu servidor syslog já está configurado. Vamos configurar o cliente para envio de logs.


Configurar cliente para envio de logs



1. Conecte no servidor cliente e instale o pacote do syslog novamente, após, edite o arquivo do rsyslog que encontra-se em /etc/rsyslog.conf:

# yum install -y rsyslog

Edite o arquivo:

# vim /etc/rsyslog.conf

2. No final do arquivo adicione as facility e level que você deseja enviar para o servidor syslog em seguida adicione o @ipadress ou @hostname do servidor de logs.

Dica para o editor VIM: Pressione a tecla Shift + G para ir até o final do arquivo.

Exemplo:

*.info;mail.none;authpriv.none;cron.none   @192.168.0.100  

Na linha acima estou adicionado todas as facilities da distribuição com o level info (*.info), ou seja, ele vai capturar o nível de informação e o que estiver acima de informação (info, notice,warning, error, critical,alert, emerfency), conforme a tabela abaixo.

Observação: Se eu escrevesse *=info significaria que seria todas as facilities somente do level de INFORMAÇÃO.

O ";" no exemplo acima está somente separando as exceções que eu criei.

mail.nome - Nesse caso, estou dizendo que a facility mail não monitora nenhum level, ou seja, não envie nenhum log dessa facility.

Lista dos níveis/gravidades:
 
0       Emergency: system is unusable
1       Alert: action must be taken immediately
2       Critical: critical conditions
3       Error: error conditions
4       Warning: warning conditions
5       Notice: normal but significant condition
6       Informational: informational messages
7       Debug: debug-level messages

Observação: Adicione as facilities e level conforme a sua necessidade.

3. Salve e feche o arquivo.

Dica do editor VIM: para salvar e sair do arquivo, aperte a tecla ESC digite :wq!

4. Reinice o serviço do rsyslog:

# systemctl restart rsyslog.service

Obs.: em ambientes de produção são habilitados firewall de hardware, para impedir de abrir o TCP e UDP 514.

Se você tiver o iptables habilitado, execute o seguinte comando no servidor, a fim de aceitar tráfego de entrada na porta UDP / TCP 514.

# firewall-cmd --permanent --zone=public --add-port=514/tcp
# firewall-cmd --permanent --zone=public --add-port=514/udp
# firewall-cmd --reload


5. Para checar se a porta foi aberta, utilize o telnet:

# telnet 192.168.0.100 514
(IP do seu servidor syslog + a porta do rsyslog)

Resultado:
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

Conecte no seu servidor syslog e verifique se o mesmo já está capturando os LOGS desse cliente adicionado.

# tail -f /var/log/messages
Jul 10 18:01:01 servidor-abobora systemd: Started Session 34414 of user root.
Jul 10 18:01: servidor-abobora CROND[15612]: (root) CMD (run-parts /etc/cron.hourly)
Jul 10 18:01:01 servidor-abobora run-parts(/etc/cron.hourly)[1561 starting 0anacron
Jul 10 18:01:01 servidor-abobora run-parts(/etc/cron.hourly)[1562 finished 0anacron
Jul 10 18:01:01 servidor-abobora run-parts(/etc/cron.hourly)[1561 starting 0yum-hourly.cron
Jul 10 18:01:01 servidor-abobora run-parts(/etc/cron.hourly)[1562 finished 0yum-hourly.cron
Jul 10 18:01:02 prod1-sgi sudo: zabbix : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/opt/jboss/bin/jboss-cli.sh -c /core-service=platform-mbean/type=memory:read-attribute(name=heap-memory-usage)




0 comentários: