Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4st1\:*{behavior:url(#ieooui) } /* Style Definitions */ table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Times New Roman";mso-ansi-language:#0400;mso-fareast-language:#0400;mso-bidi-language:#0400;}

mad-hacking下载相应的mib库包和工具包
http://www.mad-hacking.net/software/index.xml

http://downloads.mad-hacking.net/software/

需要下载snmpd-smartctl-connector-0.5.tar.bz2smartctl-snmp-mib-0.2.tar.bz2hacking-snmp-mib-0.1.tar.bz2snmpd-mdraid-connector-0.4.tar.bz2mdraid-snmp-mib-0.1.tar.bz2hacking-bash-lib-0.1.tar.bz2

二、如何使用mibs库制作动态链接库

1、先创建自定义mib文件TEST-MIB.txt,放在/usr/local/net-snmp/share/snmp/mibs

2echo "mibs +TEST-MIB" >>$HOME/.snmp/snmp.conf

       设置snmp开机启动:vi /etc/rc.local, 添加如下内容:

      SNMP_HOME=/usr/local/net-snmp/share/snmp

      SNMP_BIN_HOME=/usr/local/net-snmp/sbin

      SNMP_CONF_HOME=/root/.snmp

  $SNMP_BIN_HOME/snmpd-c $SNMP_HOME/snmpd.conf -c $SNMP_CONF_HOME/snmp.conf &

3、重启snmp服务。具体操作:ps-ef|grep snmpkill -9 snmppid

4、查看TEST-MIB文件结构,snmptranslate-IR -Tp testObjtestObjTEST-MIB库中定义的Ojbect

5、利用mib2c生成testObj.ctestObj.h文件:mib2c-c mib2c.scalar.conf testObj ;修改testObj.c文件;

6. 编写makefile,编译成testObj.so

CC=gcc

FLAGS=-I.`net-snmp-config --cflags` -g

DLFLAGS=-shared -fPIC -g

testObj.so: testObj.c

              $(CC)$(CFLAGS) $(DLFLAGS) -c -o testObj.o testObj.c

              $(CC)$(CFLAGS) $(DLFLAGS) -o testObj.so testObj.o

 

.PHONY : clean

clean :

              rm-f *.so *.o

 

7. 修改配置文件,加载动态库文件:vi /usr/local/net-snmp/share/snmp/snmpd.conf

   加入:dlmodtestObj ${testObj.so所在绝对路径}/testObj.so

   

8. 启动snmpd

/usr/local/net-snmp/sbin/snmpd -c/usr/local/net-snmp/share/snmp/snmpd.conf -c /root/.snmp/snmp.conf -f -d -L –DtestObj

 

三、如何是mad-hacking可以在Debian下使用

1.      安装net-snmp
snmp
包以及snmpd

2.      安装net-snmpmibs
需要将所需要的标准mibs库以及支持raiddiskmibs库添加进系统。所有mibs库需要存放在/usr/share/mibs/netsnmp目录下。

3.      修改/etc/snmp/snmpd.conf中某些信息
rocommunity public default -V systemonly
改成rocommunityhacking

添加以下两条信息于文件末尾

pass_persist .1.3.6.1.4.1.38696.2.1/usr/sbin/snmpd-smartctl-connector

pass_persist .1.3.6.1.4.1.38696.2.2/usr/sbin/snmpd-mdraid-connector

4.    /etc/snmp/snmp.conf添加某些信息

mibs +SMARTCTL-MIB

mibs +HACKING-SNMP-MIB

mibs +MD-RAID-MIB

5.      /usr/sbin/下添加某些shell脚本,并配置好权限
snmpd-mdraid-connector  snmpd-smartctl-connector

6.      /usr/lib/下添加某些shell脚本,并配置好权限
snmpd-connector-lib.sh  hacking-bash.sh

7.      /etc/下添加某些shell脚本,并配置好权限
snmpd-mdraid-connector  snmpd-smartctl-connector

8.      /usr/sbin/下添加某些shell脚本,并配置好权限

   update-smartctl-cache  update-mdraid-cache

9.    建立/etc/snmp/myso目录并将mdRaid.sosmartCtl.so放入其中

10.  修改/etc/init.d/snmpd脚本
在此shell脚本中判断输入值前(即case $1前)将SNMPDOPTS变量修改为“-Lsd -Lf /dev/null -p /var/run/snmpd.pid -DsmartCtl-DmdRaid”,以此使net-snmp可以调用smartCtlmdRaid的动态链接库。

11.  一旦发生disk操作或者raid操作
需要先修改/etc目录下的snmpd-mdraid-connectorsnmpd-smartctl-connector,然后再调用update-smartctl-cacheupdate-mdraid-cache,之后才可使用snmpwalk命令进行查询

09-20 22:53