Monitorando equipamentos de rede via SNMPv3 no Zabbix

Este artigo é dedicado aos recursos de monitoramento de equipamentos de rede usando o protocolo SNMPv3. Falaremos sobre SNMPv3, compartilharei minha experiência na criação de templates completos no Zabbix e mostrarei o que pode ser alcançado ao organizar alertas distribuídos em uma grande rede. O protocolo SNMP é o principal no monitoramento de equipamentos de rede, e o Zabbix é ótimo para monitorar um grande número de objetos e resumir grandes volumes de métricas recebidas.

Algumas palavras sobre SNMPv3

Comecemos pela finalidade do protocolo SNMPv3 e pelas características de sua utilização. As tarefas do SNMP são monitorar dispositivos de rede e gerenciamento básico, enviando comandos simples para eles (por exemplo, ativar e desativar interfaces de rede ou reinicializar o dispositivo).

A principal diferença entre o protocolo SNMPv3 e suas versões anteriores são as funções clássicas de segurança [1-3], a saber:

  • Autenticação, que determina que a solicitação foi recebida de uma fonte confiável;
  • criptografia (Encryption), para evitar a divulgação dos dados transmitidos quando interceptados por terceiros;
  • integridade, ou seja, uma garantia de que o pacote não foi adulterado durante a transmissão.

O SNMPv3 implica a utilização de um modelo de segurança em que a estratégia de autenticação é definida para um determinado usuário e para o grupo ao qual ele pertence (nas versões anteriores do SNMP, a solicitação do servidor ao objeto de monitoramento comparava apenas “comunidade”, um texto string com uma “senha” transmitida em texto claro (texto simples)).

O SNMPv3 introduz o conceito de níveis de segurança - níveis de segurança aceitáveis ​​que determinam a configuração do equipamento e o comportamento do agente SNMP do objeto de monitoramento. A combinação do modelo de segurança e do nível de segurança determina qual mecanismo de segurança é usado ao processar um pacote SNMP [4].

A tabela descreve combinações de modelos e níveis de segurança SNMPv3 (decidi deixar as três primeiras colunas como no original):

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Conseqüentemente, usaremos SNMPv3 no modo de autenticação usando criptografia.

Configurando SNMPv3

O monitoramento de equipamentos de rede requer a mesma configuração do protocolo SNMPv3 no servidor de monitoramento e no objeto monitorado.

Vamos começar configurando um dispositivo de rede Cisco, sua configuração mínima necessária é a seguinte (para configuração usamos a CLI, simplifiquei os nomes e senhas para evitar confusão):

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

A primeira linha snmp-server group – define o grupo de usuários SNMPv3 (snmpv3group), o modo de leitura (leitura) e o direito de acesso do grupo snmpv3group para visualizar certas ramificações da árvore MIB do objeto de monitoramento (snmpv3name então no configuração especifica quais ramos da árvore MIB o grupo pode acessar (snmpv3group poderá obter acesso).

A segunda linha snmp-server user – define o usuário snmpv3user, sua participação no grupo snmpv3group, bem como o uso de autenticação md5 (a senha para md5 é md5v3v3v3) e criptografia des (a senha para des é des56v3v3v3). Claro, é melhor usar aes em vez de des; estou dando aqui apenas como exemplo. Além disso, ao definir um usuário, você pode adicionar uma lista de acesso (ACL) que regula os endereços IP dos servidores de monitoramento que têm o direito de monitorar este dispositivo - esta também é uma prática recomendada, mas não vou complicar nosso exemplo.

A visualização snmp-server de terceira linha define um nome de código que especifica ramificações da árvore MIB snmpv3name para que possam ser consultadas pelo grupo de usuários snmpv3group. ISO, em vez de definir estritamente uma única ramificação, permite que o grupo de usuários snmpv3group acesse todos os objetos na árvore MIB do objeto de monitoramento.

Uma configuração semelhante para equipamentos Huawei (também na CLI) é semelhante a esta:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

Após configurar os dispositivos de rede, é necessário verificar o acesso do servidor de monitoramento através do protocolo SNMPv3, usarei o snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Uma ferramenta mais visual para solicitar objetos OID específicos usando arquivos MIB é o snmpget:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Agora vamos configurar um elemento de dados típico para SNMPv3, dentro do template Zabbix. Para simplificar e independência do MIB, uso OIDs digitais:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Eu uso macros personalizadas em campos-chave porque elas serão iguais para todos os elementos de dados do modelo. Você pode defini-los dentro de um modelo, se todos os dispositivos de rede da sua rede tiverem os mesmos parâmetros SNMPv3, ou dentro de um nó de rede, se os parâmetros SNMPv3 para diferentes objetos de monitoramento forem diferentes:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Observe que o sistema de monitoramento possui apenas nome de usuário e senhas para autenticação e criptografia. O grupo de usuários e o escopo dos objetos MIB aos quais o acesso é permitido são especificados no objeto de monitoramento.
Agora vamos preencher o modelo.

Modelo de enquete Zabbix

Uma regra simples ao criar qualquer modelo de pesquisa é torná-los o mais detalhados possível:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Presto muita atenção ao estoque para facilitar o trabalho com uma grande rede. Falaremos mais sobre isso um pouco mais tarde, mas por enquanto – gatilhos:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Para facilitar a visualização dos gatilhos, macros do sistema {HOST.CONN} são incluídas em seus nomes para que não apenas os nomes dos dispositivos, mas também os endereços IP sejam exibidos no painel na seção de alertas, embora isso seja mais uma questão de conveniência do que de necessidade . Para determinar se um dispositivo está indisponível, além da solicitação de eco usual, utilizo uma verificação de indisponibilidade do host usando o protocolo SNMP, quando o objeto está acessível via ICMP, mas não responde às solicitações SNMP - esta situação é possível, por exemplo , quando endereços IP são duplicados em dispositivos diferentes, devido a firewalls configurados incorretamente ou configurações SNMP incorretas em objetos de monitoramento. Se você utilizar a verificação de disponibilidade do host apenas via ICMP, no momento da investigação de incidentes na rede, os dados de monitoramento podem não estar disponíveis, portanto seu recebimento deve ser monitorado.

Vamos prosseguir para a detecção de interfaces de rede - para equipamentos de rede, esta é a função de monitoramento mais importante. Como pode haver centenas de interfaces em um dispositivo de rede, é necessário filtrar as desnecessárias para não sobrecarregar a visualização ou sobrecarregar o banco de dados.

Estou usando a função de descoberta SNMP padrão, com mais parâmetros detectáveis, para uma filtragem mais flexível:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Com essa descoberta, você pode filtrar interfaces de rede por tipos, descrições personalizadas e status de porta administrativa. Filtros e expressões regulares para filtragem no meu caso são assim:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Se detectadas, as seguintes interfaces serão excluídas:

  • desabilitado manualmente (adminstatus<>1), graças ao IFADMINSTATUS;
  • sem descrição de texto, graças a IFALIAS;
  • ter o símbolo * na descrição do texto, graças à IFALIAS;
  • que são de serviço ou técnicos, graças ao IFDESCR (no meu caso, em expressões regulares IFALIAS e IFDESCR são verificados por um alias de expressão regular).

O modelo para coleta de dados utilizando o protocolo SNMPv3 está quase pronto. Não nos deteremos mais detalhadamente nos protótipos de elementos de dados para interfaces de rede; vamos passar aos resultados.

Resultados do monitoramento

Para começar, faça um inventário de uma pequena rede:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Se você preparar modelos para cada série de dispositivos de rede, poderá obter um layout fácil de analisar de dados resumidos sobre software atual, números de série e notificação de um limpador chegando ao servidor (devido ao baixo tempo de atividade). Um trecho da minha lista de modelos está abaixo:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

E agora - o painel principal de monitoramento, com gatilhos distribuídos por nível de gravidade:

Monitorando equipamentos de rede via SNMPv3 no Zabbix

Graças a uma abordagem integrada de modelos para cada modelo de dispositivo da rede, é possível garantir que, no âmbito de um sistema de monitoramento, será organizada uma ferramenta de previsão de falhas e acidentes (se estiverem disponíveis sensores e métricas apropriados). O Zabbix é adequado para monitorar infraestruturas de redes, servidores e serviços, e a tarefa de manter equipamentos de rede demonstra claramente suas capacidades.

Lista de fontes usadas:1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Guia oficial de certificação. Cisco Press, 2014. pp. 325-329.
2. RFC 3410. ferramentas.ietf.org/html/rfc3410
3. RFC 3415. ferramentas.ietf.org/html/rfc3415
4. Guia de configuração SNMP, Cisco IOS XE versão 3SE. Capítulo: SNMP Versão 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

Fonte: habr.com

Adicionar um comentário