Acessando logs do rsyslog via web com Log Analyzer

O projeto LogAnalyzer já é antigo, não tem um interface muito bonita mas fornece um frontend fácil de usar e poderoso, permite pesquisar, revisar e analisar dados de eventos de rede, incluindo syslog. É um aplicativo gratuito de código aberto GPL escrito principalmente em php. Os dados podem ser obtidos de bancos de dados, mas também de arquivos de texto simples, por exemplo, aqueles que são escritos pelo rsyslog.

Para dar inicio vamos precisar ter um serviço Web rodado em nosso servidor
Requisitos: Passo-a-passo como criar um servidor web Apache2, PHP 7.0, MariaDB, PHPMyAdmin “LAMP” no Debian 9 Stretch

Sugerido: Servidor de log para registros remoto do RouterOS/Mikrotik

Agora já com nosso servidor LAMP pronto vamos criar nossa base de dados chamada Syslog (sim com S maiúsculo) e criar o usuario rsyslog para acessar esse banco.

# mysql -p
CREATE DATABASE Syslog;
GRANT ALL PRIVILEGES ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'SUA-SENHA';
FLUSH PRIVILEGES;
quit;

Instalaremos o modulo rsyslog-mysql para fazer a integração

# apt install rsyslog-mysql


Responda Sim


Informe a senha criada para o usuário rsyslog (‘rsyslog’@’localhost’ IDENTIFIED BY ‘SUA-SENHA’)

Repita a senha

Verifique se o arquivo /etc/rsyslog.d/mysql.conf foi criado

cat /etc/rsyslog.d/mysql.conf

Vai retornar:

	$ModLoad ommysql
	*.* :ommysql:localhost,Syslog,rsyslog,SUA-SENHA

Agora reinicie o serviço do rsyslog para atualizar as configurações

# /etc/init.d/rsyslog restart

Pronto seu rsyslog já esta guardado todos os logs no seu banco de dados, agora vamos a instalação e configuração do LogAnalyzer

Na data de hoje o projeto encontra-se na versão 4.1.6
Acesse https://loganalyzer.adiscon.com/download/ e verifique se já não existe uma nova versão.

Nos comandos a seguir vamos fazer o download do projeto, em seguida extrair o mesmo, e mover o projeto para dentro da pasta padrão do servidor web (/var/www/html/) faça de acordo com sua realidade, e ultimo estaremos dando permissões ao usuário apache (www-data) a escrever nos arquviso .

# cd /tmp/
# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
# tar -vxzf loganalyzer-4.1.6.tar.gz
# cd loganalyzer-4.1.6/
# mv src/ /var/www/html/logs
# chown www-data. /var/www/html/logs -R

Existe um pacote de tradução, porém o mesmo não foi traduzido, caso tenha interesse em baixar, e fazer a tradução:

# cd /tmp/
# wget https://loganalyzer.adiscon.com/plugins/files/translations/loganalyzer_lang_pt_BR_3.2.3.zip
# apt install  unzip
# unzip loganalyzer_lang_pt_BR_3
# unzip loganalyzer_lang_pt_BR_3.2.3.zip
# mv pt_BR /var/www/html/logs/lang/
# chown www-data. /var/www/html/logs -R

Agora acesse: http://SEU-IP_OU-DOMINIO/logs/

Vamos ser avisados que o sistema precisa ser instalado/configurado. Clique em “here”.

Next

Next

Selecione YES em Enabled User Database, e configure em Database User o usuário rsyslog e sua senha.

Next

Se não tiver nenhum erro, clique em next.

Crie um usuário e senha para o administrador

Crie uma fonte de coleta, no nosso caso vamos usar os logs do mysql, siga de acordo com a imagem. Posteriormente você pode criar outras fontes.

Next

Parabéns você concluiu!

Gostou? Deixe seu comentário ficarei feliz em saber que lhe ajudei, e se tiver qualquer pergunta deixe-a também, se preferir acesse o menu Consultoria lá você encontra meios de falar comigo!

Abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

13 Resultados

  1. Luiz Carlos disse:

    Muito top aqui deu super certo! já tinha tempo que procurar uma servidor de logs mais organizado para usar no provedor que trabalho, valeu me ajudou de mais!

  2. Daniel Victor disse:

    Alguém conseguiu colocar para funcionar com o nginx?

  3. Marcus disse:

    Existe uma maneira de disponibilizar a visualização apenas para usuarios logados?

  4. Boa Tarde Senhores,
    Segui o tutorial acima porem estou com o seguinte problema…
    Quando instalei ele vi que estava dando erro pois a tabela “SystemEvents” não foi criada no banco.
    Criei ela manualmente e os logs começaram a ser gravados na base de dados.
    Minha duvida é a seguinte, seria possível mudar o nome dessa tabela “SystemEvents” na config do Rsyslog?
    Estou dando uma pesquisada aqui não achei nenhuma forma de alterar ela ainda.

  5. Paulo disse:

    No passo 4 a tela fica em branco, já tentei de tudo. Uso Mint 19.3 com xfce4. http://127.0.0.1/logs/install.php?step=4

  6. Rogeri Silva disse:

    Boa tarde meu caro…
    Como faço para reconfigurar o banco de dados no Log Analyzer? Instalai tudo certinho, mas na hora de configurar o banco, avancei, e não volta na parte do banco….

    Obrigado…

  7. Caio disse:

    Apenas para colaborar com o artigo…
    Na instalação do Log Analyzer, no Step-3, é interessante mudar a opção “Automatically resolved IP addresses” para NO.
    Dependendo da quantidade de equipamentos que você coletará log, ao navegar entre os registros pelo Log Analyzer ou fazer uma consulta, esse recurso de resolução deixará a ferramenta extremamente lenta. Se não precisar desse recurso, desabilite.
    Digo isso por experiência com a versão 3.6 do Log Analyzer, não sei se esta versão mais recente melhorou a tratativa.

  8. Caio Bussacarini disse:

    Apenas para colaborar com o artigo…

    Quando montei meu servidor de log remoto usava debian 5 e o Log Analyzer estava na versão 3.6, então pode ser que as afirmações abaixo não sejam compatíveis com as atuais, mas cabe analise.

    Na época ajustei o rsyslog para não traduzir os IPs para nome e também para liberar a recepção do log remoto:
    /etc/default/rsyslog
    # -r enables logging from remote machines (deprecated, only used in compat mode < 3)
    # -x disables DNS lookups on messages received with -r
    # -c compatibility mode
    RSYSLOGD_OPTIONS="-c4 -x"
    SYSLOGD="-r"

    Dentro do /etc/rsyslog.conf é possível filtrar pacotes UDP e TCP na recepção e também permitir quais faixas de IP remoto podem enviar dados de log para este servidor:
    ### provides UDP syslog reception
    $ModLoad imudp
    $UDPServerRun 514 #porta padrão, mas altere como preferir

    ### provides TCP syslog reception
    $ModLoad imtcp
    $InputTCPServerRun 514 #porta padrão, mas altere como preferir

    ### permissão de recebimento por IP
    $AllowedSender UDP, 127.0.0.1, 192.168.123.0/24
    $AllowedSender TCP, 127.0.0.1, 10.0.0.0/8

    No seu artigo, o print do Step-3 do Log Analyzer, coloque a opção "Automatically Resolved IP Addresses" como NO, pois dependendo da quantidade de equipamentos que você estiver coletando log, suas consultas e navegações pelos registros do Log Analyzer ficarão extremamente lentas.

    Isso, se você não precisa da função de resolver os IPs para nome, é claro. Experiência própria.

    No momento estou avaliando utilizar o Graylog.

    Já leu a respeito?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *