Monitoramento Servidor · 4 min read · Oct 18, 2025

Monitoramento Centralizado do Servidor RSYSLOG

Monitoramento Centralizado do Servidor RSYSLOG

Este tutorial fornece instruções passo a passo sobre como instalar o servidor RSYSLOG no Debian 6 (Squeeze) e como enviar dados de syslog para ele a partir de vários servidores clientes. Também mostraremos como instalar um servidor web Apache e um servidor de banco de dados MySQL para coletar os dados de syslog e como instalar o LogAnalyzer para navegar facilmente pelos dados coletados com um navegador web.

Estou usando um modelo de virtualização OpenVZ pronto para esta configuração, mas isso também deve funcionar na maioria dos sistemas operacionais baseados em Debian.

Não dou nenhuma garantia de que isso funcionará para você!

Instalando o Servidor RSYSLOG

Esta primeira parte descreve como construir o servidor RSYSLOG que irá coletar os dados de syslog de seus clientes. Neste exemplo, nosso servidor é chamado rsyslog.domain.com e tem um endereço IP fixo de 192.168.0.15.

Primeiro, instalamos algumas dependências.

apt-get update
apt-get upgrade

apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Crie a senha do servidor MySQL quando a instalação pedir para você inseri-la!

Meu modelo OpenVZ já tinha isso, então este comando pode não ser necessário para você também…

apt-get install linux-kernel-headers

** Certifique-se de que os serviços estão em execução…

/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart

Verifique se o servidor está escutando nas portas TCP IP apropriadas. (80 & 3306). O RSYSLOG ainda não escuta em nenhuma porta neste momento.

rsyslog:~# netstat -tapn

Conexões ativas da Internet (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local
Endereço Estrangeiro
Estado PID/Nome do Programa
tcp
0 0
127.0.0.1:3306
0.0.0.0:
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:

LISTEN 581/apache2

Então podemos criar o banco de dados rsyslog:

mysqladmin -u root -p create rsyslog

Em seguida, iniciamos o shell de comando MySQL e criamos o usuário rsyslog:

mysql -u root -p

GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘DIGITE-SUA-NOVA-SENHA-RSYSLOG-AQUI’;

FLUSH PRIVILEGES;
quit

Em seguida, configuramos o servidor rsyslog para escutar na porta TCP 514:

vi /etc/rsyslog.conf

Adicione estas linhas… (lembre-se de mudar sua senha para a que você inseriu ao criar o usuário rsyslog do servidor MySQL.)

$ModLoad MySQL
*.*       >127.0.0.1,rsyslog,rsyslog,DIGITE-SUA-NOVA-SENHA-RSYSLOG-AQUI

…e remova os comentários na frente das linhas que lidam com a recepção de syslog TCP.

# /etc/rsyslog.conf Arquivo de configuração para rsyslog v3.
#
# Para mais informações veja
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,DIGITE-SUA-NOVA-SENHA-RSYSLOG-AQUI
#################
#### MÓDULOS ####
#################
$ModLoad imuxsock # fornece suporte para registro local do sistema
$ModLoad imklog # fornece suporte para registro do kernel (anteriormente feito por rklogd)
#$ModLoad immark # fornece capacidade de mensagem --MARK--
# fornece recepção de syslog UDP
#$ModLoad imudp
#$UDPServerRun 514
# fornece recepção de syslog TCP
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### DIRETIVAS GLOBAIS ####
###########################

E reinicie o serviço rsyslog.

/etc/init.d/rsyslog restart

Verifique se o servidor está escutando nas portas TCP IP apropriadas. (80, 514 & 3306.)

rsyslog:~# netstat -tapn

Conexões ativas da Internet (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local
Endereço Estrangeiro
Estado PID/Nome do Programa
tcp
0 0
0.0.0.0:514
0.0.0.0:
LISTEN 618/rsyslogd
tcp
0 0
127.0.0.1:3306
0.0.0.0:

LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2

Então, baixamos o LogAnalyzer e configuramos o servidor web Apache para exibir os logs.

cd /tmp

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz

tar xvzf loganalyzer-3.4.1.tar.gz
mv loganalyzer-3.4.1/ /var/www/
cd /var/www

Então configuramos os direitos de usuário das pastas www para o servidor web Apache.

chown www-data:www-data * . -Rf

E então fazemos um trabalho de ‘deixar bonito’ nas pastas do LogAnalyzer.

mv loganalyzer-3.4.1/ loganalyzer
cd contrib/
cp * ./../src/
cd ./../src/
sh ./configure.sh

E estamos prontos para entrar na configuração final do LogAnalyzer usando nosso navegador web. Aponte seu navegador web para o endereço IP fixo do nosso servidor rsyslog que, nesta demonstração, é http://192.168.0.15/loganalyzer/src/install.php

Passe pelo simples script de configuração (é praticamente… próximo -> próximo.)

Agora você deve ter um servidor rsyslog funcionando com o LogAnalyzer em funcionamento.

Em seguida, configuramos os clientes RSYSLOG para enviar seus dados de syslog para o servidor rsyslog:

Configurando Clientes RSYSLOG

Normalmente, tudo o que precisamos fazer é configurar o arquivo rsyslog.conf e reiniciar o serviço. (Quase todos os Debians vêm com rsyslog pré-instalado.)

vi /etc/rsyslog.conf

Adicione as linhas do diretório de trabalho que são usadas caso a conectividade de rede seja perdida e mude o ENDEREÇO IP do seu servidor rsyslog para 192.168.0.15. (Você também pode querer criar o diretório /rsyslog/work com o comando mkdir.)

# fornece recepção de syslog TCP
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # local padrão para arquivos de trabalho (spool)
$ActionQueueType LinkedList # use processamento assíncrono
$ActionQueueFileName srvrfwd # defina o nome do arquivo, também habilita o modo disco
$ActionResumeRetryCount -1 # tentativas infinitas em caso de falha de inserção
$ActionQueueSaveOnShutdown on # salvar dados em memória se o rsyslog for encerrado
*.* @@SEU-ENDEREÇO-SERVER-RSYSLOG-AQUI
###########################
#### DIRETIVAS GLOBAIS ####
###########################

E reinicie o serviço rsyslog.

/etc/init.d/rsyslog restart

Verifique se o servidor está conectado na porta TCP IP apropriada (514).

root@ic1:~# netstat -tapn

Conexões ativas da Internet (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local
Endereço Estrangeiro
Estado PID/Nome do Programa
tcp
0 0
192.168.0.100:49188
192.168.0.15:514
ESTABELECIDO 13289/rsyslogd

Isso é como uma configuração bem-sucedida se parece.

Captura de tela - LogAnalyzer em uso

| | Sami Mattila Internet-Content.europa SM OY
Telefone: +358.9.42833310
Celular: +358.400.749692
Email: [email protected]
Loja: https://shop.internet-content.net
Site: http://www.internet-content.net
Blog: http://www.internet-content.net/en/blog |

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.