Entenda de forma prática como configurar um servidor de SyslogNG

Por Thiago Marques

O pai ta on!!

O syslog é uma importante ferramenta para administração e análise de qualquer ambiente de infraestrutura.

A maioria dos SO Linux já vem com o RSsyslog instalados, contudo eu prefiro trabalhar com o Syslog-ng por uma questão familiaridade.

Neste documento mostrarei como efetuar uma configuração para instalar o deamon syslog-ng para sistemas operacionais baseados em RHEL (RedHat,CentOS e Fedora).

O syslog nesse caso é uma das soluções para logs que pode ser útil se sua infraestrutura for pequena, para estruturas maiores ter uma estrutura descentralizada de logs como o Elastic acaba sendo uma opção melhor.

Pré-requisitos

1.       Desinstalar o SELINUX

a.       vim /etc/sysconfig/selinux

b.       Na linha onde esta o “SELINUX=enforcing”, alterar para:

c.        SELINUX=disabled

 

2.       Reiniciar a máquina.

3.       Validar com o comando: sestatus

4.       Instalar o repositório EPEL;

a.       wget http://dl.fedoraproject.org/pub/epel/6Server/i386/epel-release-6-8.noarch.rpm

5.       Instalar com: rpm -Uvh /root/epel-release-6-8.noarch.rpm

6.       Validar com: yum repolist

7.       Instalar o pacote wget;

8.       Instalar o pacote logrotate;

Instalando

Iremos instalar 2 pacotes:

                syslog-ng;

                syslog-ng-libdbi;

O comando para instalar é:

Yum install syslog-ng syslog-ng-libdbi –y

Desabilitar o Rsyslog e habilitar o Syslog

Como o padrão de syslog é o rsyslog teremos que desabilita-lo para habilitar o syslog-ng, fazemos isso da seguinte forma:

 

chkconfig rsyslog off

Ou

systemctl disable rsyslog

 

E depois habilitamos o syslog-ng

chkconfig syslog-ng off

Ou

systemctl enable syslog-ng

 

Por fim iniciaremos o serviço de syslog:

 

service syslog-ng start

Configurando o syslog

Abaixo mostrarei um arquivo de configuração para o syslog.

É importante frisar que esta configuração deve estar sempre no final do arquivo:

/etc/syslog-ng/syslog-ng.conf

 

#–Criamos um source, de qual ip e qual porta o servidor vai ouvir

#—–Neste caso o servidor vai receber syslog de qualquer IP na porta 514

source net {

udp(ip(0.0.0.0) port(514));

};

 

#–Criamos um destination, que relata para onde iremos mandar o log.

#—– aqui podemos colocar todos os logs em um arquivo só (não recomento)

#—— ou colocar um log para cada equipamento (AI SIM!!)

#—— Como o arquivo aceita wildcards e variáveis, iremos criar o seguinte padrão:

#——- Mes_<numerodomes>-<ano>/<equipamento>/<dia>-<mês>-<ano>.log

#——- Exemplo: Mes_02-2018/10.0.0.1/15-02-2017.log

#——- Assim sera criado os arquivos automaticamente conforme os equipamentos forem enviando os logs

destination d_cisco {

        file(“/var/log/net/Mes_$MONTH-$YEAR/$HOST/$DAY-$MONTH-$YEAR.log”

               create_dirs(yes)              #cria os diretorios se eles nao existirem

               dir_perm(0755)              #da permissao 755 no diretorio

               dir_owner(root)              #coloca o usuario root como proprietario da pasta

               dir_group(root)

               perm(0755)                               #da permissao 775 nos arquivos

               group(root)

               owner(root)

              );

            };

log { source(net); destination(d_cisco);};

Criando um link simbólico para visualização web

Agora vamos criar um link simbólico para a pasta web, cito-a:

/var/www/html/

 

Como esta pasta é a padrão para web, iremos colocar os arquivos nela para faciliar a visualização, fazemos isso com o seguinte comando:

 

ln –s /var/log/net /var/www/html/

 

Será criado uma pasta chamada net dentro de html, depois é só acessar o web da seguinte forma:

 

http://<ip_do_servidor>/net

 

Com isso conseguiremos acessar os logs via http, facilitando o consumo.

Novamente, essa implementação é indicada para pequenos ambientes (algo entre 5 e 10 servidores), para ambientes maiores gerenciar os logs dessa forma gera um trabalho desnecessário visto as aplicações disponíveis hoje.

 

That’s all folks! Be Happy!!!

foto-thiago-marques
Thiago Marques Technical Account Manager
thiago.marques@darede.com.br

Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.

OUTRAS PUBLICAÇÕES

On Premises vs Cloud

Por Cassius Oliveira Hoje em dia toda empresa precisa ser de alguma forma uma empresa de tecnologia, independentemente de seu tamanho e do setor de

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações