Pular para o conteúdo

rSyslog 3 gravando no MySQL e interface Web para consulta

Esse guia será feito com o FreeBSD 8.1 podendo ser adaptado para qualquer distribuição Linux.

Avatar de DK
DKTrabalha com Linux e Unix a mais de 23 anos e possui as certificações LPI 3, RHCE, AIX e VIO.

21 mar, 2011
5 min de leitura

Há a algum tempo, eu havia feito um guia para instalação de uma solução igual a essa só que o tempo passa e o guia já está desatualizado, contempla a versão 2 do rSyslog e o phpLogCon até mudou de nome para LogAnalyzer, nada mais justo que atualizar o guia para as última versões, são elas:

  • rSyslog 3.22.3
  • LogAnalyzer 3.0.7

Esse guia será feito com o FreeBSD 8.1 podendo ser adaptado para qualquer distribuição Linux.

Sabe por que é fácil adaptar? Por que a única fase do processo que não depende de instalação nativa de pacotes da distribuição é o final, da instalação do LogAnalyzer, de resto, tudo é instalável de forma padrão pertinente a distribuição Linux adotada.

Instalação do rSyslog3 e sua configuração

cd /usr/ports/sysutils/rsyslog3-mysql
make install
cp work/rsyslog-3.xx.x/plugins/ommysql/createDB.sql ~

No caso, no momento o caminho para esse arquivo atualmente é:

/usr/ports/sysutils/rsyslog3-mysql/work/rsyslog-3.22.3/plugins/ommysql/createDB.sql

A versão pode mudar (mudará) dependendo da época que se está usando esse guia.

Editar /etc/rc.conf e adicionar as linhas

rsyslogd_enable="YES"
rsyslogd_config="/usr/local/etc/rsyslog.conf"

Editar o arquivo /usr/local/etc/rsyslog.conf Se estiver em branco, colocar o conteúdo dele como abaixo:

################################################################################
# rsyslog v3: load input modules
# If you do not load inputs, nothing happens!
# You may need to set the module load path if modules are not found.

$ModLoad immark   # provides --MARK-- message capability
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # kernel logging (formerly provided by rklogd)

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                -/var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog

# Log cron stuff
cron.*                                                  -/var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          -/var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

# Remote Logging (we use TCP for reliable delivery)
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
#$WorkDirectory /rsyslog/spool # where to place spool files
#$ActionQueueFileName uniqName # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList   # run asynchronously
#$ActionResumeRetryCount -1    # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514

# ######### Receiving Messages from Remote Hosts ##########
# TCP Syslog Server:
# provides TCP syslog reception and GSS-API (if compiled to support it)
#$ModLoad imtcp.so  # load module
#$InputTCPServerRun 514 # start up TCP listener at port 514

# UDP Syslog Server:
$ModLoad imudp.so  # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514

# MySQL
$ModLoad ommysql.so
*.*    :ommysql:localhost,Syslog,rsyslog,info2001
################################################################################

Instalação do PHP5 e extenções necessárias

cd /usr/ports/lang/php5
make config

make install

PHP5 extensions

cd /usr/ports/lang/php5-extensions
make config

make clean
make install

Instalação do MySQL 5.1.x

cd /usr/ports/databases/mysql51-server/
make install

Editar /etc/rc.conf e adicionar

mysql_enable="YES"

Iniciar o mysql

/usr/local/etc/rc.d/mysql-server start

Importar o dump .sql do Loganalyzer

mysql < ~/createDB.sql

Criar um usuário para o rsyslog conectar no banco de dados Syslog

mysql
mysql> CREATE USER 'rsyslog'@'localhost' IDENTIFIED BY 'info2001';
mysql> GRANT ALL PRIVILEGES ON Syslog.* TO 'rsyslog'@'localhost';
mysql> quit

Iniciar o rSyslog3

Primeiro parar o syslog original

/etc/rc.d/syslogd stop

Então iniciar o rsyslog

/usr/local/etc/rc.d/rsyslogd start

Verificar se o rsyslog está executando:

ps awx | grep rsyslogd

E também verificar o /var/log/messages pela linha:

2011-03-21T13:02:54.406366-03:00 040prx005 rsyslogd: [origin software="rsyslogd" swVersion="3.22.3" x-pid="24327" x-info="http://www.rsyslog.com"] (re)start

Instalação e configuração do LogAnalyzer

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

Acessar o site http://loganalyzer.adiscon.com/downloads para pegar a última versão

tar zxvf loganalyzer-3.0.7.tar.gz
cd loganalyzer-3.0.7
mv src /usr/local/www/data/syslog
cd /usr/local/www/data/syslog
touch config.php
chmod 666 config.php

Configuração do LogAnalyzer

Acessar o endereço do servidor em:

http://IP_SERVIDOR/syslog/install.php

No passo 6, escolha um usuário e senha que terá acesso administrativo ao LogAnalyzer.

No passo 8, tudo foi feito com sucesso, clique em “here” ou em “Finish!”.

Irá para a tela de login:

Avatar de DK

Comentários

Comentários fechados para visitantes. Entre ou registre-se para comentar.

6 respostas para “rSyslog 3 gravando no MySQL e interface Web para consulta”

  1. Avatar de Sérgio Lucas
    Sérgio Lucas

    Bom Dia!

    Estou com problema para o rsyslog enviar os log para o banco mysql. estou usando o debian 6, teria como dar uma força…

  2. Avatar de Philipp

    Opa,

    Conheço está maquina, 001inf0124.

    Falou…

  3. Avatar de Cleiton

    Boa Noite
    Consegui instalar normalmente seguindo seu poderoso tutorial porém estou usando CENTOS 6.3 com MySQL 5.1 sendo o restante igual sua configuração, porém nas colunas facility e severity não aparecem nada. Pode me dar uma dica?

    1. Avatar de DK

      Opa, qual versão do rSyslog vc está usando?

      1. Avatar de Cleiton

        Rsyslog 5 amigo

Ir para