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:
















6 comments
Join the conversationSérgio Lucas - 12/03/2012
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…
Philipp - 19/03/2012
Opa,
Conheço está maquina, 001inf0124.
Falou…
Cleiton - 23/11/2012
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?
Daniel Kühl Lima - 24/11/2012
Opa, qual versão do rSyslog vc está usando?
Cleiton - 24/11/2012
Rsyslog 5 amigo
Daniel Kühl Lima - 25/11/2012
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/