16TB보다 큰 볼륨이 일반화되면서 SNMP의 표준 “HOST-RESOURCES”MIB 내에서 디스크 크기 및 사용량을보고하는 데 사용되는 32 비트 값이 적절한 디스크 크기를보고하기에 충분히 크지 않다는 것이 인식되었습니다.
Net-SNMP는 단순히 “AllocationUnits”의 값을 조작하여 디스크 사용에 대한 32 비트 값을 유지함으로써 (총 디스크 크기 / 사용률이 할당 단위의 32 비트 공간 값과 32 비트이므로)이 문제를 해결 한 것으로 보입니다. 8 / 16TB보다 큰 볼륨을 계산합니다. 할당 단위에 대한보고 관심이 없으며, 약간의 부정확도는 괜찮습니다. 이것은 우아한 해결책처럼 보입니다.
https://bugzilla.redhat.com/show_bug.cgi?id=654384
그러나 윈도우의 내장 SNMP 서비스는이 오류가 계속 발생하여 사용 / 할당 된 디스크 공간의 모듈로를보고하기 때문에 디스크 크기보고가 부정확합니다.
Windows에서 16TB를 초과하는 볼륨의 디스크 사용량을 올바르게보고 할 수있는 방법이 있습니까? Net-SNMP 5.5 x64를 설치하고 Windows SNMP 서비스를 완전히 비활성화하려고 시도했지만 불행히도이 문제는 해결되지 않았습니다.
NetSNMP 확장을 사용할 때 관심있는 특정 디스크에 대해 수집하는 정보는 다음과 같습니다.
이 결과는 바닐라 Windows SNMP 서비스를 사용하든 NetSNMP를 사용하든 관계없이 동일합니다.
나는 Cacti 커뮤니티의 사람들이 단순히 솔루션을 스크립팅한다고 언급하는 것을 보았습니다. 불행히도 우리는 빠르고 기본적인 시스템 모니터링을 위해 Observium을 사용하고 있습니다. 창 쪽에서 문제를 해결할 수없는 경우 Observium에서 사용자 지정 MIB를보고하도록 만들 수 있습니까?
– 업데이트 –
snmpd.conf 파일에 “realStorageUnits”추가에 대한 버그 보고서의 언급을 살펴보면 해당 지시문을 설정할 때 다음과 같은 문제가 발생했습니다.
– 업데이트 2 –
땜질을 많이 한 후에는 “realStorageUnits”지시문과 같은 Windows 버전의 Net-SNMP처럼 보이지 않습니다. 지시문을 포함하면 SNMP를 시작할 때 경고가 표시됩니다. 버전 5.5, 5.6 및 5.7에서 시도했습니다. 여기 아무도 Windows에서 16TB 이상의 볼륨을 SNMP가보고하도록 SNMP를 얻는 방법을 알고 있습니까?
답변
얼마 전에 Net-SNMP 5.5 용 패치realStorageUnits
가 구성 파일에 대한 새로운 옵션 을 도입했습니다 .
로부터 레드햇 버그 신고 번호 748410 :
이 문제 (음의 hrStorageSite 값)를 해결하기 위해이 업데이트는 /etc/snmp/snmpd.conf 구성 파일 인 realStorageUnits에 새 옵션을 추가합니다. 이 옵션의 값을 0으로 변경하면 hrStorageTable의 모든 값을 다시 계산하여 hrStorageSize와 hrStorageAllocationUnits의 곱이 항상 정확한 장치 크기를 생성 할 수 있습니다.
([괄호]의 텍스트는 내 것입니다)
따라서 realStorageUnits 0
snmpd.conf에 구성 지시문 을 추가하면 문제가 해결 될 수 있습니다.
그러나 값은 마지막 MB까지 정확하지 않습니다. ymmv.
경우 내가 말할 수없는 이 패치는 인터넷-SNMP의 바이너리 배포판에 포함되었지만, 당신은 결과와 당신이 사용하는 바이너리를보고 할 수 있다면 그것은 좋은 것입니다. 또한 지금은 적절한 하드웨어가 없는지 테스트하지 않았습니다.
답변
이것이 귀하의 질문에 대한 직접적인 대답은 아니지만 도움이 될 것입니다. SNMP 정보를 제공하는 팀에 문의 하십시오 (http://www.snmp-informant.com/).
이들은 일부 OID에 대한 Microsoft의 제한 사항을 해결하기 위해 Windows SNMP 에이전트를 확장합니다. 더 정확한 CPU 사용률과 스토리지 번호를 얻기 위해 Zenoss와 함께 사용하며 이것이 문제를 해결할 가능성이 있지만 확실하게 말할 수는 없습니다.