Monitoração por SNMP
O Virtual Appliance do Authfy MFAO possui um serviço de SNMP embutido que pode fornecer as métricas de monitoração de hardware e software do servidor.
O SNMP no Virtual Appliance fornece uma ampla variedade de informações de desempenho através do seu protocolo.
O suporte ao protocolo SNMP está presente na maioria das plataformas de monitoração, principalmente nas First-Class.
No contexto do SNMP atualmentente o Virtual Appliance do Authfy MFAO suporta mais de 201 itens.
Configurações de Hardware
O Host Resources MIB incluído no Net-SNMP apresenta informações sobre a configuração atual de hardware e informações adicionais de um host para um utilitário de cliente. A tabela abaixo resume os diferentes OIDs disponíveis sob essa MIB.
OID | Descrição |
---|---|
HOST-RESOURCES-MIB::hrSystem | Contém informações gerais do sistema, como tempo de atividade, número de processos em execução. |
HOST-RESOURCES-MIB::hrStorage | Contém dados sobre a memória e o uso do sistema de arquivos. |
HOST-RESOURCES-MIB::hrDevices | Contém uma lista de todos os processadores, dispositivos de rede e sistemas de arquivos. |
HOST-RESOURCES-MIB::hrSWRun | Contém uma lista de todos os processos em execução. |
HOST-RESOURCES-MIB::hrSWRunPerf | Contém estatísticas de memória e CPU na tabela de processos de HOST-RESOURCES-MIB :: hrSWRun. |
Há também várias tabelas SNMP disponíveis no Host Resources MIB que podem ser usadas para recuperar um resumo das informações disponíveis. O exemplo a seguir exibe HOST-RESOURCES-MIB :: hrFSTable:
snmptable -c public -Cb [ip ou nome do servidor] HOST-RESOURCES-MIB::hrFSTable
Exemplo da saída do comando:
Index MountPoint RemoteMountPoint Type Access Bootable StorageIndex LastFullBackupDate LastPartialBackupDate
1 "/" "" HOST-RESOURCES-TYPES::hrFSLinuxExt2 readWrite true 31 0-1-1,0:0:0.0 0-1-1,0:0:0.0
4 "/sys/fs/cgroup" "" HOST-RESOURCES-TYPES::hrFSOther readWrite false 34 0-1-1,0:0:0.0 0-1-1,0:0:0.0
10 "/run" "" HOST-RESOURCES-TYPES::hrFSOther readWrite false 40 0-1-1,0:0:0.0 0-1-1,0:0:0.0
11 "/run/lock" "" HOST-RESOURCES-TYPES::hrFSOther readWrite false 41 0-1-1,0:0:0.0 0-1-1,0:0:0.0
Informações de CPU e Memória
A maioria dos dados de desempenho do sistema está disponível no UCD SNMP MIB. O systemStats OID fornece vários contadores sobre o uso do processador. Em particular, os OIDs ssCpuRawUser, ssCpuRaw System, ssCpuRawWait e ssCpuRawIdle fornecem contadores úteis para determinar se um sistema está gastando a maior parte do tempo do processador em espaço de kernel, espaço de usuário ou E / S. ssRawSwapIn e ssRawSwapOut podem ser úteis ao determinar se um sistema está sofrendo de exaustão de memória.
O exemplo a seguir lista o resumo do status do sistema:
snmpwalk -c public [ip ou nome do servidor] UCD-SNMP-MIB::systemStats
Exemplo da saída do comando:
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 6 blocks/s
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 68 interrupts/s
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 164 switches/s
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 0
UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 0
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 99
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 1387314
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 26424
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 443964
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 385959332
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 62426
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 0
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 23447776
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 1059138
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 228000798
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 602264562
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 6396
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 0
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 0
UCD-SNMP-MIB::systemStats.64.0 = Counter32: 193176
UCD-SNMP-MIB::systemStats.65.0 = Counter32: 0
UCD-SNMP-MIB::systemStats.66.0 = Counter32: 0
Mais informações de memória estão disponíveis no UCD-SNMP-MIB :: memory OID, que fornece dados semelhantes ao comando free, conforme exemplo:
snmpwalk -c public [ip ou nome do servidor] UCD-SNMP-MIB::memory
Exemplo da saída do comando:
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 0 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 0 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 2046432 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 286068 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 286068 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memShared.0 = INTEGER: 760 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 60836 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 1270564 kB
UCD-SNMP-MIB::memSwapError.0 = INTEGER: error(1)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING: Running out of swap space (0)
As médias de carga (Load Average) também estão disponíveis no UCD SNMP MIB. A tabela SNMP UCD-SNMP-MIB :: laTable possui uma lista das médias de carga de 1, 5 e 15 minutos, conforme exemplo:
snmptable -c public [ip ou nome do servidor] UCD-SNMP-MIB::laTable
SNMP table: UCD-SNMP-MIB::laTable
Exemplo da saída do comando:
laIndex laNames laLoad laConfig laLoadInt laLoadFloat laErrorFlag laErrMessage
1 Load-1 0.00 12.00 0 0.000000 noError
2 Load-5 0.00 12.00 0 0.000000 noError
3 Load-15 0.00 12.00 0 0.000000 noError
Informações sobre FileSystem e Disco
O Host Resources MIB fornece informações sobre tamanho e uso do sistema de arquivos. Cada sistema de arquivos (e também cada conjunto de memórias) possui uma entrada na tabela HOST-RESOURCES-MIB :: hrStorageTable, exemplo abaixo:
snmptable -c public -Cb [ip ou nome do servidor] HOST-RESOURCES-MIB::hrStorageTable
SNMP table: HOST-RESOURCES-MIB::hrStorageTable
Exemplo da saída do comando:
Index Type Descr AllocationUnits Size Used AllocationFailures
1 HOST-RESOURCES-TYPES::hrStorageRam Physical memory 1024 Bytes 2046432 1758760 ?
3 HOST-RESOURCES-TYPES::hrStorageVirtualMemory Virtual memory 1024 Bytes 2046432 1758760 ?
6 HOST-RESOURCES-TYPES::hrStorageOther Memory buffers 1024 Bytes 2046432 60836 ?
7 HOST-RESOURCES-TYPES::hrStorageOther Cached memory 1024 Bytes 1270768 1270768 ?
8 HOST-RESOURCES-TYPES::hrStorageOther Shared memory 1024 Bytes 760 760 ?
10 HOST-RESOURCES-TYPES::hrStorageVirtualMemory Swap space 1024 Bytes 0 0 ?
31 HOST-RESOURCES-TYPES::hrStorageFixedDisk / 4096 Bytes 10312784 1634748 ?
34 HOST-RESOURCES-TYPES::hrStorageFixedDisk /sys/fs/cgroup 4096 Bytes 1 0 ?
40 HOST-RESOURCES-TYPES::hrStorageFixedDisk /run 4096 Bytes 51161 94 ?
41 HOST-RESOURCES-TYPES::hrStorageFixedDisk /run/lock 4096 Bytes 1280 0 ?
42 HOST-RESOURCES-TYPES::hrStorageFixedDisk /run/shm 4096 Bytes 255804 70 ?
43 HOST-RESOURCES-TYPES::hrStorageFixedDisk /run/user 4096 Bytes 25600 0 ?
Os OIDs em HOST-RESOURCES-MIB :: hrStorageSize e HOST-RESOURCES-MIB :: hrStorageUsed podem ser usados para calcular a capacidade restante de cada sistema de arquivos montado. Os dados de E / S estão disponíveis no (ssIORawSent.0 e ssIORawRecieved.0) UCD-SNMP-MIB :: systemStats e no UCD-DISKIO-MIB :: diskIOTable. Este último fornece dados muito mais granulares. Sob o exemplo abaixo, estão os OIDs para diskIONReadX e diskIONWrittenX, que fornecem contadores para o número de bytes lidos e gravados no dispositivo de bloco em questão desde a inicialização do sistema.
snmptable -c public -Cb [ip ou nome do servidor] UCD-DISKIO-MIB::diskIOTable
SNMP table: UCD-DISKIO-MIB::diskIOTable
Exemplo da saída do comando:
Index Device NRead NWritten Reads Writes LA1 LA5 LA15 NReadX NWrittenX
1 loop0 0 0 0 0 0 0 0 0 0
2 loop1 0 0 0 0 0 0 0 0 0
3 loop2 0 0 0 0 0 0 0 0 0
4 loop3 0 0 0 0 0 0 0 0 0
5 loop4 0 0 0 0 0 0 0 0 0
6 loop5 0 0 0 0 0 0 0 0 0
7 loop6 0 0 0 0 0 0 0 0 0
8 loop7 0 0 0 0 0 0 0 0 0
9 xvda 542278656 3418632192 14266 1329577 0 0 0 542278656 12008579072
10 xvda1 541586432 3418632192 14119 1329577 0 0 0 541586432 12008579072
Informações de Rede
Informações sobre dispositivos de rede são fornecidas pelo MIB Interfaces. O IF-MIB :: ifTable fornece uma tabela SNMP com uma entrada para cada interface no sistema, a configuração da interface e vários contadores de pacotes para a interface. O exemplo a seguir mostra as primeiras colunas do ifTable em um sistema com duas interfaces de rede:
snmptable -c public -Cb [ip ou nomw do servidor] IF-MIB::ifTable
SNMP table: IF-MIB::ifTable
Exemplo da saída do comando:
Index Descr Type Mtu Speed PhysAddress AdminStatus OperStatus LastChange InOctets InUcastPkts InNUcastPkts InDiscards InErrors InUnknownProtos OutOctets OutUcastPkts OutNUcastPkts OutDiscards OutErrors OutQLen Specific
1 lo softwareLoopback 65536 10000000 up up 0:0:00:00.00 0 0 0 0 0 0 0 0 0 0 0 0 SNMPv2-SMI::zeroDotZero
2 eth0 ethernetCsmacd 9001 0 e:15:c5:c9:4e:49 up up 0:0:00:00.00 1215453369 10289972 0 0 0 0 2232623202 13452937 0 0 0 0 SNMPv2-SMI::zeroDotZero
O tráfego de rede está disponível nos OIDs IF-MIB :: ifOutOctets e IF-MIB :: ifInOctets. As seguintes consultas SNMP recuperam o tráfego de rede para cada uma das interfaces neste sistema:
Interfaces de Rede:
snmpwalk -c public [ip ou nome doservidor] IF-MIB::ifDescr
Exemplo da saída do comando:
IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: eth0 IF-MIB::ifDescr.3 = STRING: docker0 IF-MIB::ifDescr.4 = STRING: br-865d1a0533f9 IF-MIB::ifDescr.12 = STRING: vethbe26442 IF-MIB::ifDescr.18 = STRING: veth457f4cf IF-MIB::ifDescr.20 = STRING: vethddbd282
Tréfego Out:
snmpwalk -c public [ip ou nome doservidor] IF-MIB::ifOutOctets
Exemplo da saída do comando:
IF-MIB::ifOutOctets.1 = Counter32: 0 IF-MIB::ifOutOctets.2 = Counter32: 2232743958 IF-MIB::ifOutOctets.3 = Counter32: 0 IF-MIB::ifOutOctets.4 = Counter32: 15551682 IF-MIB::ifOutOctets.12 = Counter32: 834841 IF-MIB::ifOutOctets.18 = Counter32: 1821429 IF-MIB::ifOutOctets.20 = Counter32: 20577325
Tráfego In:
snmpwalk -c public [ip ou nome doservidor] IF-MIB::ifInOctets
Exemplo da saída do comando:
IF-MIB::ifInOctets.1 = Counter32: 0 IF-MIB::ifInOctets.2 = Counter32: 1215550807 IF-MIB::ifInOctets.3 = Counter32: 0 IF-MIB::ifInOctets.4 = Counter32: 44427967 IF-MIB::ifInOctets.12 = Counter32: 1069911 IF-MIB::ifInOctets.18 = Counter32: 5634405 IF-MIB::ifInOctets.20 = Counter32: 53209297