如何定制MIB PYSNMP

2024-04-20 12:20:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是SNMP新手,但我将使用SNMP和PYSNMP制作一些简单的监控应用程序

我想用我的自定义MIB监视我的代理(因为当我运行一些MIB时,它不能与PYSNMP一起工作),我已经阅读了PYSNMP文档,但是它似乎帮不了我

你能告诉我,如何使自定义MIB PYSNMP容易吗?所以我可以在管理器和代理端使用它:)

谢谢你


谢谢你的回答 我还没看懂我的目标

我想读取分区上的磁盘总量,下面是我的MIB代码:

DISKTOTAL-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE, Integer32, NOTIFICATION-TYPE
                     FROM SNMPv2-SMI
;

internet OBJECT IDENTIFIER ::= { iso(1) org(3) dod(6) 1 }
enterprises OBJECT IDENTIFIER ::= { internet private(4) 1 }
ucdavis OBJECT IDENTIFIER ::= { enterprises 2021 }
diskcheck OBJECT IDENTIFIER ::= { ucdavis 9 }
snmpdiskcheck OBJECT IDENTIFIER ::= { diskcheck 1 }
totaldisk OBJECT IDENTIFIER ::= { snmpdiskcheck 6 }

diskTotal OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION "Total size of disk on partition."
    ::= { totaldisk 1 }

END

生成这段代码之后,这是我在py中的MIB

^{pr2}$

但是,当我打电话给snmpget时: snmpget -v 2c -c public localhost .1.3.6.1.4.1.2021.9.1.6.1

我发现:

iso.3.6.1.4.1.2021.9.1.6.1 = No Such Instance currently exists at this OID

谢谢你


Tags: 代码代理objecttypeinternetsnmpmibidentifier
1条回答
网友
1楼 · 发布于 2024-04-20 12:20:08

使用PySNMP,您可以将MIB文本文件转换为Python代码,该代码既可以服务于SNMP应用程序的管理器端,也可以用于代理端。转换使用smidump和libsmi2pysnmp工具执行,如下所示:

$ cat YOUR-MIB.txt | smidump -f python | libsmi2pysnmp > YOUR-MIB.py

请参阅PySNMP分发以获取一个小的自动化脚本(tools/build PySNMP mib)。在

一旦您有了Pythonized MIB,Manager端就可以将其用于可视化目的(用文字表示oid,美化值)。代理应用程序可以通过添加可以访问您希望管理的主机系统上的值的叶对象来扩展Pythonized MIB。在

这是一个similar question on Agent-side implementationa blog post on PySNMP MIB conversion process

您真的需要同时实现Manager和Agent应用程序吗?在

相关问题 更多 >