09/12/2022
Monitoramento dos equipamentos DmOS via Zabbix e Grafana

Por Rogério Pereira – Engenheiro de Aplicações

O crescimento das redes dos provedores de internet (ISPs) exige que os gestores utilizem técnicas e ferramentas que ajudem a manter seus equipamentos operacionais evitando indisponibilidade dos serviços. Um recurso muito importante para este contexto é o monitoramento remoto no intuito de identificar preventivamente falhas nos equipamentos e atuar antecipadamente para evitar prejuízos significativos aos usuários.

O monitoramento dos equipamentos é o processo de coleta e organização das informações em tempo real dos diferentes dispositivos que compõem uma infraestrutura de rede IP, visando garantir que esta esteja funcionando corretamente.

Neste artigo, demonstraremos a utilização de software de gerenciamento de mercado open source chamado Zabbix, que é muito utilizado pelos nossos clientes. Adicionalmente, também demonstraremos o uso do software Grafana, o qual integrado ao Zabbix permite visualizar todas as informações em dashboards.

Antes de entrarmos no tutorial, explanaremos genericamente sobre o processo de monitoramento dos equipamentos de rede.

Conceito

Utilizando um software abrangente de monitoramento, os administradores podem acompanhar e observar o desempenho, conectividade, disponibilidade, utilização e segurança das redes IP. O monitoramento pode abranger os componentes físicos da rede (por exemplo, servidores, roteadores, firewalls, switches, etc.), as aplicações (conexão e disponibilidade de aplicações, serviços, etc), bem como os ambientes virtualizados e o tráfego de dados.

Algumas dessas ferramentas permitem aos usuários configurarem alertas que são exibidos em um dashboard que pode ser customizado de acordo com as preferências de cada um, além da possibilidade de envio destes alertas através de e-mail, SMS entre outros.

O servidor de monitoramento mantém o histórico dos dados coletados em banco de dados (Oracle, MySQL e PostgreSQL, entre outros), de onde são gerados gráficos, painéis de acompanhamento e slide-shows que mostram informações de forma alternada.

As ferramentas de monitoramento compartilham de características básicas como:

  • Monitoramento de CPU, Disco, Memória, Temperatura;
  • Monitoramento de Interfaces - Volume de tráfego, utilização;
  • Monitoramento de sinais dos transceivers;
  • Status de equipamentos;
  • Histórico de eventos;
  • Avisos e alarmes baseados em Thresholds;
  • Notificação por e-mail;
  • Dashboards para apresentação dos dados;

 

Existem diversas opções de ferramentas disponíveis no mercado, algumas pagas, outras gratuitas. Entre elas, destaca-se o DmView, o software de gerência desenvolvido pela Datacom, que possui suporte completo à toda a linha de equipamentos Datacom. Abaixo, listamos algumas das mais conhecidas:

  • DmView
  • Paessler PRTG Network Monitor
  • LogicMonitor
  • Zabbix
  • LibreNMS
  • Datadog
  • Auvik

O DmView, além das funcionalidades de monitoramento dos equipamentos, disponibiliza funcionalidades de templates CLI, templates TR-069, configuração, provisionamento de ponta a ponta com descoberta de caminho, supervisão, tratamento de falhas, OAM (Operations, Administration, and Maintenance), inventário, administração de usuários, segurança, auditoria, monitoramento de desempenho e tráfego, mapas topológicos, descoberta de redes e auto-gerência.

Além disso, o DmView inclui serviços e funcionalidades de gerência TR-069, atuando como um servidor de configuração automática (ACS - Auto Configuration Server) do protocolo TR-069, o que permite gerenciar a rede de CPEs (Customer Premises Equipment) TR-069 através de funções de visualização e busca dos CPEs na rede, visualização e busca dos parâmetros dos CPEs, configuração dos parâmetros dos CPEs, reinicialização e atualização de firmware e arquivos de configuração.

Para saber mais informações sobre o DmView, acesse o link https://www.datacom.com.br/pt/produtos/gerencia-de-redes/dmview.

 

Convencionalmente tal gerenciamento é realizado através de agentes SNMP (Simple Network Management Protocol). O SNMP é um protocolo que ajuda os administradores de rede a gerenciar dispositivos e solucionar problemas de rede. É baseado em dois elementos principais: gerente e agente. O protocolo SNMP possui três versões:

  • SNMPv1

Versão original do SNMP, strings das comunidades enviadas em texto simples com segurança fraca.

  • SNMPv2c

Versão desenvolvida para corrigir alguns dos problemas da v1. No entanto, várias versões foram desenvolvidas, nenhuma abordando verdadeiramente os problemas com v1. A versão v2c é a versão mais usada e melhorou o tratamento de protocolos em relação a versão v1, resultando em operações levemente aprimoradas. No entanto, a segurança ainda é um problema porque utiliza strings de comunidade em texto simples.

  • SNMPv3

Versão mais recente do SNMP, suportando segurança e autenticação SHA e MD5 completas. Deve ser usado, se possível, especialmente em redes não confiáveis.

  • A configuração abaixo demonstra como habilitar o agente SNMP para responder a requisições no equipamento Datacom DmOS:

A configuração padrão do SNMP dos produtos Datacom DmOS, vem configurado de fábrica a comunidade public com permissão de leitura, escrita e notificação para SNMPv2. Por questões de segurança é recomendado alterar a comunidade padrão. Caso o usuário deseje remover ou incluir uma nova comunidade os passos seguintes irão demonstrar como realizar estas operações.

  • Removendo a comunidade padrão (public) no DmOS:

  • Configurando uma comunidade datacom-ro com permissão somente leitura no DmOS:

  • Configurando uma comunidade datacom-rw com permissão de leitura e escrita no DmOS:

Os objetos gerenciados podem ter permissões de leitura e escrita, sendo que cada leitura representará o estado real do recurso e, cada alteração também será refletida no próprio recurso. O conjunto desses objetos recebe a denominação de MIB.

Para realizar o monitoramento das ONUs será necessário habilitar e aplicar um profile snmp para coletar os objetos que você deseja monitorar. Segue abaixo o procedimento de criação do profile SNMP.

 

• Criando um perfil SNMP no DmOS:

•    Configurando um perfil SNMP na ONU no DmOS:

 

 

MIB (Management Information Base)

Uma MIB (Management Information Bases) é um banco de dados hierárquico usado para facilitar o gerenciamento dos dispositivos em uma rede. Cada MIB é endereçado usando um identificador de objeto (OID), que geralmente é a configuração ou o status de um dispositivo. O OID identifica exclusivamente um objeto gerenciado na hierarquia da MIB.

De forma simplificada, as configurações e status do dispositivo possuem uma numeração única (OID), que é o identificador do objeto.  Esta numeração é utilizada pelo SNMP para ler as configurações e status, por exemplo, a configuração de status de uma interface possui um OID que quando consultado pelo SNMP irá retornar se o status da interface está UP ou DOWN.

A MIB concentra todos os OIDs disponíveis para serem consultados, além de fazer uma tradução desta numeração para um nome, então quando se utiliza a MIB ao invés de consultar o OID é possível consultar o nome utilizado para aquele OID.

A organização da MIB utiliza uma arquitetura de árvore com notação de sintaxe abstrata com o objetivo de compatibilizar a troca de informações entre sistemas diferentes independente do equipamento em que está sendo implementado. Para cada objeto são definidos: nome; identificador; sintaxe; definição e acesso:

  • O nome do objeto é um texto com poucos caracteres;
  • O identificador do objeto é formado por números separados por pontos;
  • A sintaxe do objeto descreve o formato, ou o valor, da informação podendo ser: número inteiro, endereço de rede, contador, medida, intervalo de tempo e outros;
  • A definição é uma descrição textual do objeto;
  • O acesso define o tipo de controle que se pode ter sobre o objeto, podendo ser somente leitura, leitura e escrita ou não acessível.

 

Basicamente são definidos três tipos de MIBs: MIB II, MIB experimental e MIB privada. A MIB II fornece informações gerais de gerenciamento como quantidade de pacotes, status das interfaces, consumo de CPU entre outros. A MIB experimental é aquela em que seus componentes estão em fase de desenvolvimento e teste. Já a MIB privada ou proprietária deve ser fornecida pelo fabricante dos equipamentos, nela contém informações específicas de cada fabricante como configurações, protocolos proprietários entre outros.

  • Para obter as MIBs atualizadas do DmOS, o usuário pode exportar diretamente do equipamento um arquivo com todas as MIBs SNMP suportadas pelo equipamento para um servidor SCP ou TFTP. Por exemplo, o comando a seguir encaminhará o arquivo com as MIBs via protocolo TFTP com o nome datacom-mibs.tar.gz para o servidor.

Zabbix

Entre as ferramentas gratuitas o Zabbix é uma das mais utilizadas nos ISPs, sendo que seu objetivo principal é monitorar em tempo real a disponibilidade da rede, experiência de usuário e qualidade de serviços.

Oferece uma interface 100% Web para administração e exibição dos dados. Suporta polling e trapping, os alertas podem ser configurados para utilizar vários métodos de comunicação, como SMS, e-mail e abertura de chamados em sistemas de helpdesk.

Conta também com funções de auto-discovery (descoberta automática de itens) e para isto devem ser utilizados templates, você pode encontra-los no GitHub (Aqui neste link), onde disponibilizamos os templates para monitorar os nossos equipamentos DmOS.

A Datacom possui o DmView Maestro, que é um Sistema Integrado de Gerência de Rede e de Elemento desenvolvido para supervisionar e configurar os equipamentos Datacom. O DmView pode ser integrado com o software Zabbix de forma que o acesso aos gráficos de monitoramento dos equipamentos pode ser realizado diretamente por atalhos criados automaticamente na interface Web do DmView (para mais detalhes consulte a documentação do Software DmView Maestro).

Os principais módulos do sistema de monitoramento Zabbix são:

Zabbix server

O servidor Zabbix coleta os dados para o monitoramento dos agentes. Quando qualquer situação é detectada, alertas são emitidos visualmente e também através de uso de sistemas de comunicação. O servidor  mantém o histórico dos dados coletados em um banco de dados (Oracle, MySQL e PostgreSQL). Estes são utilizados para gerar gráficos, painéis de acompanhamento e slide-shows. O sistema deve ser obrigatoriamente instalado em sistemas Unix ou Linux.

Zabbix proxy

O Zabbix proxy basicamente funciona em nome do Zabbix Server, na visão do agente monitorado, o proxy passa a ser o servidor Zabbix. Os dados recebidos são armazenados temporariamente e enviados ao servidor. Assim que enviados estes dados temporários são excluídos. A utilização deste componente é opcional, porém é considerado um item essencial para uma arquitetura de monitoramento distribuído, pois ele distribui a carga de monitoração. Se toda a coleta de dados for feita através de Proxies o uso de CPU e de I/O no servidor responsável pelo servidor Zabbix reduz significativamente.

Algumas razões para utilização do Zabbix proxy:

– Redução da carga no servidor Zabbix;
– Permitir monitoramento em zonas DMZ ou atrás de firewalls;
– Armazenamento de dados no banco de dados caso a conexão com a rede pública seja interrompida;
– Torna o monitoramento mais efetivo;
– Trabalhar como ponto de resiliência nos casos de instabilidade nos links entre redes distintas;

Zabbix agent

O agente Zabbix é instalado no host alvo da monitoração e permite monitorar ativamente recursos e aplicações locais como CPU e memória. Além disso, o agente Zabbix permite a coleta de métricas personalizadas com uso de scripts ou programas externos permitindo a coleta de métricas complexas e até tomada de ações diretamente no próprio agente Zabbix. O agente concentra as informações locais sobre o dispositivo monitorado para posterior envio ao servidor ou proxy Zabbix.

Há agentes Zabbix disponíveis para Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows NT, Windows Server, Windows XP e Windows Vista.

Uma observação importante é que este módulo é utilizado somente para servidores.

Interface Web

Levando em conta que os dispositivos e serviços a serem monitorados estão em um ambiente de rede, a aplicação Zabbix conta com uma interface web, acessível através de qualquer navegador, possibilitando o gerenciamento do Zabbix através desta interface. Na imagem abaixo pode-se ver a tela principal do Servidor Zabbix, onde visualiza-se o 'Dashboard' da aba 'Em Monitoria', página que mostra de forma prática e agrupada, um resumo das ocorrências de todo o ambiente gerenciado.


(Tela Global do Zabbix)

 

Grafana

O Grafana é um software de interface web que auxilia na visualização dos dados em uma interface mais atrativa visualmente, permitindo exibir os dados/métricas coletadas pelo Zabbix em dashboards criados no Grafana. 

A integração entre as ferramentas Grafana e Zabbix é realizada através de um plugin que deve ser instalado no Grafana, ele é responsável por permitir a criação de um datasource que irá se comunicar a API do Zabbix. Com a API do Zabbix é possível desenvolver diversas atividades desde consultas, execução de tarefas e integrações entre sistemas. 

 Além de ser uma ótima solução gratuita e de código aberto, possui integração com diversas soluções além do Zabbix, como o MySQL1, GLPI2, PostgreSQL3, Google Agenda4, InfluxDB5 entre outras. Assim, é possível montar painel visual com diferentes dados provenientes de diferentes fontes de coleta. Um exemplo disso seria um único painel de monitoramento de um centro de suporte, contando com informações das principais métricas do atendimento. A DATACOM disponibiliza um template em JSON do Grafana (Clique aqui) onde é possível validar algumas informações:

  • Soma das ONUs por porta PON;
  • Soma de todas as ONUs do Chassis;
  • Soma de todas ONUs DOWN e UP por porta PON e Chassis;
  • CPU;
  • Memória;
  • Tráfego das interfaces GPON;
  • Tráfego das interfaces Ethernet;


(Dashboard criada no Grafana)

 

O Zabbix e Grafana na prática!

 Agora, demonstraremos a utilização do Zabbix com as OLTs e ONUs Datacom, analisando diversos parâmetros como, por exemplo, processamento e memória da OLTs, quantidade de ONUs ativas por porta PON entre outros. Como mencionado o Zabbix faz a descoberta automática dos itens, e para isto é necessário que um template seja criado, importado ou mesmo utilizado algum pré-existente. Para os equipamentos com DmOS, disponibilizamos 3 templates, eles estão divididos desta forma por uma questão de organização e também porque não necessariamente é preciso utilizar todos os templates para todos os dispositivos. Recomendamos que sejam monitorados apenas os itens de maior relevância e que sejam estritamente necessários para o controle da sua rede. O monitoramento de itens em excesso ou em uma frequência elevada de consulta, pode acabar ocasionando um consumo elevado de CPU nos equipamentos, além do uso de recursos do servidor que é outro fator importante a ser levado em conta.

Existem alguns itens nos templates que estão desativados, pois são considerados de baixa relevância, porém podem ser úteis em alguns casos. Abaixo estão listados os templates disponibilizados pela Datacom:

DM Template - Datacom IF-MIB

Itens relacionados as interfaces, como:

  • Pacotes recebidos e enviados;
  • Pacotes de Broadcast, Multicast, Unicast;
  • Pacotes com erros;
  • Velocidade da interface;
  • Status da interface;
  • TX e RX dos tranceivers;
  • Contador por VLAN;

 

DM Template - DmOS

Itens relacionados aos equipamentos, como:

  • CPU;
  • Memória;
  • Temperatura dos tranceivers;
  • Temperatura do equimanto;
  • Fans;

 

DM Template - DmOS GPON

Itens relacionados ao GPON, como:

  • Pacotes recebidos e enviados das ONUs;
  • Pacotes de Broadcast, Multicast, Unicast;
  • Status ONU;
  • RX da ONU;
  • Uptime ONU;

 

A seguir apresentamos um passo a passo para utilização do Zabbix e Grafana com OLT/ONU Datacom. Para este exemplo, utilizamos o Zabbix versão 6.2.1 e Grafana v9.1.4.

1 – Faça o download dos templates do Zabbix para OLT/ONU Datacom:

A Datacom disponibiliza os templates no Github, no link:

https://github.com/datacom-teracom/dmos-zabbix-template

2 – Importe o template no Zabbix conforme imagens a seguir:

Clique em “Configuração -> Templates -> Importar -> Escolher Arquivo” e selecione o template desejado.

Em caso de sucesso os templates importados devem aparecer conforme a imagem abaixo.

3 – Obtenha as MIBs atualizadas do DmOS.

Utilizando um servidor de TFTP em sua máquina, acesse o equipamento DmOS e execute o comando abaixo, o comando encaminhará o arquivo com as MIBs via protocolo TFTP com o nome datacom-mibs.tar.gz para o servidor.

copy mibs tftp://                                 

4 – Após realizar a exportação das MIBs conforme demonstrado no passo anterior, descompacte o arquivo gerado e copie para a pasta do servidor Zabbix (/usr/share/snmp/mibs/) com o pacote SNMP instalado.

Pronto, MIBs e templates importados no servidor e no Zabbix.

5 – Adicione um host no zabbix;

Clique em “Em Monitoramento -> Hosts -> Criar host”;

Preencha os campos sinalizados, adicione os templates que foram importados anteriormente e aplique, seu host já está adicionado e começará a realizar a descoberta dos itens;

6 – Valide se os itens do host estão sendo coletados corretamente;

Clicar em “Em Monitoramento -> Dados Recentes -> Host” Selecionar o host desejado;

Os itens coletados vão começar a serem listados na tela, você pode usar o TAG VALUES para facilitar sua pesquisa.

Ao lado direito de cada item é apresentado um botão de gráfico onde você pode acompanhar o histórico da coleta do item, podendo informar o período desejado;

Exemplo de histórico de processamento da CPU:

Exemplo de histórico de banda da interface GPON:

Exemplo de histórico de potência de transceivers:

7 – Realize o download do template do Grafana:

A Datacom disponibiliza os templates (Clique aqui):

 

8 – Importe o template no Grafana:

Clique em “Dashboards -> Import”

Clique em Upload JSON file e selecione o template desejado.

9 – Defina um nome da sua dashboard e clique em import;

Ao clicar em import automaticamente será aberta a tela do dashboard importado:

O Dashboard acima apresenta o total de ONUs online e offline por OLT e por porta PON, uso de CPU, uso de memória, uso de banda das interfaces GPON, e uso de banda das interfaces Ethernet.

Agradecemos a colaboração dos clientes Giovani Cordova da empresa GGNET e Josemar Fuzinatto da empresa SCNET por fornecerem materiais para a elaboração deste artigo.

Para dúvidas de configuração dos equipamentos, você pode entrar em contato com a equipe de suporte técnico da Datacom através do nosso portal de autoatendimento DmSupport ou através da central de atendimento (+55) 51 3933 3122.

Acompanhe o nosso blog, sempre trazemos novidades de produtos e conteúdos técnicos de relevância para o seu negócio.

Siga a Datacom nas redes sociais e inscreva-se também no nosso canal do Youtube, marque o recebimento de notificações e compartilhe o link nas suas redes sociais.

Para dúvidas e solicitação de proposta, não hesite em contatar a equipe comercial da Datacom: comercial@datacom.com.br, pelo WhatsApp dos gerentes de contas ou (+55) 51 3933 3000.

TAGS