SNMP陷阱守护程序。

trapperkeeper的Python项目详细描述


TrapperKeeper是一套用于接收和显示SNMP陷阱的工具。这是为SNMPRTAPD的替换而设计的,补充了现有的状态监测解决方案。
BR/>通常陷阱本质上是无状态的,这使得很难用类似NAGIOS的系统来监视BR/>,这需要轮询一个源。在到期之前。这使得可以对
服务进行轮询以查找活动陷阱并对这些陷阱发出警报。

例如湿度警报。如果您超过了湿度
阈值,并且它立即清除,则您可能不希望在
凌晨3点被寻呼。但是,如果它在超过
阈值时继续每5分钟发送一个陷阱,则(主机、oid、严重性)的组合将保持在
活动状态,只要该陷阱的过期时间长于
5分钟。这允许nagios之类的东西在单个
陷阱保持活动状态超过一段时间时发出警报。

另一个好处是允许聚合页面。以前我们每个陷阱只有一封发送到寻呼机的电子邮件,但现在我们只根据
警报间隔进行寻呼,而不管我们收到了多少陷阱。这也允许
我们在计划维护期间为设备安排停机时间,以避免陷阱风暴。


要求
----


ubuntu
~代码::bash

$sudo apt get install libmysqlclient dev libsnmp dev

代码::bash

$pip install trappercheeper


创建包含数据库信息的配置文件后,可以运行以下命令创建数据库架构。

代码::bash

$python-m trapperperkeeper.cmds.sync_db-c/path/to/trapperperkeeper.yaml


tools
-

~~~~~~br/>
trapperperkeeper命令接收snmp陷阱并处理电子邮件和写入数据库。此处提供了一个带有
文档的配置文件示例。和/或TrPaPlur.yll& Br/> Br/>陷门
~~~~~~~~~~~~Br/> Br/> TraveOver是一个Web服务器,它提供了对现有陷阱的查看,作为BR/>以及作为观察陷阱状态的API。这里提供了一个配置
文件和文档的示例。<;conf/trapdoor.yaml>;``配置

…图::https://raw.githubusercontent.com/dropbox/trapperkeeper/master/images/trapdoor.png
:alt:screenshot


screenshot
api
^^^

/api/activetraps
''''''''''''''''''''''

**可选参数:*\*主机\*oid严重性

**返回:*



代码::javascript

[
(<;host>;、<;oid>;、<;severity>;)
]

/api/varbinds/
''''''''''''''''''

**返回:**

。代码::javascript

[
{
“通知id”:<;通知id>;,
“名称”:<;varbind&u name>;,
“漂亮值”:<;漂亮值>;,
“oid”:<;oid>;,
“值”:<;值>;,
“值类型”:<;值>;
}
]


MIB配置
----

``trapperKeeper``和``trapdoor``通过netsnmp使用默认MIB。您可以通过运行
``net snmp config--default mibdirs``来查看系统的默认路径。您可以使用
通常记录在``snmpcmd``手册页中的环境变量

mibs-要加载的mibs列表。默认为
snmpv2 tc:snmpv2 mib:if-mib:ip-mib:tcp-mib:udp-mib:snmp-vacm-mib。

mibdirs-要搜索mib的目录列表。丁默认为
/usr/share/snmp/mibs。

例如,我在以下环境中同时运行``trapperkeeper``和``trapdoor``命令
,将目录添加到路径并加载
all mib。

``mibs=all mibdirs=+/usr/share/mibs/local/`

----允许自定义电子邮件模板TrapperKeeper
-本地CDNJS镜像的CDNJS前缀
-用于解析的用户ACL
-记录解析用户

已知问题
----

-当前不支持SNMPv3
-当前不支持通知
-已知某些设备发送负时间戳。pyasn1
无法处理此问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓为什么Java AudioEffect不支持双簧管?   增加内存后出现java IntelliJ堆大小错误   在unix/linux中工作的java中将unicode字符串转换为ASCII   java是否缺少正确对齐输出的值?   java Spring 3 MVC:动态表单中的onetomany(创建/更新时添加/删除)   java在接口中创建两个通用参数   lambda使用Java 8从嵌套列表中使用forEach查找项的替代方法是什么?   Java正则表达式匹配10位电话号码,中间有空格   linux将log4j外部化。使用命令行Java的属性文件   带有SSL的java简单RMI服务器   java无法为事务[…]打开JPA EntityManager无法获取驱动程序类“null”和URL“null”的连接   Android设备上的java Oauth Foursquare   for循环的ImageButton名称的java骰子模拟浓缩   java有没有简单的1d条形码阅读器?   如何在调用resultset后解决“无效字符串或缓冲区长度”。从java到访问mdb的getString()连接   在Java8中,是否可以使用JVM参数来控制何时(或在什么条件下)卸载类?