Multvendor logs Telegraf
Este laboratório simula, via Containerlab, a interligação entre três roteadores Juniper, Huawei e Cisco, com roteamento dinâmico via OSPF, exportação de logs via Syslog usando Telegraf, InfluxDB, Chronograf e Grafana.
1. Descrição
1.1 Objetivo do Lab
O objetivo do laboratório é simular a exportação de logs de três roteadores de diferentes fabricantes (Juniper, Huawei e Cisco) para um servidor de monitoramento centralizado, utilizando o protocolo Syslog. O sistema de monitoramento é composto por Telegraf, InfluxDB, Chronograf e Grafana, permitindo a coleta, armazenamento e visualização de métricas de rede em tempo real.
1.2 Topologia do Lab
Descrição da Topologia
- Três roteadores (Juniper, Cisco, Huawei) interligados em topologia em anel com links ponto a ponto /31.
- Roteamento dinâmico via OSPF entre os roteadores.
- Coleta de logs via Syslog udp (514).
- Observabilidade com a pilha TICK (Telegraf, InfluxDB, Chronograf) e Grafana.
- Rede externa
br-labconecta os nós à infraestrutura de monitoramento.
2. Aplicações
Exemplos de Aplicações
Este laboratório pode ser explorado em diversos cenários acadêmicos e de pesquisa aplicada, servindo como base para experimentação de monitoramento e visualização de tráfego em redes com múltiplos roteadores.
Possíveis Aplicações:
- Treinamento de equipes de NOC em ambiente multivendor: Simula operações reais com roteadores Juniper, Huawei e Cisco, utilizando OSPF e exportação de logs via Syslog, permitindo análise de conectividade e resolução de falhas.
- Validação e testes de coleta de logs via Syslog: Permite verificar a compatibilidade e o comportamento de diferentes vendors no envio de logs para Telegraf.
- Visualização e análise de métricas em tempo real: Validar e testar formas de templates do grafana para trabalhar com logs.
- Monitoramento centralizado com Telegraf: Avalia a capacidade do Telegraf de receber e processar logs de dispositivos heterogêneos, garantindo integridade e consistência dos dados.
- Ensino de integração de sistemas de monitoramento: Proporciona aprendizado prático sobre configuração de Syslog, coleta de métricas e visualização em pilhas TICK e Grafana em um cenário multivendor.
3. Requisitos
Abaixo estão listados os requisitos mínimos de hardware e software necessários para executar o laboratório. Certifique-se de incluir as ferramentas essenciais, como Containerlab e Docker, além da rede br-lab previamente criada.
para saber mais sobre este itens acesse:
E tenha a stack telegraf previamente instalado, para saber mais sobre a instalação do zabbix acesse: Instalação do Telegraf
Tabela de Requisitos Minimos:
| Requisito | Detalhes |
|---|---|
| CPUs | 4 vCPUs |
| Memória RAM | 8 GB |
| Espaço em Disco | 10 GB (recomendado) |
| Containerlab | 0.45.0 ou superior |
| Docker Engine | 23.0.3 ou superior |
| Imagens | vr-vjunos:23.2R1.14, vrnetlab/huawei_vrp:ne40e-8.180, xrd-control-plane:7.10.2 |
| Rede Docker | br-lab |
Atenção
Verifique se o seu processador possui suporte à virtualização por hardware e se essa funcionalidade está ativada na BIOS/UEFI.
- Em processadores Intel, essa tecnologia é chamada de VT-x (Intel Virtualization Technology).
- Em processadores AMD, é conhecida como AMD-V (AMD Virtualization).
Sem essa funcionalidade ativada, as imagens como o vJunos-router não funcionarão corretamente.
4. Implantando o Lab
Você pode realizar a implantação por meio de um script pronto ou configurar manualmente os arquivos do lab.
4.1 Implantação Pronta
Este método permite ao usuário baixar uma versão pré-montada do laboratório, com a topologia e as configurações já definidas. Basta baixar o repositório e seguir para o início da execução.
Dica
A implantação pronta é útil para quem deseja começar rapidamente com um ambiente configurado.
Baixando o Lab
Execute o script abaixo para baixar e configurar o laboratório automaticamente:
curl -L -o get.sh "https://git.rnp.br/redes-abertas/labs/-/raw/main/logs-telegraf-multvendor/get.sh" && sh get.sh && cd logs-telegraf-multvendor
curl -L -o get.bat "https://git.rnp.br/redes-abertas/labs/-/raw/main/logs-telegraf-multvendor/get.bat" && call get.bat && cd logs-telegraf-multvendor
Dica
No Linux/Mac, use chmod +x get.sh antes de executar o script, caso ele não esteja com permissão de execução.
5. Inicializando o Lab
Após o download ou personalização, siga as etapas abaixo para iniciar o laboratório. Execute o comando abaixo dentro do diretório baixado.
sudo containerlab deploy
Esse comando criará os containers dos roteadores, configurará os links e iniciará os serviços de monitoramento.
Depuração
Use docker logs -f <nome_container> para verificar o estado dos serviços, caso algo não funcione.
6. Acesso aos Dispositivos
6.1 IPs e Portas dos Serviços
| Dispositivo | IP de Acesso | Porta(s) | Serviço |
|---|---|---|---|
| node1 | 172.10.10.201 | 22 | SSH |
| node2 | 172.10.10.202 | 22 | SSH |
| node3 | 172.10.10.203 | 22 | SSH |
| Telegraf | 172.10.10.114 | 161 | Coleta de métricas |
| InfluxDB | 172.10.10.112 | 8086 | Banco de séries |
| Chronograf | 172.10.10.113 | 8888 | UI de análise |
| Grafana | 172.10.10.111 | 3000 | Dashboard Web |
| Graphite | 172.10.10.119 | 8080 | Web UI (Graphite) |
6.2 Senhas de Acesso
| Serviço | Usuário | Senha |
|---|---|---|
| node1 (SSH) | admin |
admin@123 |
| node2 (SSH) | clab |
clab@123 |
| node3 (SSH) | admin |
admin |
| Grafana | admin |
admin |
| InfluxDB | admin |
influxpassword |
Verificação de Inicialização
Antes de acessar os serviços, use docker ps e verifique os logs dos containers para garantir que estão funcionando corretamente.
7. Observabilidade e Visualização
Atenção
Devido à forma como as configurações são aplicadas no vJunos-router, a configuração do syslog deve ser feita manualmente. Siga o passo a passo abaixo para enviar todos os logs do sistema para o servidor de logs remoto.
Passo a passo
Acesse o node1 via ssh e execute:
configure
- Entra no modo de configuração do Junos.
- Todos os comandos seguintes vão alterar a configuração do equipamento.
set system syslog host 172.10.10.114 any any
- Define o servidor de logs remoto (172.10.10.114) como destino.
any anysignifica: enviar qualquer facility (sistema, kernel, daemon, auth etc.) em qualquer nível de severidade (emergency, alert, critical, warning, info, debug).- Na prática: todos os eventos do sistema serão enviados para esse servidor.
set system syslog source-address 172.10.10.201
- Define o IP de origem dos pacotes de log como 172.10.10.201 (o IP do vJunos-router).
- Isso garante que o tráfego de syslog saia pela interface que possui esse endereço.
- É importante para o servidor de logs reconhecer corretamente a origem das mensagens.
commit
- Aplica as alterações feitas na configuração.
atenção
Após o inicio do Vjunos, pode levar entre 3 a 6 minutos para subir todas as rotas e a configuração funcionar corretamente.
- Somente após esse comando os logs começam a ser enviados para o destino configurado.
7.1 Telegraf
O Telegraf está configurado para coletar métricas via:
- syslog: exportação de logs
- IPFIX: exportação de fluxos de tráfego.
7.2 InfluxDB
Banco de séries temporais onde as métricas do Telegraf são armazenadas. Pode ser acessado pela porta 8086.
7.3 Chronograf
Interface web de análise de métricas armazenadas no InfluxDB. Acessível em http://172.10.10.113:8888.
7.4 Grafana
Plataforma de visualização interativa onde os dados são apresentados em dashboards personalizados.