使用SNMP监视Windows Server

这有多难? 我想从远程Win 2k3机器上获得当前的CPU性能。 我需要使用SNMP,因为机器在防火墙后面。

假设:

  • 我明白networking/可以configuration任何种类的IP地址/端口转发/防火墙/东西。
  • 我了解SNMP – 我知道如何使用我的工具从目标机器上的OID获取值。
  • 我知道我想要处理来自我的SNMP请求的结果。
  • 我在Windows Server上启用了SNMP,configuration了相关的IP安全/社区内容。
  • 我已经可以使用SNMP询问Windows服务器标准的东西了,它有多less个磁盘/networking接口等等。

问题:我用什么OID来简单地询问当前的性能使用情况。

我花了好几个小时的时间询问Google – 明确地问了一个错误的问题:S ….这有多难?

使用snmpwalk查看机器正在报告的内容,并select适合的内容:-)

对于CPU利用率,主机资源MIB提供了一个1.3.6.1.2.1.25.3.3的SNMP表,其中列出了每个CPU及其当前的百分比利用率,但这些值可能有点误导(100%并不总是意味着系统是过载)。

http://www.oidview.com是一个很好的去MIB浏览的地方,并会给你MIB实体名称以及OID。

“性能使用”没有任何OID,您需要自行调查并确定要捕获的内容 – HOSTS MIB(CPU,RAM,磁盘空间)中的许多内容很常见,但您可能还关心特定于硬件的特定事物(例如,特定于供应商的RAID卡)。

你使用什么工具? Nagios,OpenNMS和MRTG具有用于常见场景的模板。

另外,请记住,如果您使用SNMP v2,您的社区string是明文。

您可以在Linux或Windows上使用Cacti来pipe理snmp数据和graphics。 它会自己发现oid(使用预加载的模板)并为你生成graphics(每日/每月…)它是开源的

您可以考虑使用getif.exe或mib浏览器来查看机器正在显示的内容。

来自其中一个RFC mib的通用处理器信息的oid是:

 .1.3.6.1.2.1.25.3.3.1 

但是您需要钻取以确定多处理器。 在我的一个单处理器服务器上,oid是:

 .1.3.6.1.2.1.25.3.3.1.2.1 

因人而异。

snmp信息的一个很好的来源是:

http://www.wtcs.org/snmp4tpc/testing.htm

正如其他地方所提到的,一旦您获得了数据,MRTG,Cacti,Nagios(等)就是显示历史信息的好方法,并且可以获得networking服务器运行状况的图片。

我正在使用NagiosNagios graphs ,这让我有机会在Windows端监视CPU,MEM和磁盘加载。我使用NSClient++连接到Nagios服务器

  1. 对于CPU我使用check_nt_cpuload ,这是一个Nagios插件,
  2. 对于内存我使用check_memory
  3. 我使用SNMP来检查可用磁盘空间,也用于检查单个进程使用的内存,我也使用SNMP来检查从CPU处理多less进程。 另外,我还设置Nagios在垃圾箱到达时发送电子邮件(例如,服务器1上的内存很重要)。

我花了大约5天的时间才能正常工作,现在我的日志大概有10个坐骑,我可以告诉我在特定的时间内有多less服务器被加载

使用将安装在Linux服务器上的Nagios 。 它有很多插件可以监视系统性能(CPU / RAM / HDD)。 然后在您的Windows Server上安装NRPENagios / NRPE应该在你的Windows服务器上启动。 只要达到了设定的阈值, Nagios也具有触发警报的能力,并向pipe理系统的人发送电子邮件警报。

您也可以使用也使用SNMP Cacti 。 它有插件来监视系统性能。 与Nagios相比, Cacti具有可以实时更新的当前系统性能的graphics化表示。