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?


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.