14 de dez. de 2010

Syslog-NG + Cisco: Com logs em arquivos separados

Syslog-Ng é um sistema de logs que oferece várias funcionalidades, uma delas é receber vários logs de ativos em rede. Sua configuração é de extrema facilidade por isso é amplamente utilizado.

Considerando que o amigo leitor já tenha um bom conhecimento sobre o assunto e que o Syslog-Ng já esteja instalado.
Vou mostrar como configurar para que um Servidor com Syslog-Ng rodando, capture os logs de roteadores ou switch da cisco e salve em arquivos separados.

Seguindo layout acima onde temos um Servidor Linux Debian, um Switch e um Roteador (ambos da Cisco).

Em todos os equipamentos Cisco serão efetuados os seguintes comandos:
Router(config)# logging on
Router(config)# Logging 192.168.0.1 (Onde “192.168.0.1” vai ser o endereço IP do Servidor de Log)

Já no servidor Linux Debian, no arquivo de configuração /etc/syslog-ng/syslog.conf será adicionado o seguinte:

source cisco { udp(ip(0.0.0.0) port(514)); };

Nesta linha é adicionado a source, de onde o servidor recebera os logs.

destination switch { file("/var/log/switch.log"); };
destination roteador { file("/var/log/roteador.log"); };

As duas linhas a cimas descrevem onde serão salvos os logs. Um para cada equipamento. Repare que a distinção é feita com os nomes de hosts dos equipamentos.

filter f_switch { host(192.168.0.3); };
filter f_roteador { host(192.168.0.2); };

Nestas linhas é informado como vai ser feito o filtro dos registros de logs que são recebidos. A filtragem é feita pelo endereço IP dos hosts que estão enviando logs. Também é nomeado um nome de filtro para cada equipamento.

log { source(cisco); filter(f_switch); destination(switch); };
log { source(cisco); filter(f_roteador); destination(roteador); };

Finalizando, essas linhas a cimas são as que fazem a captura final dos logs. Onde é referenciado o “source”, os “destination” e os “filter” criados anteriormente.

É isso o que eu tinha para passar. Qualquer dúvida estarei a disposição.
E cabe a vocês buscaram os conhecimentos necessários.
Abraços.

2 comentários:

  1. Olá eu configurei o syslog ng de acordo com o tutorial acima, mas na minha rede possuem 2 roteadores e 2 switches cisco, e o syslog captura apenas os logs de 1 switch e de 1 dos roteadores. Tem como configurar o syslog para capturar os logs de mais de um ativo de rede cisco?

    ResponderExcluir
  2. Olá Fernanda,
    Seria bom você postar seu arquivo de configuração pra gente dá uma olhada.
    Mas só pra lembrar que você precisa criar destination, filter e log para cada equipamento da sua rede.
    Como por exemplo:
    destination switch1 { file("/var/log/switch1.log"); };
    destination switch2 { file("/var/log/switch2.log"); };
    destination roteador1 { file("/var/log/roteador1.log"); };
    destination roteador2 { file("/var/log/roteador2.log"); };

    filter f_switch1 { host(192.168.0.X); };
    filter f_switch2 { host(192.168.0.X); };
    filter f_roteador1 { host(192.168.0.X); };
    filter f_roteador2 { host(192.168.0.X); };

    log { source(cisco); filter(f_switch1); destination(switch1); };
    log { source(cisco); filter(f_switch2); destination(switch2); };
    log { source(cisco); filter(f_roteador1); destination(roteador1); };
    log { source(cisco); filter(f_roteador2); destination(roteador2); };

    Mas posta teu arquivo de configuração ou me envia por e-mail que te deu uma resposta mais conclusiva.
    Abraço e obrigado pelo cometário.

    ResponderExcluir