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:
















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”
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…
Opa,
Conheço está maquina, 001inf0124.
Falou…
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?
Opa, qual versão do rSyslog vc está usando?
Rsyslog 5 amigo
Vc já deu uma olhada nesse post:
http://www.fogonacaixadagua.com.br/2009/09/centralized-log-with-rsyslog-recording-in-mysql-db-and-web-ui-for-queries/