Net-Snmp配置与基本入门学习笔记

近来接到了一个写snmp的任务,此前对snmp完全没有概念,当然现在也基本没有概念,百度,谷歌,bing等等各种搜索教程,终于有点突破,那么就先从最最基本的开始吧。


首先就是net-snmp的安装了:

我的环境是:

OSlinux

Arm-linux-gcc4.1.2

Net-snmp:v5.3.2

硬件:Target CPU:arm 9

目前个人并没有感觉到版本对操作的影响,下面就是尝试若干次后成功的过程,以供自己后期回忆:

1.有了net-snmp-5.3.2的源码包后就开始安装:

#./configure && make && make install

这里./configure配置的时候都选择为默认配置,当然也可以--prefix=指定安装路径等。需要等待一段时间,等安装完成后不要着急的make clean && make distclean,因为里面的东西也有要使用的。配置过程中会产生一些文件夹,具体解释如下图(来自网络)

Net-Snmp配置与基本入门学习笔记_第1张图片

2.在/usr/local/share/snmp/目录下,需要两个文件snmp.conf和snmpd.conf 配置文件,将源码目录下的EXAMPLE.cof拷贝到/usr/local/share/snmp/下改名为snmpd.conf

~#cp ../net-snmp-5.3.2/EXAMPLE.conf  /usr/local/share/snmp/snmpd.conf

关于snmp.conf可以自己创建,先可以不写内容

~#vim snmp.conf

当然也可以通过snmpconf来创建,但是好复杂,初学习就先用简单的方法,复杂的方法以后再学习。

3.接下来就需要定义自己的私有MIB库了,官网上可以直接找NET-SNMP-TUTORIAL-MIB.txt 下载下来,或者已经有了现成的例子也可以直接使用,将已经有的MIB放到/usr/local/share/snmp/mibs/目录下

~# cp NET-SNMP-TUTORAIL-MIB.txt  /usr/local/share/snmp/mibs/

4.配置snmp.conf文件,加入自己的MIB库,语法为 MIBS +NET-SNMP-TUTORIAL-MIB.txt,snmp.conf文件是于mib库相关联的配置文件,没有的话mib2c无法运行

5.安装perl工具,也就是上面第四条提到的mib2c等等,是为了帮助开发人员开发的一些方便工具,当然可能也不是很方便。

进入源码目录如下操作:

~#perl Makefile.PL && make && make test && make install

等待安装完成,基本无什么错误,下面就可以使用mib2c工具了

6.用mib2c生成自己要使用的.c和.h文件(在这里卡住了好久)

首先要运行一条 ~# export MIBS+ALL 确保能够找到相关的库,否则会提示 can't find *****,或者直接加入到/etc/profile配置文件里去。


其次运行mib2c ~# mib2c ***(这里的*** 一定要注意,不能是NET-SNMP-TUTORIAL-MIB,开始的时候就这样卡了好几个小时,可以打开NET-SNMP-TUTORIAL.txt看一下里面的内容,


然后输入~#mib2c ***,之后就可以开始选择,选择完成后就会出现.c和.h了)

7.修改.c和.h,添加自己的功能代码

8.把修改好的代码放到源码目录的../net-snmp-5.3.2/agent/mibgroup/目录下。(好像也可以自己mkdir,后续继续研究)

9.重新编译源码了,编译的时候加入自己的MIB库,语法为如下图

注意:此为交叉编译, MyMib 为自己定义的mib库名(即mib文件的BEGIN前的名字),不是mib文件名

Sudo make LDFLAGS=”-all-static”

以上采用的为静态编译。


后面的未完待续。。。






你可能感兴趣的:(snmp配置与入门,net-snmp)