如何对已有进程添加snmp监控功能?
问题如下:
网络上分布了多个服务器程序,这些程序都是写好了的,现在需要对这些程序进行监控,比如进程异常,退出,崩溃,敏感信息等。且必须用snmp实现。
偶的想法是:
1、在服务器程序主机上编写snmp agent。收集信息并写入本地MIB。
2、编写一个snmp监控端程序,轮寻服务器主机上的MIB
3、若出现服务器进程出现异常情况,agent发送trap至监控端
现有如下问题:
1、agent如何监控进程,这里涉及到进程间通信,偶的初步想法是把agent写成一个进程外组件。但这里涉及到一个通用性问题,每个服务器进程都要以相同的方法和agent交换数据,也就是说,提供一个相同的agent,供多个不同的服务器进程复用
2、据说针对snmp的网管软件通常不用编写监控端,好像有个什么现成的东西可以直接使用
3、agent是否可以是dll而非exe,这样避免进程间通信的开销
4、snmp++和agent++库的最新版本是针对vc7编写的,在vc6下是否可以使用?
另外,大家如果有兴趣,可以讨论一下编写snmp网管的大致步骤,吼吼,偶没搞过这方面的应用,还请过来人指教。。。
其实这几个问题都是次要的,偶主要是想了解通常基于snmp监控程序(对进程而非主机信息的监控)的开发思路,还忘大家不吝赐教。。。。