rSyslog 3 gravando no MySQL e interface Web para consulta

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:

Share this post

6 comments

Join the conversation

Join the conversation