Configuração Básica do SNMP
O Simple Network Management Protocol (SNMP) é um protocolo padrão da Internet usado inicialmente nos sistemas de gerenciamento de redes para monitorar os dispositivos de rede para condições que garantem a atenção administrativa. Os dispositivos que tipicamente suportam o SNMP incluem roteadores, comutadores, servidores, estações de trabalho e impressoras. Essa seção apresenta a configuração básica do SNMP e fornece uma visão geral de MIBs do Cast Iron.
No léxico do SNMP, um Cast Iron Integration Appliance é referenciado como um "elemento de rede" ou "dispositivo gerenciado" que indica que ele é um cidadão em uma rede e está disponível para ser gerenciado. Os elementos de rede incluem um agente que fornece informações sobre o elemento. Os agentes executam duas funções de chave. Primeiro, eles respondem às solicitações do sistema de gerenciamento e, em segundo lugar, enviam notificações sobre os eventos no elemento de rede. As notificações assíncronas do agente para o gerenciador são referenciadas como traps.
Os traps do SNMP ativam um agente para notificar a estação de gerenciamento de eventos significantes por meio de uma mensagem de SNMP não solicitada. As informações fornecidas através de pesquisa ou de traps são definidas nos Management Information Bases (MIBs). Um MIB é um banco de dados virtual usado para gerenciar as entidades em uma rede de comunicações. Os MIBs definem uma hierarquia de objetos, com cada objeto que possui seu próprio Object Identifier (OID). Um OID é especificado por números separados por pontos, por exemplo: ".1.3.6.1.2.1.1". Um OID é, algumas vezes, referenciado por um nome comum. Por exemplo, o OID específico .1.3.6.1.2.1.1 pode ser referenciado como "sistema". O protocolo SNMP define muitos MIBs públicos e também permite que as organizações definam os MIBs específicos ao aplicativo e customizados.
Entendendo os MIBs do Cast Iron
Os arquivos transferidos por download do Cast Iron WMC possuem diversas seções MIB DEFINITIONS = BEGIN - END. Cada seção compreende um MIB com sua própria hierarquia. Para pesquisar informações específicas ao Cast Iron, use CASTIRON-IA-MIB. Cada MIB possui uma MODULE-IDENTITY que descreve a função do MIB. Uma seção de comentário que segue a MODULE-IDENTITY fornece uma visão geral do conteúdo do MIB e contém um Resumo do Objeto que lista o nome e o OID de cada objeto MIB.
-- ciIaProjectSummary ciia.1.1.1
-- ciIaNbrProjects ciia.1.1.1.1
-- ciIaNbrRunningOrchs ciia.1.1.1.2
-- ciIaNbrStoppedOrchs ciia.1.1.1.3
-- ciIaNbrRunningJobs ciia.1.1.1.4
-- ciIaNbrCompletedJobs ciia.1.1.1.5
-- ciIaNbrErroredJobs ciia.1.1.1.6
ciIaNbrRunningJobs OBJECT-TYPE -- ciia.1.1.1.4
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of currently running jobs.
"
::= { ciIaProjectSummary 4 }
As áreas chave são:- ciIaNbrRunningJobs OBJECT-TYPE - Define o nome do objeto. Observe que há um comentário no término que fornece uma forma abreviada do OID.
- SYNTAX Unsigned32 - Este é um número inteiro não assinado cujo valor poderá aumentar ou diminuir.
- MAX-ACCESS somente leitura - Um valor somente leitura. O gerenciador pode solicitá-lo, mas não alterá-lo.
- DESCRIPTION - Descreve o objeto.
$ snmpwalk -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectSummary
CASTIRON-IA-MIB::ciIaNbrProjects.0 = Gauge32: 2
CASTIRON-IA-MIB::ciIaNbrRunningOrchs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrStoppedOrchs.0 = Gauge32: 14
CASTIRON-IA-MIB::ciIaNbrRunningJobs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrCompletedJobs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrErroredJobs.0 = Gauge32: 0
Os dados a seguir são exibidos ao pesquisar lciIaProjectTable:-- ciIaProjectTable ciia.1.1.2
-- ciIaProjectEntry ciia.1.1.2.1
-- ciIaProjEntryIndex ciia.1.1.2.1.1
-- ciIaProjEntryName ciia.1.1.2.1.2
-- ciIaProjEntryVersion ciia.1.1.2.1.3
-- ciIaProjEntryConfig ciia.1.1.2.1.4
-- ciIaProjEntryState ciia.1.1.2.1.5
-- ciIaProjEntryNbrRunning ciia.1.1.2.1.6
-- ciIaProjEntryNbrCompleted ciia.1.1.2.1.7
-- ciIaProjEntryNbrErrored ciia.1.1.2.1.8
-- ciIaProjEntryTimePublished ciia.1.1.2.1.9
As Tabelas do SNMP podem ser difíceis. As tabelas do SNMP indicam o nome, a versão, a configuração, o estado e outras informações sobre cada projeto no dispositivo, semelhante a um esquema do banco de dados. Cada item de entrada (por exemplo, ciIaProjEntryName e ciIaProjEntryVersion) descreve uma coluna na tabela. É possível procurar através do MIB a sequência para localizar informações adicionais sobre cada item. Nota: A tentativa de "percorrer" a tabela Projeto em um modo iterativo pode apresentar problemas. Em vez disso, use sempre um recurso de ferramenta que entende as tabelas ao visualizar as informações da tabela.
O exemplo a seguir ilustra uma técnica "percorrer". Nesse caso um projeto foi publicado e, em seguida, clonado para criar uma nova configuração, resultando em duas linhas de tabela. Conforme a saída indica, é difícil entender quais itens são associados às linhas específicas. Nesse caso, é necessário visualizar o índice (a última parte do OID) para determinar a disposição correta dos itens e das linhas.$ snmpwalk -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectTable
CASTIRON-IA-MIB::ciIaProjEntryName.98304 = STRING: OnlineLicensing
CASTIRON-IA-MIB::ciIaProjEntryName.98305 = STRING: OnlineLicensing
CASTIRON-IA-MIB::ciIaProjEntryVersion.98304 = STRING: 1.0
CASTIRON-IA-MIB::ciIaProjEntryVersion.98305 = STRING: 1.0
CASTIRON-IA-MIB::ciIaProjEntryConfig.98304 = STRING: Default
CASTIRON-IA-MIB::ciIaProjEntryConfig.98305 = STRING: OnlineLicensingClone
CASTIRON-IA-MIB::ciIaProjEntryState.98304 = INTEGER: undeployed(1)
CASTIRON-IA-MIB::ciIaProjEntryState.98305 = INTEGER: undeployed(1)
CASTIRON-IA-MIB::ciIaProjEntryNbrRunning.98304 = Gauge32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrRunning.98305 = Gauge32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrCompleted.98304 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrCompleted.98305 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrErrored.98304 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrErrored.98305 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryTimePublished.98304 = STRING: 2009-6-12,16:36:20.0,+0:0
CASTIRON-IA-MIB::ciIaProjEntryTimePublished.98305 = STRING: 2009-6-12,16:36:20.0,+0:0
Quando
informações são mapeadas usando o comando snmptable,
elas são exibidas mais claramente, conforme mostrado no exemplo a seguir:$ snmptable -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectTable
SNMP table: CASTIRON-IA-MIB::ciIaProjectTable
PEN* PEV PEC PES PER COM PEE PETP
OnlineLicensing 1.0 Default undeployed 0 0 0 2009-6-12,16:36:20.0,
+0:0
OnlineLicensing 1.0 OnlineLicensingClone undeployed 0 0 0 2009-6-12,16:36:20.0,
+0:0
*Table Key: PEN=ciIaProjEntryName, PEV=ciIaProjEntryVersion, PEC=ciIaProjEntryConfig,
PES=ciIaProjEntryState, PER=ciIaProjEntryNbrRunning, COM=ciIaProjEntryNbrCompleted,
PEE=ciIaProjEntryNbrErrored, PETP=ciIaProjEntryTimePublished
Observe que esses exemplos usam nomes textuais em vez de OIDs. Como uma função do MIB é mapear entre o OID e o nome textual, você não deverá precisar usar os OIDs em uma base regular.