Gestão de Redes e Sistemas Distribuídos Monitorização remota – RMON 2003/2004 Teresa Maria Vazão IST/INESC Contactos:IST/Tagus-Park Email: [email protected] Tel: 214233242 Sumário Módulo II • • • • • • • Arquitectura de Gestão SNMP • SNMPv1; MIB-II; SNMPv2 • RMON • SNMPv3 Arquitectura de Gestão OSI/TMN CORBA como Arquitectura de Gestão Gestão baseada na WEB JAVA como Arquitectura de Gestão Gestão DMTF Integração de Arquitecturas de Gestão TMV - 2004 Gestão de Redes e Sistemas Distribuídos 2 RMON - Monitorização Remota Objectivos do RMON Operação offline: • recolha continua de informação de faltas e de configuração • independente do polling. Detecção e relato de problemas: • Análise do tráfego e detecção de falhas • Notificação ao Gestor • Armazenamento em logs Monitorização pro-activa: • Execução de diagnósticos, em caso de falhas • Inclusão do diagnóstico na notificação Pré-processamento dos dados: • Substituição do gestor na análise da informação recolhida Existência de múltiplos Gestores: • Capacidade de interacção simultânea TMV - 2004 Gestão de Redes e Sistemas Distribuídos 3 RMON - Monitorização Remota Configuração Objectivos: • Identificação do tipo de dados a coleccionar • Definição do método de coleccionamento Organização da MIB-RMON • Grupos funcionais • Tabelas de Controlo e Tabela de Dados (por cada grupo) Tabela de Controlo • Tabela com campos do tipo read-write • Descreve os campos da Tabela de Dados Tabela de Dados • Tabela com campos do tipo read-only • Contém os dados armazenados TMV - 2004 Gestão de Redes e Sistemas Distribuídos 4 RMON - Monitorização Remota Invocação de acções Objectivos: • Utilizar a mensagem SetRequest para obrigar o Agente a realizar uma dada acção. Realização na MIB-RMON • Existem objectos que representam comandos (estados) • A invocação de acções implica alterar o seu valor TMV - 2004 Gestão de Redes e Sistemas Distribuídos 5 RMON - Monitorização Remota Objectivos: • Resolver os problemas de: Múltiplos Gestores • falta de capacidade de atender pedidos concorrentes de vários Gestores • Gestor bloquear por longo tempo o acesso a determinados recursos Solução RMON • Cada linha da Tabela de Controlo possui um campo que identifica o Gestor responsável pela informação - owner. • O Gestor responsável pode modificar ou apagar essa linha. • Enquanto existe, a informação pode ser partilhada com outros Gestores Utilização do campo owner • O Gestor pode identificar os recursos que alocou • O Operador da rede pode identificar os recursos alocados a cada Gestor e negociar a libertação dos recursos alocados. • Um Gestor que foi re-inicializado pode saber os recursos que tinha alocados e libertar os que já não precisa. TMV - 2004 Gestão de Redes e Sistemas Distribuídos 6 RMON - Monitorização Remota Gestão das Tabelas rmControlIndex: • Identifica uma linha na Tabela de Controlo (TC) • Identifica um conjunto de linhas da Tabela de Dados (TD) rmControlParameters • Carateriza a colecção de dados associada a esta linha da TC rmControlOwner: • Identifica o Gestor responsável pela linha da TC rmControlStatus: • Estado da linha da TC Não existe create Request under creation valid invalid TMV - 2004 Gestão de Redes e Sistemas Distribuídos 7 RMON - Monitorização Remota Tabelas de Controlo e de Dados - exemplo rmControlIndex rmControlParameter rmControlOwner rmControlStatus 1 5 monitor valid (1) 2 26 manager alfa valid (1) 3 19 manager beta valid (1) Configuração do monitor para receber determinados tipos de dados rmDataControlIndex rmDataIndex rmDataValue 1 1 46 2 1 96 2 2 85 2 3 77 3 1 92 3 2 86 Informação recebida TMV - 2004 Gestão de Redes e Sistemas Distribuídos 8 RMON - Monitorização Remota Formato genérico das Tabelas rmlControlTable OBJECT-TYPE SYNTAX SEQUENCE OF RmlControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION << Uma tabela de Controlo >> ::= {ex 1} rmlDataTable OBJECT-TYPE SYNTAX SEQUENCE OF RmlDataEntry ACCESS not-accessible STATUS mandatory DESCRIPTION << Uma tabela de Dados >> ::= {ex 1} RmlControlEntry OBJECT-TYPE SYNTAX SEQUENCE OF RmlControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION << Define um parâmetro que controla um conjunto de entradas da tabela de dados >> INDEX {rmlControlIndex} ::= {rmlControlTable 1} RmlDataEntry OBJECT-TYPE SYNTAX SEQUENCE OF RmlDataEntry ACCESS not-accessible STATUS mandatory DESCRIPTION << Uma entrada da tabela de dados >> INDEX {rmlDataControlIndex, rmlDataIndex} ::= {rmlDataTable 1} RmlControlEntry ::= SEQUENCE { rmlControlIndex INTEGER, rmlControlParameter Counter, rmlControlOwner OwnerString, rmlControlStatus RowStatus } TMV - 2004 RmlDataEntry ::= SEQUENCE { rmlDataControlIndex INTEGER, rmlDataIndex INTEGER, rmlDataValue Counter } Gestão de Redes e Sistemas Distribuídos 9 RMON - Monitorização Remota Formato genérico da Tabela de Controlo RmlControlIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION << Identifica tabela de controlo >> ::= {rmlControlEntry 1} TMV - 2004 a entrada na Gestão de Redes e Sistemas Distribuídos 10 RMON - Monitorização Remota RmlControlParameter OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION << Caracteriza as linhas da tabelas de dados associadas a esta linha de tabela de controlo >> ::= {rmlControlEntry 2} Formato genérico da Tabela de Controlo RmlControlOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION << Identifica a entidade que configurou esta linha da tabela de controlo >> ::= {rmlControlEntry 3} RmlControlStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION << Estado desta tabela de controlo >> ::= {rmlControlEntry 4} TMV - 2004 linha da Gestão de Redes e Sistemas Distribuídos 11 RMON - Monitorização Remota Formato genérico da Tabela de Dados RmlDataControlIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION << Identifica a tabela controlo correspondente a um conjunto entradas na tabela de dados >> ::= {rmlDataEntry 1} de de RmlDataIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION << Identifica uma entrada na tabela de dados, de entre o conjunto de entradas referentes á mesma entrada da tabela de controlo >> ::= {rmlDataEntry 2} TMV - 2004 Gestão de Redes e Sistemas Distribuídos 12 RMON - Monitorização Remota Formato genérico da Tabela de Dados RmlDataValue OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION << O valor retornado pela entrada >> ::= {rmlDataEntry 3} TMV - 2004 Gestão de Redes e Sistemas Distribuídos 13 RMON - Monitorização Remota MIB-RMON mib-2 (1) rmon (16) statistics (1) matrix (6) protocolDir (11) alHost(16) history (2) filter (7) protocolDist (12) alMatrix (17) alarm (3) capture (8) addressMap(13) usrHistory(18) nIHost (14) probeConfig(19) nIMatrix (15) rmonConf.(20) host (4) hostTopN (5) event (9) tokenRing (10) RMON1 TMV - 2004 Gestão de Redes e Sistemas Distribuídos RMON2 14 RMON - Monitorização Remota Grupo relativos à colecção de tráfego Grupo Statistics Estatísticas de cada sub-rede monitorizada (Ethernet). • Uma só tabela - etherStatsTable • Interface monitorizada • Estatísticas de tráfego: carga da rede, erros, colisões … • Tabela indexada por: etherStatsIndex TMV - 2004 Gestão de Redes e Sistemas Distribuídos 15 RMON - Monitorização Remota EtherStatsEntry EtherStatsEntry ::= SEQUENCE { etherStatsIndex etherStatsDataSource etherStatsDropEvents etherStatsOctets etherStatsPkts etherStatsBroadcastPkts etherStatsMulticastPkts etherStatsCRCAlignErrors etherStatsUndersizePkts etherStatsOversizePkts etherStatsFragments etherStatsJabbers etherStatsCollisions etherStatsPkts64Octets etherStatsPkts65to127Octets etherStatsPkts128to255Octets etherStatsPkts256to511Octets etherStatsPkts512to1023Octets etherStatsPkts1024to1518Octets etherStatsOwner etherStatsStatus } TMV - 2004 Integer32, OBJECT IDENTIFIER, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, OwnerString, EntryStatus Gestão de Redes e Sistemas Distribuídos IfIndex.1 16 RMON - Monitorização Remota Grupo relativos à colecção de tráfego Grupo History Amostragem estatística de cada interface monitorizada • Tabela de Controlo - historyControlTable • Interface monitorizada • Parâmetros de amostragem • nº de amostras e duração da cada amostra • Tabela de Dados - etherHistoryTable • Início do intervalo de amostragem • Amostras referentes a alguns valores do grupo statistics • Campo composto que mede a utilização da sub-rede • Tabela indexada por: etherHistoryIndex+ etherHistorySampleIndex TMV - 2004 Gestão de Redes e Sistemas Distribuídos 17 RMON - Monitorização Remota HistoryControlEntry historyControlEntry OBJECT-TYPE SYNTAX HistoryControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that set up a periodic sampling of statistics. As an example, an instance of the historyControlInterval object might be named historyControlInterval.2" INDEX { historyControlIndex } ::= { historyControlTable 1 } HistoryControlEntry ::= SEQUENCE { historyControlIndex historyControlDataSource historyControlBucketsRequested historyControlBucketsGranted historyControlInterval historyControlOwner historyControlStatus } TMV - 2004 Integer32, OBJECT IDENTIFIER, //IfIndex.1 Integer32, //Nº amostras pedidas Integer32, //Nº amostras concedidas Integer32, //Tempo de amostragem OwnerString, EntryStatus Gestão de Redes e Sistemas Distribuídos 18 RMON - Monitorização Remota EtherHistoryEntry EtherHistoryEntry ::= SEQUENCE { etherHistoryIndex etherHistorySampleIndex etherHistoryIntervalStart etherHistoryDropEvents etherHistoryOctets etherHistoryPkts etherHistoryBroadcastPkts etherHistoryMulticastPkts etherHistoryCRCAlignErrors etherHistoryUndersizePkts etherHistoryOversizePkts etherHistoryFragments etherHistoryJabbers etherHistoryCollisions etherHistoryUtilization } TMV - 2004 Integer32, Integer32, TimeTicks, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Counter32, Integer32 Gestão de Redes e Sistemas Distribuídos 19 RMON - Monitorização Remota Grupo relativos à colecção de tráfego Grupo host Estatísticas de hosts específicos das sub-redes • Os hosts são descobertos pelos MACs de origem e destinos • Tabela de Controlo - hostControlTable • Interface monitorizada • Parâmetros da tabela de dados • nº de entradas, instante em que a última entrada foi removida • Tabela de Dados - hostTable • endereço MAC do host e estatísticas de tráfego por host • Tabela indexada por: hostIndex+ hostAddress • Tabela de Dados - hostTimeTable • tempo de aparecimento e estatísticas de tráfego por tempo • Tabela indexada por: hostTimeIndex+ hostTimeCreationOrder TMV - 2004 Gestão de Redes e Sistemas Distribuídos 20 RMON - Monitorização Remota HostControlEntry hostControlEntry OBJECT-TYPE SYNTAX HostControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that set up the discovery of hosts on a particular interface and the collection of statistics about these hosts. For example, an instance of the hostControlTableSize object might be named hostControlTableSize.1" INDEX { hostControlIndex } ::= { hostControlTable 1 } HostControlEntry ::= SEQUENCE { hostControlIndex Integer32, hostControlDataSource OBJECT IDENTIFIER, hostControlTableSize Integer32, //Dimensão da tabela hostControlLastDeleteTime TimeTicks, // Valor de SysUpTime da // última vez que a // entrada foi removida hostControlOwner hostControlStatus TMV -} 2004 Gestão OwnerString, EntryStatus de Redes e Sistemas Distribuídos 21 RMON - Monitorização Remota HostEntry hostEntry OBJECT-TYPE IfIndex.1 SYNTAX HostEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A collection of statistics for a particular host that has been discovered on an interface of this device. For example, an instance of the hostOutBroadcastPkts object might be named hostOutBroadcastPkts.1.6.8.0.32.27.3.176" INDEX { hostIndex, hostAddress } ::= { hostTable 1 } HostEntry ::= SEQUENCE { hostAddress OCTET STRING, hostCreationOrder Integer32, hostIndex Integer32, hostInPkts Counter32, hostOutPkts Counter32, hostInOctets Counter32, hostOutOctets Counter32, hostOutErrors Counter32, hostOutBroadcastPkts Counter32, hostOutMulticastPkts Counter32 } TMV - 2004 Gestão de Redes e Sistemas Distribuídos 22 RMON - Monitorização Remota HostTimeEntry hostTimeEntry OBJECT-TYPE SYNTAX HostTimeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A collection of statistics for a particular host that has been discovered on an interface of this device. This collection includes the relative ordering of the creation time of this object. For example, an instance of the hostTimeOutBroadcastPkts object might be named hostTimeOutBroadcastPkts.1.687" INDEX { hostTimeIndex, hostTimeCreationOrder } ::= { hostTimeTable 1 } HostTimeEntry ::= SEQUENCE { hostTimeAddress OCTET STRING, hostTimeCreationOrder Integer32, hostTimeIndex Integer32, hostTimeInPkts Counter32, hostTimeOutPkts Counter32, hostTimeInOctets Counter32, hostTimeOutOctets Counter32, hostTimeOutErrors Counter32, hostTimeOutBroadcastPkts Counter32, hostTimeOutMulticastPkts Counter32 } TMV - 2004 Gestão de Redes e Sistemas Distribuídos 23 RMON - Monitorização Remota Grupo relativos à colecção de tráfego Grupo hostTopN Estatísticas dos N hosts de topo (um só parâmetro) • As estatísticas deste grupo são derivadas das do grupo host • Por cada interface, a lista dos TopN referentes a um dado parâmetro é descrita num report diferente • Tabela de Controlo - hostTopNControlTable • Report referente a uma dada interface • Parâmetros da tabela de dados • parâmetro de ordenação (1 das 7 entradas da hostTable), nº de amostras e duração do intervalo de amostragem. • Tabela de Dados - hostTopNTable • identificação do report, endereços MAC dos hosts TopN, variação do parâmetro de ordenação desde a última amostragem • Tabela indexada por: hostTopNIndex + hostTopNReport TMV - 2004 Gestão de Redes e Sistemas Distribuídos 24 RMON - Monitorização Remota hostTopNControlEntry hostTopNControlEntry OBJECT-TYPE SYNTAX HostTopNControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of parameters that control the creation of a report of the top N hosts according to several metrics. For example, an instance of the hostTopNDuration object might be named hostTopNDuration.3" INDEX { hostTopNControlIndex } ::= { hostTopNControlTable 1 } HostTopNControlEntry ::= SEQUENCE { hostTopNControlIndex Integer32, hostTopNHostIndex Integer32, hostTopNRateBase INTEGER, hostTopNTimeRemaining Integer32, //Segundos que faltam para o report terminar hostTopNDuration Integer32, //Duração do report hostTopNRequestedSize Integer32, //Nº máximo de hosts do report (pedido) hostTopNGrantedSize Integer32, //Nº máximo de hosts do report (concedido) hostTopNStartTime TimeTicks, //sysUpTime em que este report começou hostTopNOwner OwnerString, hostTopNStatus EntryStatus } TMV - 2004 Gestão de Redes e Sistemas Distribuídos 25 RMON - Monitorização Remota hostTopNRateBase hostTopNRateBase OBJECT-TYPE SYNTAX INTEGER { hostTopNInPkts(1), hostTopNOutPkts(2), hostTopNInOctets(3), hostTopNOutOctets(4), hostTopNOutErrors(5), hostTopNOutBroadcastPkts(6), hostTopNOutMulticastPkts(7) } MAX-ACCESS read-create STATUS current DESCRIPTION "The variable for each host that the hostTopNRate variable is based upon. This object may not be modified if the associated hostTopNStatus object is equal to valid(1)." ::= { hostTopNControlEntry 3 } TMV - 2004 Gestão de Redes e Sistemas Distribuídos 26 RMON - Monitorização Remota hostTopNEntry hostTopNEntry OBJECT-TYPE SYNTAX HostTopNEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of statistics for a host that is part of a top N report. For example, an instance of the hostTopNRate object might be named hostTopNRate.3.10" INDEX { hostTopNReport, hostTopNIndex } ::= { hostTopNTable 1 } HostTopNEntry ::= SEQUENCE { hostTopNReport hostTopNIndex hostTopNAddress hostTopNRate } TMV - 2004 Integer32, Integer32, OCTET STRING, Integer32 Gestão de Redes e Sistemas Distribuídos 27 RMON - Monitorização Remota Uma pausa para descobrirem …. Como é que se programa hostTopN para indicar os 10 hosts que recebem mais tráfego à entrada, durante 5 minutos? Criar uma linha da tabela hostTopNControlTable para produzir um report com as características dadas TMV - 2004 Gestão de Redes e Sistemas Distribuídos 28 RMON - Monitorização Remota Exemplo de aplicação - o que existe disponível hostTopNControlEntry ::= SEQUENCE { hostTopNControlIndex INTEGER (1..65535), hostTopNHostIndex INTEGER (1..65535), hostTopNRateBase INTEGER { hostTopNInPkts (1), hostTopNOutPkts (2), hostTopNInOctets (3), hostTopNOutOctets (4), hostTopNOutErrors (5), hostTopNOutBroadcastPkts (6), hostTopNOutMulticastPkts (7) } hostTopNRemainningTime TimeTicks, hostTopNDuration TimeTicks, hostTopNRequestedSize INTEGER, hostTopNGrantedSize INTEGER, hostTopNStartTime TimeTicks, hostTopNOwner OwnerString, hostTopNStatus EntryStatus } TMV - 2004 Gestão de Redes e Sistemas Distribuídos 29 RMON - Monitorização Remota Exemplo de aplicação - como se programa Criar a entrada na tabela de hostsTopN SetRequest (X.Y.hostTopNStatus[1]= createRequest (2) SetRequet (X.Y. hostTopNControlIndex[1] = 1 ) SetRequet (X.Y. hostTopNOwner[1] = ´RNL´ ) Programar host Top 10 para identificar os hosts que recebem mais tráfego à entrada, durante 5 mins SetRequest (X.Y.hostTopNRateBase[1] = hostTopNInOctets(3)) SetRequest (X.Y.hostTopNDuration[1]= 60*5) 5 minutos SetRequest (X.Y.hostTopNRequestedSize[1]= 10) Top 10 Activar entrada na tabela de reports SetRequest (X.Y. hostTopNStatus[1] = valid (1)) NOTA: X = iso.org.dod.internet.mgmt.mib-2.rmon Y = hostTopN.hostTopNControlTable.hostTopNControlEntry TMV - 2004 Gestão de Redes e Sistemas Distribuídos 30 RMON - Monitorização Remota Grupo relativos à colecção de tráfego Grupo matrix Estatísticas de tráfego por rota • Tabela de Controlo - matrixControlTable • Interface monitorizada • Parâmetros da tabela de dados • nº de entradas, instante em que a última entrada foi removida • Tabela de Dados - matrixSDTable e matrixDSTable • matrixSDTable: • endereço MAC de origem e destino e estatísticas de tráfego • tabela indexada por: matDSInd+matDSSrcAddr+matDSDestAddr • matrixDSTable: • endereço MAC de origem e destino e estatísticas de tráfego • tabela indexada por: matDSInd+matDSDestAddr+matDSSrcAddr TMV - 2004 Gestão de Redes e Sistemas Distribuídos 31 RMON - Monitorização Remota matrixControlEntry matrixControlEntry OBJECT-TYPE SYNTAX MatrixControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a traffic matrix on a particular interface. For example, an instance of the matrixControlLastDeleteTime object might be named matrixControlLastDeleteTime.1" INDEX { matrixControlIndex } ::= { matrixControlTable 1 } MatrixControlEntry ::= SEQUENCE { matrixControlIndex Integer32, matrixControlDataSource OBJECT IDENTIFIER, matrixControlTableSize Integer32, matrixControlLastDeleteTime TimeTicks, matrixControlOwner OwnerString, matrixControlStatus EntryStatus } TMV - 2004 Gestão de Redes e Sistemas Distribuídos 32 RMON - Monitorização Remota matrixSDEntry matrixSDEntry OBJECT-TYPE SYNTAX MatrixSDEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A collection of statistics for communications between two addresses on a particular interface. For example, an instance of the matrixSDPkts object might be named matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113" INDEX { matrixSDIndex, matrixSDSourceAddress, matrixSDDestAddress } ::= { matrixSDTable 1 } MatrixSDEntry ::= SEQUENCE { matrixSDSourceAddress matrixSDDestAddress matrixSDIndex matrixSDPkts matrixSDOctets matrixSDErrors } TMV - 2004 OCTET STRING, OCTET STRING, Integer32, Counter32, Counter32, Counter32 Gestão de Redes e Sistemas Distribuídos 33 RMON - Monitorização Remota matrixDSEntry matrixDSEntry OBJECT-TYPE SYNTAX MatrixDSEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A collection of statistics for communications between two addresses on a particular interface. For example, an instance of the matrixSDPkts object might be named matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176" INDEX { matrixDSIndex, matrixDSDestAddress, matrixDSSourceAddress } ::= { matrixDSTable 1 } MatrixDSEntry ::= SEQUENCE { matrixDSSourceAddress matrixDSDestAddress matrixDSIndex matrixDSPkts matrixDSOctets matrixDSErrors } TMV - 2004 OCTET STRING, OCTET STRING, Integer32, Counter32, Counter32, Counter32 Gestão de Redes e Sistemas Distribuídos 34 Resumo da aula • RMON • Conceitos gerais • Grupos existentes • Estudo de RMON 1 TMV - 2004 Gestão de Redes e Sistemas Distribuídos 35