Volúmenes de 16 TB y SNMP en Windows

12

A medida que los volúmenes de más de 16 TB se hicieron más comunes, se reconoció que el valor de 32 bits utilizado para informar el tamaño del disco y el uso dentro de la MIB estándar "HOST-RESOURCES" en SNMP no era lo suficientemente grande como para informar el tamaño de disco adecuado.

Net-SNMP parece haber abordado este problema simplemente manipulando el valor de "AllocationUnits" para mantener un valor de 32 bits para la utilización del disco (ya que el tamaño / uso total del disco es igual al valor del espacio de 32 bits multiplicado por la unidad de asignación), para permitir para el cálculo de un volumen mayor a 8 / 16TB. Suponiendo que no tiene ningún interés en informar sobre la unidad de asignación, y está bien con un pequeño nivel de inexactitud. Esto parece una solución elegante.

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

Sin embargo, el servicio SNMP integrado de Windows parece continuar sufriendo este error, simplemente informando el módulo del espacio de disco utilizado / asignado, lo que resulta en informes de tamaño de disco inexactos.

¿Hay alguna manera de permitir que Windows informe correctamente el uso del disco para volúmenes de más de 16 TB? Intentamos simplemente instalar Net-SNMP 5.5 x64 y deshabilitar por completo el servicio SNMP de Windows, sin embargo, desafortunadamente, esto no solucionó nuestro problema.

Cuando se usan las extensiones de NetSNMP, la información que recopilamos para el disco en particular que nos interesa es la siguiente:

ingrese la descripción de la imagen aquí

Estos resultados son los mismos independientemente de si estamos utilizando el servicio SNMP de Windows o NetSNMP.

He visto a personas en la comunidad de Cacti mencionar simplemente la creación de una solución. Desafortunadamente, estamos usando Observium para el monitoreo rápido y básico de sistemas. Si el problema no se puede corregir en el lado de la ventana, ¿se puede hacer que Observium informe MIB personalizados?

- Actualización -

Al analizar la mención del informe de error de agregar "realStorageUnits" al archivo snmpd.conf, experimentamos el siguiente problema al configurar esa directiva:

realStorageUnits nos avala

- Actualización 2 -

Bueno, después de muchos ajustes, no parece ninguna de las versiones de Windows de Net-SNMP como la directiva "realStorageUnits". La inclusión de la directiva genera una advertencia al iniciar SNMP. Probamos en la versión 5.5, 5.6 y 5.7. ¿Alguien ha descubierto alguna vez cómo hacer que SNMP informe más de 16 volúmenes de TB en Windows?

Univ426
fuente
Dices que instalar Net-SNMPD no solucionó el problema. ¿Quiere decir que no ajusta las Unidades de asignación como asistente o no logró que se ejecute?
Alexander Janssen
No pareció cambiar las unidades de asignación. El servicio funcionó bien, pero al final, no pareció cambiar lo que se informaba: el valor del disco seguía siendo incorrecto y los diversos valores informados seguían siendo los mismos que antes. Sin embargo, puedo confirmar que se detuvo el "Servicio SNMP" y se inició el "Servicio Net-SNMP". ¿Hay alguna posibilidad de que esté configurando algo mal?
Univ426
Una pequeña nota adicional, expongo los árboles utilizando una configuración muy básica v2c "rwcommunity <string>" para fines de prueba.
Univ426
Para empezar, puede consultar el OID .1.3.6.1.4.1.2021.100.2.0para verificar si realmente es Net-SNMP el que está respondiendo. En mis hosts (Linux) con Net-SNMP daSNMPv2-SMI::enterprises.2021.100.2.0 = STRING: "5.4.1"
Alexander Janssen
Obtengo "UCD-SNMP-MIB :: versionTag.0 = STRING: 5.5" Parece un poco diferente, pero netSNMP 5.5 es la versión que he instalado. Desactivando Net-SNMP y activando el servicio SNMP de Windows, aparece "UCD-SNMP-MIB :: verionTag.0 = No quedan más variables en la vista MIB" Por lo tanto, parece que NetSNMP definitivamente se está ejecutando
Univ426

Respuestas:

2

Hace un tiempo hubo un parche para Net-SNMP 5.5 que introdujo una nueva opción realStorageUnitspara el archivo de configuración.

Del informe de errores de Redhat # 748410 :

Para solucionar este problema [valores negativos de hrStorageSite], esta actualización agrega una nueva opción al archivo de configuración /etc/snmp/snmpd.conf, realStorageUnits. Al cambiar el valor de esta opción a 0, los usuarios ahora pueden habilitar el recálculo de todos los valores en hrStorageTable para garantizar que la multiplicación de hrStorageSize y hrStorageAllocationUnits siempre produzca un tamaño de dispositivo preciso.

(el texto entre [corchetes] es mío)

Por lo tanto, agregar la directiva de configuración realStorageUnits 0a su snmpd.conf podría estar resolviendo su problema.

Sin embargo, los valores no serán correctos hasta el último megabyte; ymmv.

No puedo decir si este parche se incluyó en su distribución binaria de Net-SNMP, pero sería genial si pudiera informar los resultados y qué binario está utilizando. Además, no lo probé por la falta de hardware adecuado en este momento.

Alexander Janssen
fuente
Gracias Alex, lo hemos intentado antes, con mucha esperanza, lamentablemente cuando lo hacemos, recibimos el siguiente error: C: /usr/etc/snmp/snmpd.conf: línea 2: Advertencia: token desconocido: realStorageUnits. ¿Esa directiva acaba de caer en algún lugar, es decir, justo debajo de "rwcommunity private", por ejemplo?
Univ426
Jaja, sí, he cometido ese error una vez antes, lo verifiqué dos veces, pero actualizaré mi pregunta con una foto.
Univ426
¿Hay alguna posibilidad de que esté escribiendo esa directiva mal?
Univ426
No, se ve bien. Lo siento, estoy perdido ahora. No tengo una máquina adecuada con su versión de Windows para verificar esto, pero, para ser honesto, su snmpd.conf se ve un poco "pequeño". Pruebe esta configuración mínima para v2c en su lugar . No estoy seguro de si ayudará, pero se asegurará de que no ocurra nada más funky. Y, adapte la red en la directiva localnet.
Alexander Janssen el
5.5 en Linux con mi configuración mínima comienza felizmente con la realStorageUnitsdirectiva. Si esto aún no funciona para usted, tengo la clara sensación de que esta característica de alguna manera no está incluida en el binario NetSNMP que está utilizando.
Alexander Janssen
1

Sé que esta no es una respuesta directa a su pregunta, pero tal vez sea útil. Le sugiero que intente ponerse en contacto con el equipo que hace que SNMP Informant: http://www.snmp-informant.com/

Extienden el agente SNMP de Windows para evitar las limitaciones de Microsoft para algunos de sus OID. Lo uso con Zenoss para obtener números de almacenamiento y utilización de CPU más precisos y hay una buena probabilidad de que esto solucionará su problema, pero no puedo decirlo con certeza.

SpacemanSpiff
fuente
También podría usarlo para consultar contadores WMI, quizás.
SpacemanSpiff
No es una mala idea, me aseguraré de esto. En teoría, las bibliotecas Net-SNMP deberían hacer lo mismo, pero su aparente nivel de personalización podría ser útil, ¡gracias!
Univ426