随着大于16TB的卷变得越来越普遍,人们认识到用于报告SNMP中标准“HOST-RESOURCES”MIB内的磁盘大小和使用情况的32位值不足以报告正确的磁盘大小.

Net-SNMP似乎已经解决了这个问题,只需操作“AllocationUnits”的值来维持磁盘利用率的32位值(因为总磁盘大小/使用率等于32位空间值乘以分配单元),允许用于计算大于8 / 16TB的体积.假设您对分配单元没有任何报告兴趣,并且可以处于少量不准确状态.这似乎是一个优雅的解决方案.

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

然而,Window内置的SNMP服务似乎继续遭受此错误,只是报告使用/分配的磁盘空间的模数,导致磁盘大小报告不准确.

有没有办法让Windows能够正确报告超过16TB的卷的磁盘使用情况?我们试图简单地安装Net-SNMP 5.5 x64并完全禁用Windows SNMP服务,但遗憾的是这并没有解决我们的问题.

使用NetSNMP扩展时,我们为我们感兴趣的特定磁盘收集的信息如下:

无论我们使用的是vanilla Windows SNMP服务还是NetSNMP,这些结果都是相同的.

我见过Cacti社区的人提到只是编写解决方案的脚本.不幸的是,我们使用Observium进行快速和基本的系统监控.如果在Window方面无法解决问题,可以使Observium报告自定义MIB吗?

–Update–

查看错误报告中提到的将“realStorageUnits”添加到snmpd.conf文件中,我们在设置该指令时遇到了以下问题:

– 更新2–

好吧,经过多次修改后,它看起来不像任何Windows版本的Net-SNMP,就像“realStorageUnits”指令一样.包含该指令会在启动SNMP时产生警告.我们尝试了5.5,5.6和5.7版.有没有人在这里想过如何让SNMP在Windows上报告16 TB的卷?

不久之前,Net-SNMP 5.5有 a patch,它为配置文件引入了一个新选项realStorageUnits.

从Redhat Bugreport #748410开始:

To address this issue [negative hrStorageSite values],this update adds a new option to the
/etc/snmp/snmpd.conf configuration file,realStorageUnits. By changing
the value of this option to 0,users can Now enable recalculating all
values in hrStorageTable to ensure that the multiplication of
hrStorageSize and hrStorageAllocationUnits always produces an accurate
device size.

([方括号]中的文字是我的)

因此,将配置指令realStorageUnits 0添加到snmpd.conf可能正在解决您的问题.

但是,这些值在最后一兆字节之前是不正确的;因人而异.

我不知道this patch是否包含在你的Net-SNMP二进制发行版中,但如果你能报告结果以及你正在使用的二进制文件,那将会很棒.此外,我现在没有测试它是否缺乏足够的硬件.

Windows上的16TB卷和SNMP的更多相关文章

  1. Python封装SNMP调用接口的示例代码

    PySNMP 是一个纯粹用Python实现的SNMP,用PySNMP的最抽象的API为One-line Applications。本文为大家分享了Python封装SNMP调用接口的示例代码,需要的可以参考一下

  2. 如何删除零计数和don'不要在Zabbix上显示它们的图形?

    我已经为此创建了发现项,但有一个问题,该设备有多个{ENT_NAME}。其中一个ENT_NAME有关于正常运行时间的信息,但没有关于cpu和temp的信息(显示0)。因此,Zabbix显示了一些未使用的图形。

  3. centos – 原因:(noSuchName)此MIB中没有此类变量名称

    我正在使用centos操作系统.我试图通过snmpget命令获取localhost的内存统计信息,我收到此错误.但是,如果我解雇了这个…

  4. centos – 如何使用zabbix获取所有SNMP项目?

    场景:操作系统:CentOS7.2Zabbix版本:3.0尝试使用SNMP协议监控某些交换机我能够毫无问题地监控它们,所有项目都正常工作,一切都很好但添加每一项都是痛苦的屁股而且我现在不浪费时间所以我开始谷歌搜索,发现ZabbixExtras,其中似乎解决了我的问题,但还没有,因为最后一个版本适用于Zabbix2.4.无论如何,我试图安装它,但正如预期的那样,根本没有成功.我一直试图找到一个替代方案,到目前为止得到任何东西,所以这基本上是我的最后一次机会……

  5. CentOS 7 SNMP端口始终关闭

    我有一个CentOS7服务器,我打开了SNMP连接的端口.即使我可以在这里看到端口打开:当我试图从外面击中这个端口时,我总是得到关闭它.即使是nmap也同意这一点:我还能做些什么来打开这些端口?SNMP是UDP协议,而不是TCP协议.所以你需要打开UDP端口,即161/udp.更好的是,只需指定服务名称,firewalld将负责处理.

  6. centos – 通过SNMP提供Dell的OpenManage 6.2信息

    更新:mib文件可以帮我解释从snmpwalk返回的信息吗?

  7. 为什么snmp无法使用自己的MIB?

    有什么明显的东西我在这里俯瞰吗?apt-getinstallsnmp-mibs-downloader上面的命令下载了免费MIB需要工作的各种非免费MIB.安装这个非免费软件包之后仍然存在一些错误,但现在可以使用snmpwalk.

  8. 我是否需要启用一些标志才能使用SNMP监控Ubuntu?

    Snmpd正在运行.我通过运行snmpwalk检查状态.为了得到cpu信息,我运行了这个:但是我收到一个错误:我是否需要启用某些功能才能启用SNMP监控?

  9. ubuntu-10.04 – SNMP扩展无法正常工作

    我有一台运行Postgresql9.1复制的服务器.我写了一个脚本,打印出当前的复制延迟(master每隔60s插入一次unix时间戳,slave会将它与当前时间戳进行比较).我已经添加到了snmpd.conf,并重新启动了snmpd服务,但是当我从localhost或网络上的另一台机器上窃取主机时,我可以看到所有其他OID,但不是这个.如果我做SNMP-Getas然后它也找不到那里的OID.Ne

  10. Centos 6.5 监控路由器、思科交换机Nagios (三)

    监控路由器、思科交换机因为在交换机、路由器无法安装监控客户端,所以要用到snmp插件查看一、安装snmp服务安装snmp后要重新编译安装nagios插件nagios-plugins-2.0才会在思科交换机:系统测试:check_snmp命令提供了详细的使用说明,只需要在Linux命令行输入check_snmp–help即可查看帮助信息,这其中包括每一项参数的使用等。这里以检测Cisco交换机的系统为例,示范如何使用check_snmp。

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部