ucd-snmp工具中snmpd扩展的三种形式(1)(3)
snmpd扩展方法三: AgentX子代理协议
首先, 编写一个子代理主函数文件, ustMain.c. 如下:
1) #include; 2) #include ; 3) #include ; 4) int main () { 5) int agentx_subagent=1; 6) snmp_enable_stderrlog(); 7) if (agentx_subagent) { 8) ds_set_boolean(DS_APPLICATION_ID, DS_AGENT_ROLE, 1); 9) } 10) init_agent("ustMain"); 11) init_ustScalarSet(); 12) init_snmp("ustMain"); 13) if (!agentx_subagent) 14) init_master_agent(161, NULL, NULL); 15) while(1) { 16) agent_check_and_process(1); 17) } 18) snmp_shutdown("ustMain"); 19) }
按如下命令进行编译:
gcc -g -I/usr/local/include -o ustMain ustMain.c ustScalarSet.c -lucdagent -lucdmibs -lsnmp
生成子代理程序, ustMain.
在snmpd.config配置文件中加入一行:
master agentx
以支持AgentX子代理. 并重新启动snmpd.然后启动 ustMain.运行相应的工具程序, 测试是否可以访问新加入的MIB信息.
评论暂时关闭