用于 Net-SNMP 的 SNMP passpersist 后端
项目描述
SNMP-PassPersist
此模块是 Net-SNMP 的 SNMP passpersist 后端。
该类snmp_passpersist.PassPersist提供了一种创建 MIB 子树并通过其 passpersist 协议将其公开给 snmp 的便捷方法。使用了两个线程,一个用于与 snmpd 通信,另一个以固定间隔触发更新过程。
出于测试目的,已将关键字“DUMP”添加到协议中。
安装
最简单的方法是使用 pip :
pip install snmp_passpersist
例子
用法示例:在文件 /path/to/your/script.py 中:
#!/usr/bin/python -u
import snmp_passpersist as snmp
def update():
pp.add_int('0.1', 123, "This is a label for this integer")
pp.add_str('0.2', "A string")
pp.add_oct('0.3', '01 00 1f 0b 00 0b') # MAC address as an octet string
pp=snmp.PassPersist(".1.3.6.1.3.53.8")
pp.start(update,30) # Every 30s
在 Net-SNMP 的 snmpd.conf 中使用以下行:
pass_persist .1.3.6.1.3.53.8.0 /path/to/your/script.py
此处提供了一个真实示例:https ://github.com/nagius/cxm/blob/master/misc/snmp_xen.py
支持的类型及其助手列表
| 类型 | 帮手 |
|---|---|
| 柜台32 | add_cnt_32bit() |
| 计数器64 | add_cnt_64bit() |
| 测量 | add_gau() |
| 整数 | add_int() |
| IP地址 | add_ip() |
| 对象ID | add_oid() |
| 八位字节 | add_oct() |
| 细绳 | add_str() |
| 时刻表 | add_tt() |
特别帮手
标签
您可以为每个条目添加一个标签,作为所有 add_*() 助手的可选参数。Net-SNMP 不使用此标签,仅对使用 DUMP 关键字进行调试有用。
add_oid()
这个助手允许你添加一个简单的 OID 字符串并给它正确的类型。例如,使用
pp.add_oid('.1.3.6.1.2.1.47','1.1.1.1.3.1','0.0')
其中“0.0”代表SNMPv2-SMI::zeroDotZero。
当我们遍历这个 OID 时,这会导致以下响应:
ENTITY-MIB::entPhysicalVendorType.1 = OID: SNMPv2-SMI::zeroDotZero
设置一个属性
您可以注册一个帮助程序以允许记录来自 Net-SNMP 的值。
def my_setter(oid, type, value):
print("Received %s with value %s for oid %s." % (type, value, oid))
return True
pp.register_setter('.1.3.6.1.3.53.8.0.4', my_setter)
调试示例:
$ /path/to/your/script.py
set
.1.3.6.1.3.53.8.0.4
INTEGER 987
Received INTEGER with value 987 for oid .1.3.6.1.3.53.8.0.4.
DONE
set
.1.3.6.1.3.53.8.0.1
STRING some-random-useless-string
not-writable
'example/' 目录中提供了另一个显示“set”功能用法的示例。
调试示例
在 shell 中运行前面的脚本并输入命令:
$ /path/to/your/script.py
PING
PONG
DUMP
{'0.1': {'type': 'INTEGER', 'value': '123'}}
get
.1.3.6.1.3.53.8
NONE
get
.1.3.6.1.3.53.8.0.1
.1.3.6.1.3.53.8.0.1
INTEGER
123
getnext
.1.3.6.1.3.53.8
.1.3.6.1.3.53.8.0.1
INTEGER
123
所有命令都输入两行:get<ENTER>.1.3.6.1.3.53.8.0.1<ENTER>,PING 和 DUMP 除外。
学分
非常感谢所有贡献者。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
snmp_passpersist -2.1.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 72987dfd7464a6b8210d48d9f9c1071674673f2cc2e1a6a5a6b6226bd8e1e9ea |
|
| MD5 | 1cade04906ebda426b488f6d1b08d84d |
|
| 布莱克2-256 | 125e2f3752076571359ec83addf12ecd70ff044fb10d1429b42aa418553de92b |
snmp_passpersist -2.1.0-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 7e8aa9a01c2952ab3be8d9255f7ba276d43f253373a75d38fd435042bb3032e3 |
|
| MD5 | 269e2f6c4c232924c17ad92e67333aa3 |
|
| 布莱克2-256 | 13515fe7ebb2a1f53836e69c73c9b9e0014a75ebdf6a98d23f707d649d1912c9 |