Introdução
Este documento descreve como configurar e entender traps do protocolo de gerenciamento de rede simples (SNMP - Simple Network Management Protocol) para monitorar o Cisco ISE.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha o conhecimento destes tópicos:
- Linux básico
- SNMP
- Identity services engine (ISE)
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- Cisco ISE, versão 3.1
- servidor RHEL 7
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
As interceptações SNMP são mensagens UDP enviadas de um dispositivo ativado por SNMP para um servidor MIB remoto. O ISE pode ser configurado para enviar interceptações a um servidor SNMP para monitorar e solucionar problemas. Este documento tem como objetivo familiarizar algumas das verificações básicas para isolar problemas e entender as limitações de armadilhas do ISE.
Configuração
O ISE suporta SNMP v1, v2 e v3. Verifique se o SNMP está habilitado na CLI do ISE e no restante da configuração.
Por exemplo, SNMP v3:
sotumu24/admin# conf t
Enter configuration commands, one per line. End with CNTL/Z.
sotumu24/admin(config)# snmp-server enable
sotumu24/admin(config)# snmp-server trap dskThresholdLimit "75"
sotumu24/admin(config)# snmp-server community SNMP$tring ro
sotumu24/admin(config)# snmp-server user SNMPUSER v3 plain authpasswd privpasswd
sotumu24/admin(config)# snmp-server host 10.127.197.81 version 3 SNMPUSER 0x474b49494c49464e474943 plain authpasswd privpasswd
>> The SNMP server might require the engineID if version 3 is being used and it can be dervied from the output of the command here :
sotumu24/admin# show snmp-server engineID
Local SNMP EngineID: GKIILIFNGIC
>> This is the same as ISE Serial number, need not be configured.
sotumu24/admin# sh udi
SPID: ISE-VM-K9
VPID: V01
Serial: GKIILIFNGIC
Portas e acessibilidade
O servidor remoto deve ser capaz de acessar o ISE para consultar armadilhas, se necessário. Certifique-se de que o ISE permita que o servidor SNMP tenha acesso IP (se configurado).
Verifique se a porta 161 está aberta no ISE CLI:
sotumu24/admin# sh ports | in 161
udp: 0.0.0.0:25087, 0.0.0.0:161
--
tcp: 169.254.0.228:49, 10.127.197.81:49, 169.254.0.228:50, 10.127.197.81:50
, 169.254.0.228:51, 10.127.197.81:51, 169.254.0.228:52, 10.127.197.81:52, 127.0.
0.1:8888, 10.127.197.81:8443, :::443, 10.127.197.81:8444, 10.127.197.81:8445, ::
:9085, 10.127.197.81:8446, :::19231, :::9090, 127.0.0.1:2020, :::9060, :::9061,
:::8905, :::8009, :::5514, :::9002, :::1099, :::8910, :::61616, :::80, :::9080
Logs
Se o daemon do serviço SNMP estiver travado ou for incapaz de reiniciar, os erros serão vistos no arquivo de registro de mensagens.
2020-04-27T12:28:45.326652+05:30 sotumu24 su: (to oracle) root on none
2020-04-27T12:29:48.391712+05:30 sotumu24 snmpd[81079]: Received TERM or STOP signal... shutting down...
2020-04-27T12:29:48.590240+05:30 sotumu24 snmpd[47597]: NET-SNMP version 5.7.2
2020-04-27T12:30:29.319929+05:30 sotumu24 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="20126" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Armadilhas e consultas
Interceptações SNMP genéricas geradas por padrão no Cisco ISE:
O ISE não tem nenhuma MIB para status de processo ou utilização de disco. O Cisco ISE usa OID HOST-RESOURCES-MIB::hrSWRunName
para traps SNMP. snmp walk
or snmp get
para consultar o status do processo ou a utilização do disco, não pode ser usado no ISE.
Fonte: Guia do administrador
No laboratório, a interceptação (Trap) SNMP foi configurada para ser acionada quando a utilização do disco ultrapassa o limite de 75: sotumu24/admin(config)# snmp-server trap dskThresholdLimit "75"
.
Os dados para essa interceptação são coletados das saídas mostradas.
Execute estes comandos em uma caixa LINUX externa ou no console do servidor SNMP:
Linux/admin# snmpwalk -v 3 -l authPriv -u SNMPUSER -a sha -x AES -A "authpasswd" -X "privpasswd" 10.127.197.217 dskPercent >> Gives the percentage of disk utilized. Also works with – hrStorageSize.
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 11
UCD-SNMP-MIB::dskPercent.6 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.8 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.9 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.29 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.30 = INTEGER: 23
UCD-SNMP-MIB::dskPercent.31 = INTEGER: 2
UCD-SNMP-MIB::dskPercent.32 = INTEGER: 5
UCD-SNMP-MIB::dskPercent.33 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.34 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.35 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.36 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.37 = INTEGER: 5
UCD-SNMP-MIB::dskPercent.39 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.41 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.42 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.43 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.44 = INTEGER: 0
Linux/admin# snmpwalk -v 3 -l authPriv -u SNMPUSER -a sha -x AES -A "authpasswd" -X "privpasswd" 10.127.197.217 dskPath >> Gives the list of disk path(s). Also works with – hrStorageDescr.
UCD-SNMP-MIB::dskPath.1 = STRING: /
UCD-SNMP-MIB::dskPath.6 = STRING: /dev/shm
UCD-SNMP-MIB::dskPath.8 = STRING: /run
UCD-SNMP-MIB::dskPath.9 = STRING: /sys/fs/cgroup
UCD-SNMP-MIB::dskPath.29 = STRING: /tmp
UCD-SNMP-MIB::dskPath.30 = STRING: /boot
UCD-SNMP-MIB::dskPath.31 = STRING: /storedconfig
UCD-SNMP-MIB::dskPath.32 = STRING: /opt
UCD-SNMP-MIB::dskPath.33 = STRING: /localdisk
UCD-SNMP-MIB::dskPath.34 = STRING: /run/user/440
UCD-SNMP-MIB::dskPath.35 = STRING: /run/user/301
UCD-SNMP-MIB::dskPath.36 = STRING: /run/user/321
UCD-SNMP-MIB::dskPath.37 = STRING: /opt/docker/runtime/overlay
UCD-SNMP-MIB::dskPath.39 = STRING: /opt/docker/runtime/containers/ae1cef55c92ba90ae6c848bd74c9277c2fb52a48ab781455ec9b1149e4634d2c/shm
UCD-SNMP-MIB::dskPath.41 = STRING: /run/user/0
UCD-SNMP-MIB::dskPath.42 = STRING: /run/user/304
UCD-SNMP-MIB::dskPath.43 = STRING: /run/user/303
UCD-SNMP-MIB::dskPath.44 = STRING: /run/user/322
A partir dessas saídas, a utilização do disco é calculada e, quando o valor chega a 75, uma interceptação SNMP é enviada ao HOST do servidor SNMP configurado. Não há recurso MIB para calcular e exibir a utilização do disco diretamente.
Além disso, o processo MIB hrSWRunName
é usado para coletar essas informações (de acordo com o Guia de Administração do ISE).
Uma descrição textual desse software em execução, que inclui o fabricante, a revisão e o nome pelo qual ele é comumente conhecido. Se este software foi instalado localmente, deve ser a mesma sequência de caracteres usada no hrSWInstalledName
isso corresponde. Os serviços considerados são app-server
, rsyslog
, redis-server
, ad-connector
, mnt-collector
, mnt-processor
, ca-server est-server
,e elasticsearch
.
Recursos MIB
O aplicativo ISE está hospedado no RHEL OS(Linux). No entanto, como mencionado no guia de administração do ISE, o ISE usa MIB de recursos de host para reunir informações de interceptação SNMP. Este documento contém a lista de MIBs de recursos de host que podem ser consultados:
SNMP HOST MIB.
A partir do documento, pode-se inferir que não há consultas diretas que possam calcular e exibir os valores de utilização de CPU, Memória ou Disco. No entanto, os dados usados para calcular as saídas estão presentes nestas tabelas:
hrSWRunPerf
Tabela
hrDiskStorage
Tabela
- Tabela de escalares
Ponteiros adicionais sobre a utilização de memória e disco
Memória usada
Para calcular a memória usada, use:
mem_used = kb_main_total - kb_main_free - kb_main_cached - kb_main_buffers;
kb_main_cached = kb_page_cache + kb_slab_reclaimable;
Memória livre
Há uma pequena diferença entre os valores coletados no servidor SNMP e o root-bash da CLI do ISE. A utilização de memória também tem uma diferença nos valores devido ao slab, que não é contabilizado no SNMP, e mostra o valor total.
Memória livre é uma pequena quantidade de memória que não é usada atualmente e causa essa diferença. Essa é a parte desperdiçada da memória que o sistema não pode utilizar. O ISE é hospedado em um sistema operacional Linux e usa toda a memória física que não é necessária pelos programas atuais como um cache de arquivos, para eficiência. No entanto, se os programas precisarem dessa memória física, o kernel realoca a memória cache do arquivo para a memória anterior. Portanto, a memória usada pelo cache de arquivos é livre, mas não é utilizada até que seja necessária por um programa.
Consulte este link:
Explicação sobre memória livre.
Utilização de disco
Da mesma forma, até 5% do sistema de arquivos é reservado para o usuário raiz a fim de reduzir a fragmentação de arquivos. Esta saída não é vista em 'df'.
Portanto, espera-se ver uma pequena diferença na porcentagem calculada na raiz bash e subsequentemente na saída CLI.
A consulta SNMP não considera esse espaço em disco reservado e calcula a saída com base nos valores exibidos na tabela.
Para obter mais informações, consulte Diferença na saída df e saída df espaço em disco reservado.