Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Configuração

Portas e acessibilidade

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.