如何使用snmp

时间:2018-10-09 08:08:52

标签: python-3.x snmp pysnmp

已经在服务器故障(https://serverfault.com/questions/934468/how-to-monitor-systemd-service-with-snmp)中提出此要求,但没有任何答案,因此在这里尝试尝试,因为我想使用python中的pysnmp库来检索状态。

所以我在Ubuntu服务器上有一个Gunicorn服务。

首先,我向该文件proc gunicorn添加了/etc/snmp/snmpd.conf。 但是我不确定如何获得正确的值。

我已经看到了这个问题(如何使用SNMP监视服务?),并尝试使用此命令snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.25.4.2.1.2来获取服务的状态,但是我得到了以下消息:

HOST-RESOURCES-MIB::hrSWRunName = No more variables left in this MIB View (It is past the end of the MIB tree)

所以我想OID错误或我有其他配置。

但是我也在这里(https://stackoverflow.com/a/44496076/5549711)找到了这个答案。
因此,我认为我所需要的只是该服务的OID,然后它将为我带来价值。

from pysnmp.hlapi import *

for (errorIndication,
     errorStatus,
     errorIndex,
     varBinds) in nextCmd(SnmpEngine(),
                          CommunityData('public', mpModel=0),
                          UdpTransportTarget(('demo.snmplabs.com', 161)),
                          ContextData(),
                          ObjectType(ObjectIdentity('1.3.6.1.2.1.17.7.1.2.2.1.2'))):
    if errorIndication or errorStatus:
        print(errorIndication or errorStatus)
        break
    else:
        for varBind in varBinds:
            print(' = '.join([x.prettyPrint() for x in varBind]))  

如何获取Gunicorn服务的OID?

0 个答案:

没有答案