首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么实现私有trap,怎么关闭snmp agent服务?求解,求高手

2012-04-19 
如何实现私有trap,如何关闭snmp agent服务?求解,求高手用的还是net-snmp1.用他的源码到底是怎么样关闭snmp

如何实现私有trap,如何关闭snmp agent服务?求解,求高手
用的还是net-snmp
1.用他的源码到底是怎么样关闭snmp agent服务的,我想调用他内部原有的接口,目前我关闭服务用的都是指令“pkill snmp”太暴力了。
2.私有trap到底是怎么实现的,我在网上找到一个trap的文件
TRAP-TEST-MIB.txt:
TRAP-TEST-MIB DEFINITIONS ::= BEGIN
  IMPORTS ucdExperimental FROM UCD-SNMP-MIB;
 demotraps OBJECT IDENTIFIER ::= { ucdExperimental 990 }
 demo-trap TRAP-TYPE
  STATUS current
  ENTERPRISE demotraps
  VARIABLES { sysLocation }
  DESCRIPTION "This is just a demo"
  ::= 17
 END
用mib2c -c mib2c.notify.conf demotraps生成demotraps.c和demotraps.h该如何修改才能够让他正常的发送trap,求高人指点。

[解决办法]
关闭agent服务 一般在包含main函数的原文件中都有一个变量;此变量来指示是否运行此服务,可以改变此变量来停止服务。


发送trap你可以参照一下net-snmp给你的例子,源码文件中
net-snmp-5.6.1.1\agent\mibgroup\examples\notification.cnotification.c 你的做法和给出的例子几乎一致,看一下就好了。
当然发送trap你也可以参照一下snmptrap.c这个文件,调用net-snmp接口自己组建session 组建pdu发送trap。



[解决办法]
函数snmp_alarm_register(30, /* seconds */
SA_REPEAT, /* repeat (every 30 seconds). */
send_trap, /* our callback 定时器触发调用的函数*/
NULL /* no callback data needed 回调函数的返回值*/
);定义一个trap自陷检测的定时器。
函数send_v2trap发送

热点排行