这有多难?我想从远程 Win 2k3 机器上获取当前的 CPU 性能。我需要使用 SNMP,因为机器位于防火墙后面。
假设:
- 我了解网络/可以配置任何类型的 IP 地址/端口转发/防火墙/东西。
- 我了解 SNMP - 我知道如何使用我的工具从目标机器上的 OID 获取值。
- 我知道我想对 SNMP 请求的结果做什么。
- 我在 Windows Server 上启用了 SNMP,配置了相关的 IP 安全/社区内容。
- 我已经可以使用 SNMP 向 Windows 服务器标准询问它有多少磁盘/网络接口等。
问题: - 我用什么 OID 来简单地询问当前的性能使用情况。
我花了很多时间问谷歌 - 显然问错了问题:S .... 这有多难?
用于
snmpwalk
查看机器报告的内容,并选择看起来合适的内容:-)对于 CPU 利用率,主机资源 MIB 提供了一个 SNMP 表,
1.3.6.1.2.1.25.3.3
其中列出了每个 CPU 及其当前的利用率百分比,但这些值可能会有些误导(100% 并不总是意味着您的系统过载)。www.oidview.com是一个 MIB 浏览的好地方,它会为您提供 MIB 实体名称以及 OID。
“性能使用”没有任何 OID,您需要进行自己的调查并确定要捕获的内容 - HOSTS MIB(CPU、RAM、磁盘空间)中的很多东西很常见,但您可能还关心特定于硬件的特定事物(例如特定于供应商的 RAID 卡。)
你用的是什么工具?Nagios、OpenNMS 和 MRTG 具有用于常见场景的模板。
另外,请记住,如果您使用的是 SNMP v2,则您的社区字符串是明文。
您可以在 Linux 或 Windows 上使用Cacti来管理 snmp 数据和图形。它会自己发现oid(使用预加载的模板)并为你生成图表(每天/每月......)它是开源的
您可以考虑使用 getif.exe 或 mib 浏览器来查看机器正在暴露的内容。
来自 RFC mib 之一的通用处理器信息的 oid 是:
但是您需要深入研究以确定多处理器。在我的一台单处理器服务器上,oid 是:
YMMV。
snmp 信息的一个很好的来源是:
http://www.wtcs.org/snmp4tpc/testing.htm
如其他地方所述,一旦您获得数据,MRTG、Cacti、Nagios(等)是显示历史信息和了解网络服务器健康状况的好方法。
抢
使用
Nagios
它将安装在 Linux 服务器中。它有很多用于监控系统性能(CPU/RAM/HDD)的插件。然后安装NRPE
在您的 Windows 服务器上。Nagios
/NRPE
应该在您的 Windows 服务器上启动。Nagios
还可以在达到您设置的阈值时触发警报,并向系统管理人员发送电子邮件警报。你也可以使用
Cacti
which 也使用SNMP
. 它有插件来监控系统性能。相比Nagios
,Cacti
具有可以实时更新的当前系统性能的图形表示。我正在使用
Nagios
whichNagios graphs
让我有机会在 Windows 端及时监控 CPU、MEM 和磁盘负载,我NSClient++
用来连接到Nagios
服务器check_nt_cpuload
,这是一个Nagios
插件,check_memory
SNMP
用于检查可用磁盘空间,也用于检查单个进程使用的内存,我还SNMP
用于检查进程从 CPU 中占用了多少。我还设置Nagios
了在达到垃圾保留时发送电子邮件(例如,服务器 1 上的内存很关键)。我花了大约 5 天的时间让它工作,现在我有大约 10 次装载的日志,我可以知道在特定时间段内加载了多少服务器