Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Guia de streaming do Apstra

Visão geral do plug-in de streaming do Apstra

Você pode configurar o Apstra para gerar fluxos do Google Protocol Buffer (protobuf) para dados de contador (perfmon), alertas e eventos. Cada tipo de dados é transmitido para um receptor por meio de seu próprio soquete TCP, mantendo conexões separadas, mesmo se configurado para o mesmo receptor. Isso também permite que todos os três tipos de dados sejam enviados para três receptores de streaming diferentes. Você pode escolher entre os muitos projetos de código aberto ou desenvolver suas próprias soluções para capturar, armazenar e analisar os dados protobuf.

O Juniper Apstra 5.1 apresenta um plug-in executivo externo para a Telegraf, chamado plug-in Apstra Streaming. Este plugin é mantido fora do código-fonte do Telegraf, simplificando o processamento de dados de telemetria e garantindo a compatibilidade, independente das versões do Telegraf.

O plug-in fornece uma maneira eficaz de consumir dados de telemetria e se integra perfeitamente à pilha de telemetria de exemplo a seguir ou a outras pilhas de monitoramento de telemetria.

Este guia detalha como usar o plug-in com a seguinte pilha de exemplo, que consiste em:

  • Uma interface gráfica baseada em Grafana (porta 3000, nome de usuário: admin, senha: admin)

  • Prometheus para contadores e alertas (porta 9090, nome de usuário: admin, senha: admin)

  • Influxdb para eventos (porta 8086)

  • 2 coletores, um para cada banco de dados baseado no Telegraf.

Grafite

Em um navegador da Web, insira o URL http://<apstra-streaming>:3000 e digite username admin (padrão) e senha admin (padrão).

A GUI do Grafana inclui duas seções principais (canto superior esquerdo). O blueprint do Apstra AOS descreve alertas gerais de telemetria e a taxa de transferência de tráfego. O dispositivo Apstra AOS visualiza dispositivos individuais para telemetria de interface.


Os blueprints são aprendidos automaticamente usando o contêiner Docker 'telegraf' do Apstra; Nenhuma configuração adicional é necessária.


Na captura de tela acima, podemos observar o tráfego no ambiente de demonstração do Apstra e agregar CPU, tráfego e erros. Para filtrar eventos de telemetria com base em dispositivos específicos e individuais, altere o painel na parte superior para Dispositivo Apstra AOS.


Role para baixo para ver as estatísticas do dispositivo, como CPU e memória:


Prometeu

O Prometheus é usado para alertas e armazenamento de contador de telemetria de dispositivos no dispositivo de streaming do Apstra. Em um navegador da Web, insira o URL http://<apstra-streaming>:9090 para acessar a GUI do Prometheus.

Quando os eventos de entrada aparecem, o Apstra cria dinamicamente cada uma das consultas. Para ver exemplos de nomes de consulta, comece a digitar em 'executar'. Começando com 'alert', ele completa os alertas disponíveis que o Prometheus recebeu do Apstra.


Aqui está um exemplo de alertas de status de streaming para a apstra-streaming VM.


InfluxDB

De acordo com a documentação oficial, a interface do usuário do administrador da Web do InfluxDB está obsoleta a partir do InfluxDB 1.1. Se você quiser interagir com o InfluxDB, recomendamos usar a CLI. Para obter informações sobre comandos CLI, consulte https://archive.docs.influxdata.com/influxdb/v1.2/tools/shell/.

As saídas de exemplo abaixo mostram o processo de acesso ao contêiner do InfluxDB e a execução de uma consulta para informações do BGP.

Primeiro, executamos um -execute comando para acessar o contêiner InfluxDB e, em seguida, iniciamos o influx shell.

Depois de se conectar ao contêiner InfluxDB, execute um comando para exibir os bancos de dados disponíveis. No caso do Apstra Streaming, acessamos o aos banco de dados.

Exiba as fontes de consulta disponíveis.

Em nosso exemplo, consultamos alert_bgp_neighbor_mismatch.

Configurar o Apstra-Streaming

Para configurar o streaming de telemetria do Apstra como parte desta pilha de exemplo, você editarávariables.env, executará o make start comando e reiniciará os contêineres. Nenhuma configuração de servidor Apstra é necessária.

O projeto Telegraf se conecta à API do Apstra e publica um IP:Port que o Apstra usa para transmitir dados de telemetria em tempo real.

  1. Copiar variables.default para variables.env.
  2. Configure variables.envo .
    • AOS_SERVER - o endereço IP da VM do Apstra que envia dados de telemetria para a apstra-streaming VM.

    • LOCAL_IP - o endereço IP atribuído ao ens33 (primeira interface ethernet). Nesse caso, ele é aprendido via DHCP nessa VM. Veja ip addr show dev ens33.

    • Opções de configuração do Grafana para especificar o nome de usuário e a senha para a interface da Web do Grafana.

    • AOS_LOGIN, AOS_PASSWORD, AOS_PORT - Você pode personalizar as informações de nome de usuário, porta e senha.

  3. Execute o comando para ativar os contêineres.
    Veja a seguir um exemplo docker-compose.yml para o contêiner Telegraf.
    Observe que o arquivo de configuração do Telegraf - ./aos-telegraf.conf - está mapeado para /etc/telegraf/apstra-telegraf-plugin.conf no contêiner.

Reconfigurar o streaming do Apstra após a atualização do servidor Apstra

Depois de atualizar o servidor Apstra, você deve reconfigurar a apstra-streaming VM para garantir uma conexão de streaming adequada.

  1. Se você atualizou e instalou o servidor Apstra em uma VM diferente (ou se o endereço IP do servidor for diferente por qualquer motivo), atualize o variables.env arquivo com o novo endereço IP do servidor Apstra.
  2. Execute o docker ps comando para verificar se a imagem de contêiner atual do Telegraf é Telegraf v1.31.3 ou posterior.
  3. Se necessário, modifique o docker-compose.yml arquivo e aponte para a imagem correta do Docker.
  4. Execute o comando docker-compose up -d para reiniciar o serviço.
  5. Execute o docker ps comando para verificar se o contêiner está em execução com a nova imagem.

Build Apstra-Streaming VM (opcional)

Você pode criar sua própria apstra-streaming VM, que é um contêiner do Docker. As etapas a seguir mostram como configurar um servidor Docker básico.

Instale o Ubuntu 24.04.1

Baixe o ISO do Ubuntu 24.04.1 e provisione uma nova VM. O nome de usuário padrão é admin e a senha é admin.

Para blueprints maiores, recomendamos alterar a RAM para pelo menos 8 GB e a CPU para pelo menos 2 vCPUs. Mais espaço em disco também pode ser necessário.

Recurso

Quantidade

Aríete

8 GB

CPU

2 vCPU

Rede

1 vNIC

Instalar pacotes

Instale os pacotes necessários, com base no Ubuntu 24.04.1

Atualize o sistema para garantir que todos os pacotes estejam atualizados.

Adicione o usuário do Apstra ao grupo do Docker. Isso permite que o 'apstra-streaming' faça alterações na configuração do Docker sem precisar escalar para sudo.

Baixe o plug-in do Apstra no site de downloads da Juniper, em Apstra 5.1. Descompacte os arquivos de imagem de streaming do Apstra.

Crie um softlink (apstra-telegraf-plugin) para a imagem descompactada. Isso garante que você possa usar o mesmo apstra-telegraf-plugin nome de imagem em versões mais recentes da imagem. Se houver alguma imagem existente em seu diretório, exclua-a e crie um novo softlink para se referir à imagem mais recente.

Definir política de reinicialização do contêiner

O pacote de streaming do Apstra não define a política de reinicialização do Docker; Isso depende da sua cadeia de ferramentas de orquestração. Abra apstra-streaming/docker-compose.yml e adicione restart: always a cada uma das diretivas de serviço. Isso garante que os contêineres do Docker estejam online após a reinicialização de um serviço.

Siga as etapas na seção Configurar o streaming do Apstra para configurar variables.env e iniciar os contêineres.

Alterar o nome do host do sistema

Modifique /etc/hostname para apstra-streaming e altere o IP /etc/hosts de loopback para apstra-streaming do ubuntu.

Solução de problemas

Você pode executar os comandos a seguir para monitorar a integridade do seu ambiente.

Verificar se há logs do Apstra para a VM de streaming do Apstra

Verifique os logs do docker.

Você deve ver um ID de blueprint e alguns eventos de "gravação" do influxdb quando eventos de telemetria ocorrerem no AOS - BGP, atividade, desvio de configuração ... etc.

Verifique se os contêineres estão em execução

Verifique se todos os contêineres esperados estão em execução.