Volumes de 16 TB e SNMP no Windows

12

À medida que volumes maiores que 16 TB se tornaram mais comuns, foi reconhecido que o valor de 32 bits usado para relatar o tamanho e o uso do disco no MIB "HOST-RECOURCES" padrão no SNMP não era grande o suficiente para relatar o tamanho adequado do disco.

O Net-SNMP parece ter resolvido esse problema simplesmente manipulando o valor de "AllocationUnits" para manter um valor de 32 bits para a utilização do disco (já que o tamanho / uso total do disco é igual ao valor do espaço de 32 bits vezes a unidade de alocação), para permitir para o cálculo de um volume maior que 8 / 16TB. Presumindo que você não tenha nenhum interesse de relatar na unidade de alocação e esteja bem com um pequeno nível de imprecisão. isso parece ser uma solução elegante.

https://bugzilla.redhat.com/show_bug.cgi?id=654384

O serviço SNMP interno da janela, no entanto, parece continuar sofrendo com esse erro, simplesmente relatando o módulo do espaço em disco usado / atribuído, resultando em relatórios imprecisos do tamanho do disco.

Existe uma maneira de permitir que o Windows relate corretamente o uso do disco para volumes acima de 16 TB? Tentamos simplesmente instalar o Net-SNMP 5.5 x64 e desativar completamente o serviço SNMP do Windows; no entanto, isso infelizmente não resolveu o problema.

Ao usar as extensões NetSNMP, as informações que coletamos para o disco específico em que estamos interessados ​​são as seguintes:

insira a descrição da imagem aqui

Esses resultados são os mesmos, independentemente de estarmos usando o serviço SNMP básico do Windows ou o NetSNMP.

Vi pessoas da comunidade Cacti mencionarem simplesmente criar uma solução. Infelizmente, estamos usando o Observium para monitoramento rápido e básico de sistemas. Se o problema não puder ser corrigido no lado da janela, o Observium pode ser feito para relatar MIBs personalizados?

- Atualização -

Examinando a menção do relatório de bug de adicionar "realStorageUnits" ao arquivo snmpd.conf, tivemos o seguinte problema ao definir essa diretiva:

O realStorageUnits nos impede

- Atualização 2 -

Bem, depois de muitos ajustes, ele não se parece com nenhuma das versões do Net-SNMP para Windows como a diretiva "realStorageUnits". A inclusão da diretiva resulta em um aviso ao iniciar o SNMP. Tentamos na versão 5.5, 5.6 e 5.7. Alguém aqui já descobriu como fazer o SNMP reportar mais de 16 volumes de TB no Windows?

Univ426
fonte
Você diz que instalar o Net-SNMPD não corrigiu o problema. Você quer dizer que ele não ajusta AllocationUnits como pretendido ou não conseguiu executá-lo?
Alexander Janssen
Não pareceu alterar as unidades de alocação. O serviço correu bem, mas no final, não parecia alterar o que estava sendo relatado - o valor do disco ainda estava incorreto e os vários valores relatados ainda eram os mesmos de antes. No entanto, posso confirmar que o "Serviço SNMP" foi interrompido e o "Serviço Net-SNMP" foi iniciado. Alguma chance de eu estar configurando algo errado?
Univ426
Uma pequena observação adicional: estou expondo as árvores usando uma configuração v2c "rwcommunity <string>" muito básica para fins de teste.
Univ426
Para começar, você pode consultar o OID .1.3.6.1.4.1.2021.100.2.0para verificar se é realmente o Net-SNMP que está respondendo. Nos meus hosts (Linux) com Net-SNMP, ele dá #SNMPv2-SMI::enterprises.2021.100.2.0 = STRING: "5.4.1"
Alexander Janssen
Recebo "UCD-SNMP-MIB :: versionTag.0 = STRING: 5.5" Parece um pouco diferente, mas o netSNMP 5.5 é a versão que instalei. Desligar NetSNMP e ligar o serviço Windows SNMP, eu recebo "UCD-SNMP-MIB :: verionTag.0 = Sem mais variáveis que ficaram na thie MIB View" Portanto, parece que NetSNMP está definitivamente em execução
Univ426

Respostas:

2

Há um tempo atrás, havia um patch para o Net-SNMP 5.5 que introduzia uma nova opção realStorageUnitspara o arquivo de configuração.

No relatório de erros Redhat # 748410 :

Para solucionar esse problema [valores negativos de hrStorageSite], esta atualização adiciona uma nova opção ao arquivo de configuração /etc/snmp/snmpd.conf, realStorageUnits. Alterando o valor dessa opção para 0, os usuários agora podem ativar o recálculo de todos os valores em hrStorageTable para garantir que a multiplicação de hrStorageSize e hrStorageAllocationUnits sempre produza um tamanho preciso do dispositivo.

(o texto entre [colchetes] é meu)

Portanto, adicionar a diretiva de configuração realStorageUnits 0ao seu snmpd.conf pode estar resolvendo seu problema.

No entanto, os valores não estarão corretos até o último megabyte; ymmv.

Não sei dizer se esse patch foi incluído na sua distribuição binária do Net-SNMP, mas seria ótimo se você pudesse relatar os resultados e qual binário está usando. Além disso, não testei por falta de hardware adequado no momento.

Alexander Janssen
fonte
Obrigado Alex, tentamos isso antes - com muita esperança - infelizmente, quando o fazemos, obtemos o seguinte erro - C: /usr/etc/snmp/snmpd.conf: linha 2: Aviso: token desconhecido: realStorageUnits. Essa diretiva caiu em qualquer lugar, ou seja, logo abaixo de "rwcommunity private", por exemplo?
precisa saber é o seguinte
Haha, sim, eu cometi esse erro uma vez antes - verifiquei novamente, mas vou atualizar minha pergunta com uma foto.
Univ426
Alguma chance de eu estar escrevendo essa diretiva errada?
Univ426
Não, parece bom. Desculpe, estou perdido agora. Não tenho uma máquina apropriada com a sua versão do Windows para verificar isso, mas, para ser sincero, o seu snmpd.conf parece um pouco "pequeno". Experimente esta configuração mínima para v2c . Não tenho certeza se isso ajudará, mas garantirá que nada de outras coisas engraçadas ocorra. E, adapte a rede na diretiva localnet.
Alexander Janssen
5.5 no Linux com minha configuração mínima começa bem com a realStorageUnitsdiretiva. Se isso ainda não funcionar, tenho a sensação distinta de que esse recurso não está incluído no binário NetSNMP que você está usando.
Alexander Janssen
1

Sei que essa não é uma resposta direta à sua pergunta, mas talvez ajude. Eu sugiro que você tente entrar em contato com a equipe que produz o SNMP Informant: http://www.snmp-informant.com/

Eles estendem o agente SNMP do Windows para solucionar as limitações da Microsoft para alguns de seus OIDs. Eu o uso com o Zenoss para obter números mais precisos de utilização e armazenamento da CPU e há uma boa chance de que isso funcione com o seu problema, mas não posso dizer com certeza.

SpacemanSpiff
fonte
Você também pode usá-lo para consultar os contadores WMI, talvez.
quer
Não é uma má idéia, vou ter certeza disso. Em teoria, as bibliotecas Net-SNMP devem fazer o mesmo, mas seu nível aparente de personalização pode ser útil, obrigado!
Univ426