Monitorar OLT com Zabbix: como funciona para provedores
Monitorar OLT com Zabbix é cadastrar a OLT como host, aplicar um modelo que descobre sozinho as portas PON e as ONUs e criar regras que transformam essas leituras em alertas. Funciona bem até o número de ONUs crescer sem que a coleta seja redesenhada; aí o servidor atrasa e os avisos chegam tarde.
Resumo
- O Zabbix lê a OLT por SNMP e cria itens para cada porta e cada ONU por meio da descoberta automática.
- A descoberta de baixo nível (LLD) gera itens e alertas a partir de protótipos, sem cadastro manual por porta.
- Com milhares de ONUs, o volume de valores por segundo pesa no servidor, no banco e na gerência da OLT.
- O alerta que importa é por porta e depende do uplink; um alerta por ONU vira avalanche na primeira fibra rompida.
O que é monitorar OLT com Zabbix
É usar o Zabbix, sistema de monitoramento de código aberto, para ler a OLT em intervalos fixos, guardar o histórico e avisar quando um valor sai da faixa combinada. A OLT vira um host, e o que se mede nela vira item.
O vocabulário do Zabbix tem quatro peças que aparecem em toda conversa sobre OLT. O host é o equipamento; o modelo (template) é o pacote de regras aplicado a ele; o item é cada leitura, como a temperatura de uma placa; e o trigger é a condição que transforma um item em problema, como a porta ficar fora.
Numa rede de provedor, o desafio não é ligar o Zabbix à OLT, que é rápido, mas decidir o que medir e com que frequência. É essa decisão que separa um painel útil de um servidor sobrecarregado, e é por ela que começa o monitoramento de OLTs da Táquion Tech.
O caminho do dado, da OLT ao alerta
Entre a porta PON e a mensagem no celular do técnico, cada leitura passa por cinco pontos. Qualquer um deles pode ser o gargalo, e por isso vale conhecer o caminho inteiro.
POP
OLT responde
A gerência da OLT devolve o valor pedido por SNMP, como o número de ONUs ativas numa porta.
POP
Proxy coleta
Um proxy do Zabbix no POP faz a leitura e guarda os dados se o link até o servidor cair.
Central
Servidor processa
O servidor recebe o valor, aplica o pré-processamento e avalia os triggers ligados ao item.
Central
Banco guarda
O valor vai para o histórico e para as médias de longo prazo usadas nos gráficos.
Equipe
Ação avisa
Se um trigger muda de estado, uma ação manda a mensagem para quem está de turno.
Em redes com um POP só, o proxy pode não existir e a coleta sai direto do servidor. Com vários POPs, ele evita buracos no histórico quando o transporte entre as cidades oscila.
Como o Zabbix descobre as portas PON e as ONUs?
Pela descoberta de baixo nível, a LLD: uma regra lê periodicamente a lista de portas ou de ONUs da OLT e cria, para cada uma, os itens e triggers definidos nos protótipos. Quando aparece uma ONU nova, ela entra na coleta sem cadastro manual.
A regra de descoberta devolve uma lista com macros, como o índice SNMP e o nome da porta. Os protótipos usam essas macros para montar a chave de cada item. Assim, um único protótipo de estado de porta vira dezesseis itens numa placa de dezesseis portas, e um protótipo de sinal de ONU vira milhares de itens numa OLT cheia.
Estado de interface e nome de porta vêm das MIBs públicas, iguais em todas as marcas. Já a lista de ONUs, o sinal de cada uma e a contagem de ONUs por porta ficam em MIBs privadas do fabricante, e mudam de caminho entre marcas e entre versões de firmware.
Exemplo: regra de descoberta e trigger por porta PON
O trecho abaixo descreve os campos de uma regra de descoberta de portas PON e de um trigger que compara a contagem atual de ONUs com a de uma hora antes. Os OIDs da IF-MIB são padrão; o da contagem de ONUs depende do fabricante.
## Regra de descoberta (item SNMP no modelo "OLT base")
Nome: Descoberta de portas PON
Chave: pon.discovery
OID SNMP: discovery[{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18]
Filtro: {#IFNAME} corresponde a ^(gpon|GPON|pon|PON)
Intervalo: 1h
Recursos perdidos: apagar depois de 7d
## Protótipo de item: estado operacional da porta (IF-MIB)
Nome: Porta {#IFNAME} ({#IFALIAS}): estado
Chave: pon.status[{#SNMPINDEX}]
OID SNMP: 1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}
Intervalo: 2m
## Protótipo de item: ONUs ativas na porta (MIB privada do fabricante)
Nome: Porta {#IFNAME}: ONUs ativas
Chave: pon.onu.ativas[{#SNMPINDEX}]
OID SNMP: <OID do fabricante para ONUs online por porta>.{#SNMPINDEX}
Intervalo: 2m
## Protótipo de trigger: porta perdeu mais de um terço das ONUs
Nome: Porta {#IFNAME} ({#IFALIAS}) perdeu ONUs em massa
Expressão: last(/OLT base/pon.onu.ativas[{#SNMPINDEX}])
< 0.67 * avg(/OLT base/pon.onu.ativas[{#SNMPINDEX}],1h:now-1h)
and avg(/OLT base/pon.onu.ativas[{#SNMPINDEX}],1h:now-1h) >= 8
Severidade: Alta
Depende de: Uplink da OLT foraA segunda linha da expressão evita alerta em porta quase vazia, onde duas ONUs desligadas já seriam um terço. A dependência do uplink impede que todas as portas disparem juntas quando o problema é a ligação da OLT com a agregação.
Modelo pronto ou modelo próprio para a OLT?
Modelo pronto serve para começar e para conhecer os OIDs; modelo próprio é o que fica em produção. A tabela mostra o que pesa na escolha.
| Critério | Modelo pronto da comunidade | Modelo próprio ajustado |
|---|---|---|
| Firmware | Feito para uma versão que pode não ser a sua; OIDs às vezes mudam | Testado na versão que roda nas suas OLTs |
| Volume de itens | Costuma criar tudo o que a MIB oferece, inclusive o que ninguém usa | Cria só o que tem gráfico ou alerta com dono |
| Intervalos | Iguais para porta e ONU, quase sempre curtos | Curto para porta e uplink, longo para sinal de ONU |
| Alertas | Um trigger por ONU, que vira avalanche numa fibra rompida | Um trigger por porta, com contagem e dependência do uplink |
| Manutenção | Depende de quem publicou continuar atualizando | Documentado e mantido pela sua equipe ou pelo NOC |
Na prática, o caminho mais seguro é importar um modelo pronto numa OLT de laboratório ou de pouca carga, ver quais itens funcionam na sua versão e reescrever um modelo enxuto a partir disso. O passo a passo de como monitorar OLT mostra o teste por snmpwalk que vem antes dessa etapa.
Seu Zabbix tem um alerta por ONU?
No monitoramento de OLTs, um Especialista reescreve os modelos para cada marca, troca alertas por ONU por alertas por porta e calibra os intervalos para a gerência aguentar.
Huawei e ZTE no mesmo Zabbix
Quando há mais de uma marca, um modelo-base com a IF-MIB vale para todas, e cada marca ganha um modelo complementar com as MIBs privadas. Se os itens das duas marcas tiverem a mesma chave, os painéis e os triggers de porta funcionam iguais para as duas.
Quando monitorar OLT com Zabbix vira problema?
Vira problema quando a descoberta de ONUs multiplica os itens além do que o servidor, o banco e a gerência da OLT aguentam. O sintoma aparece primeiro como atraso na coleta, e só depois como alerta perdido.
O Zabbix mede a própria carga em valores novos por segundo, o NVPS. A conta é simples: número de itens dividido pelo intervalo em segundos. O problema é que cada ONU traz dois ou três itens, e uma OLT cheia tem milhares de ONUs.
| ONUs na rede | Intervalo de 1 minuto | Intervalo de 15 minutos | Intervalo de 30 minutos |
|---|---|---|---|
| 2.000 | 100 valores/s | cerca de 7 valores/s | cerca de 3 valores/s |
| 10.000 | 500 valores/s | cerca de 33 valores/s | cerca de 17 valores/s |
| 30.000 | 1.500 valores/s | 100 valores/s | 50 valores/s |
A coluna de 1 minuto mostra por que o intervalo curto para todas as ONUs não se sustenta. Além do servidor, cada rodada é uma consulta à gerência da OLT, que divide processador com o controle das portas e com a CLI usada pelo técnico.
Sinais de que o Zabbix não está dando conta
O servidor raramente cai de uma vez. Ele vai atrasando, e os sinais ficam visíveis para quem sabe onde olhar.
- Fila crescendo: a tela de fila mostra itens atrasados há mais de alguns minutos, sempre os das OLTs.
- Pollers ocupados: os processos de coleta SNMP passam boa parte do tempo ocupados no gráfico interno do servidor.
- Buracos no gráfico: o sinal das ONUs aparece com falhas, porque a OLT não respondeu a tempo.
- CLI lenta: o técnico reclama que a OLT demora a responder comandos nos minutos da coleta.
A ONU que some e volta da descoberta
Outro problema típico é a ONU trocada ou desligada por falta de pagamento. Ela sai da lista, o Zabbix marca o item como perdido e, se o prazo de remoção for curto, apaga o histórico de sinal que mostraria a degradação. Prazo de remoção longo demais, por outro lado, deixa milhares de itens mortos ocupando o banco.
Erros comuns ao monitorar OLT no Zabbix
Quase todos os erros vêm de tratar a OLT como um switch comum, com intervalos curtos e um alerta para cada coisa. Os cinco abaixo aparecem na maioria dos Zabbix de provedor.
Evite no Zabbix das OLTs
- Descoberta a cada minuto: a lista de ONUs muda pouco; rodar a descoberta com frequência só pesa na gerência.
- Trigger por ONU com severidade alta: uma fibra rompida acorda a equipe com dezenas de mensagens iguais.
- Sem dependência do uplink: a queda da ligação da OLT gera um alerta por porta, e o operador perde a causa.
- Comunidade SNMP padrão: usar a comunidade de fábrica, às vezes com escrita, em vez de um usuário só de leitura.
- Coletar pelo servidor central em rede com vários POPs: sem proxy local, cada oscilação de transporte vira buraco no histórico.
Quando a fibra rompe e o alerta por porta finalmente chega, o passo seguinte é saber se a causa é física ou uma ONU com defeito transmitindo fora de hora. O guia sobre OLT derrubando ONU mostra essa separação a partir do alarme.
Por onde começar sem travar o servidor
Comece pelo que derruba mais clientes, chassi, uplinks e portas, e só depois ligue o sinal das ONUs, com intervalo longo e uma OLT de cada vez. O checklist ajuda a não pular etapas.
Antes de ligar a descoberta de ONUs em todas as OLTs
- Chassi, uplinks e portas PON já estão em coleta e com alertas testados.
- A gerência de cada OLT responde por SNMPv3 a um usuário só de leitura.
- O tempo de resposta da OLT a uma tabela grande foi medido com snmpwalk.
- O NVPS esperado depois da descoberta de ONUs foi calculado.
- O banco tem espaço para o histórico de sinal pelo tempo combinado.
- Existe proxy em cada POP com OLT, ou o motivo de não ter está anotado.
- O prazo de remoção de ONUs perdidas foi decidido com a equipe.
Com todos os itens marcados, ligue a descoberta numa OLT, acompanhe a fila por alguns dias e só então replique. Se algum item ficou em branco, ele é o próximo trabalho.
Se o Zabbix ainda não existe ou já está saturado com outros equipamentos, a implantação de Zabbix resolve o dimensionamento do servidor e do banco antes de as OLTs entrarem. Quem já tem histórico de alguns meses pode ir além e usar a análise preditiva de falhas para enxergar a degradação antes do alerta.
Perguntas frequentes
O Zabbix tem modelo oficial para OLT?
O Zabbix traz modelos oficiais para muitos equipamentos de rede, mas a cobertura de OLTs depende da marca e da versão [CONFIRMAR na versão do Zabbix]. Na maioria dos provedores, a OLT acaba monitorada por um modelo da comunidade adaptado ou por um modelo próprio.
Dá para ver o sinal de cada ONU no Zabbix?
Dá, desde que a OLT entregue o sinal por SNMP ou por API e que a descoberta de ONUs esteja configurada. Com milhares de ONUs, o intervalo dessa coleta precisa ser bem maior que o das portas.
Preciso de um proxy do Zabbix em cada POP?
Não é obrigatório, mas ajuda muito em redes com POPs ligados por rádio ou por um único link. O proxy guarda as leituras enquanto o transporte está fora e envia tudo quando ele volta, sem buraco no gráfico.
SNMP trap substitui a coleta periódica da OLT?
Não substitui, complementa. O trap avisa na hora em que a OLT percebe um evento, mas pode se perder no caminho; a coleta periódica garante que o estado seja conferido mesmo quando nenhum trap chegou.
Grafana é necessário para monitorar OLT no Zabbix?
Não é necessário, porque o Zabbix tem gráficos e telas próprios. O Grafana entra quando a equipe quer painéis por OLT mais legíveis, com a distribuição do sinal das ONUs e a ocupação das portas lado a lado.
Fontes
- Low-level discovery (documentação oficial do Zabbix): como regras de descoberta, protótipos de item e de trigger e o prazo de recursos perdidos funcionam
- Discovery of SNMP OIDs (documentação oficial do Zabbix): sintaxe da chave discovery[] com macros como {#SNMPINDEX} usada no exemplo de portas PON