我正在使用Debian,我有我们要监控的服务器 该应用程序是我们的,我们想要导出大约一百个实时计数器用于监控,图形和警报。
我一直在研究Debian的做法,因为我们使用Debian打包来安装应用程序,而Debian使用基于net-snmp的snmpd守护进程来导出SNMP。 到目前为止,我看到的每一种方法看起来都非常复杂,从重新编译snmpd到将动态库加载到其中,以及编译一个复制snmpd所做的子代理形式。
虽然所有这些选项让我觉得我应该选择除SNMP以外的其他东西我不想早点放弃,我想知道是否有人找到了可行的实现。
理想情况下,它应该用C或C ++编码,因为应用程序是用C ++编写的,但我对包装器或其他类型的建议持开放态度。
答案 0 :(得分:5)
答案 1 :(得分:5)
一个经常被忽视的解决方案是AgentX++,对我来说这看起来很不错。也就是说,做一个子代理并不是一个糟糕的选择。你启动标准的未修补的snmpd。然后使用子代理连接到它,子代理只添加您想要添加的OID。用于编码AgentX(作为协议称为)子代理的net-snmp工具包并不易于使用,但也不是很难。还有一个用于子代理开发的Perl模块:https://metacpan.org/pod/NetSNMP::agent
答案 2 :(得分:2)
在linux中执行此操作的传统方法是使用net-snmp软件包。确保首先编写MIB。一切都基于MIB,对MIB的更改通常会导致代码中的大量更改。 net-snmp的编码并不困难,有很多文档可以帮助您入门,例如:http://www.net-snmp.org/wiki/index.php/Tutorials#Coding_Tutorials
答案 3 :(得分:0)
您是否尝试过net-snmp?