如何使用pysnmp监控系统资源?
你好,我是Python和SNMP的新手,我想知道如何使用pysnmp来监控系统资源,比如CPU使用率、内存使用率、磁盘使用率和网络接口负载?
我正在尝试使用cmdgen.CommandGenerator().getCmd()
,但很难找到能给我返回有用信息的OID。
这是我尝试过的一个例子(查询CPU使用率):
errorIndication, errorStatus, errorIndex, varBinds =
cmdgen.CommandGenerator().getCmd(
cmdgen.CommunityData('my-agent', 'public', 0),
cmdgen.UdpTransportTarget(('localhost', 161)),
'1.3.6.1.4.1.11.2.3.1.1.13'
)
print(varBinds)
输出:
[(ObjectName(1.3.6.1.4.1.2021.10.1.3.1), Null(''))]
1 个回答
2
你可以试试一个免费的MIB浏览器,比如mbrowse,然后查看存储在/usr/share/snmp/mibs/里的MIB文件。
以下是一些具体的例子(摘自 http://www.debianhelp.co.uk/linuxoids.htm):
加载
1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1
5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2
15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3
CPU
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0
内存统计
Total Swap Size: .1.3.6.1.4.1.2021.4.3.0
Available Swap Space: .1.3.6.1.4.1.2021.4.4.0
Total RAM in machine: .1.3.6.1.4.1.2021.4.5.0
Total RAM used: .1.3.6.1.4.1.2021.4.6.0
Total RAM Free: .1.3.6.1.4.1.2021.4.11.0
Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0