下载并安装
Solaris9下安装net-snmp&MRTG 作者:gavinzhm 参考CU论坛中MRTG相关的精华贴 本文档的发布遵循 GPL, 任何人有权免费获得, 阅览, 转载和发布本文档, 不得用于任何形式的商业用途. 转载请注明出处 由于工作原因需要给客户的机器上安装MRTG监测相关服务器及网络设备 由于是第一次接触MRTG,所以参考了一下CU坛子中的一些精贴,因为时间很长,一年前做的这个项目 直到今年才有时间整理一下原来做的东西,闲话就说到这了 注:如果你监测的网络设备或是服务器很多,可以考虑用rrdtool --------------------------------------------------分割线-------------------------------------------------------- 服务器系统 solaris 9 sparc 版 MRTG与被监测机器在同一台机器上 例:硬盘分区结构(后面需要监测硬盘) / 1G /usr 10G /var 10G /opt 10G /export/home 10G 安装以下相关的软件依赖包 gcc-3.4.2-sol9-sparc-local.gz (这个可以不更新,按个人习惯) openssl-0.9.7e-sol9-sparc-local.gz gd-2.0.28-sol9-sparc-local.gz libpng-1.2.8-sol9-sparc-local.gz zlib-1.2.1-sol9-sparc-local.gz perl-5.8.5-sol9-sparc-local.gz libgcc-3.3-sol9-sparc-local.gz 以上依赖包是在一台刚装好系统的solaris上测试 solaris 9本身带有snmp,用的不太习惯,而且我一开始就没用这个 也发现过solaris 9身带的snmp给出的OID参数与net-snmp给出的OID参数不一致 所以先停掉原来运行的snmp cd /etc/rc3.d ./S76snmpdx stop ./S77dmi stop mv S76snmpdx s76snmpdx mv S77dmi s77dmi 可以从http://net-snmp.sourceforge.net/ 下载net-snmp 我原来用的是net-snmp-5.1.2.tar.gz ,现在已经更新到net-snmp-5.2.2.tar.gz gunzip < net-snmp-5.1.2.tar.gz |tar -xvf - cd net-snmp-5.1.2 ./configure make;make install ###软件全部安装后再一起配置### gunzip < apache_1.3.33.tar.gz |tar -xvf - 我安装的是这个比较老的版本~如果需要更新大家可以去apache网站上下载 ./configure (使用默认配置安装) make;make install mrtg安装可以选用sunfreeware上带的软件包,装起来比较简单,如果需要自己配置可以使用源码包安装 mrtg-2.10.15-sol9-sparc-local.gz 我安装的是这个版本 |
下面配置安装过的相关软件
net-snmp配置文件修改
#vi /usr/local/share/snmp/snmpd.conf ----无此文件就新建一个
-------------------------------------------------------------------------------------------------
com2sec notConfigUser default public
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
view all included .1
access notConfigGroup "" any noauth exact all none none
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
disk / 10000
disk /usr 100000
disk /var 100000
disk /opt 100000
disk /export/home 100000
-----------------------------------------------------------------------------------------------------
修改后启动snmpd
#/usr/local/sbin/snmpd
测试一下看看net-snmp是否配置成功
#snmpwalk -v 1 -c public localhost .1 (是否可以从.1开始采集服务器数据)
#snmpwalk -v 1 -c public localhost dskPercent.1 (看看刚配置过的硬盘监测是否成功)
建立MRTG生成文件所使用的目录
#mkdir -p /var/www/mrtg/net ; chmod 755 /var/www/mrtg/net
#/usr/local/mrtg-2/bin/cfgmaker public@x.x.x.x > /var/www/mrtg/net/mrtg.cfg (x.x.x.x被监测机器IP)
这样后可以生成自动监测网卡流量的MRTG图
/usr/local/mrtg-2/bin/mrtg /var/www/mrtg/mrtg.cfg (执行三次,为了更新一下MRTG生成的图片)
/usr/local/mrtg-2/bin/indexmaker /var/www/mrtg/mrtg.cfg --output=index.html (生成index.html页)
因为这台机器上的apache只做MRTG显示用,所以修改如下
#vi /usr/local/apache/conf/httpd.conf
- DocumentRoot "/var/www/mrtg"
/usr/local/apache/bin/apachectl start
--------------------------------------------------分割线--------------------------------------------------------
net-snmp&MRTG安装配置完成
可以访问一下机器IP看一下MRTG生成的图片
--------------------------------------------------分割线--------------------------------------------------------
以下是我监测服务器硬盘的代码,如果分区很多的话,可以再添加
把下面的代码加入到mrtg.cfg文件中
- LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt
- Target[disk]:dskPercent.1&dskPercent.2:public@192.168.100.1
- RouterUptime[disk]: public@192.168.100.1
- MaxBytes[disk]: 100
- Title[disk]: DISK USAGE
- PageTop[disk]: <H1>DISK / and /usr Usage %</H1>
- Unscaled[disk]: ymwd
- ShortLegend[disk]: %
- YLegend[disk]: DISK Utilization
- Legend1[disk]: Root disk
- Legend2[disk]: /usr disk
- Legend3[disk]:
- Legend4[disk]:
- LegendI[disk]: Root disk
- LegendO[disk]: /usr disk
- Options[disk]: growright,gauge,nopercent
-------------------添加一个mib文件到mib库--------------------------
1. (一个mib文件如下文内容所示的JM-TEST-1-MIB.txt文件)A mibs file like JM-TEST-1-MIB.txt. the following is the content.
JM-TEST-1-MIB DEFINITIONS ::= BEGINIMPORTS MODULE-IDENTITY, OBJECT-TYPE, INTEGER FROM SNMPv2-SMI;jmtest MODULE-IDENTITY LAST-UPDATED "200203210000Z" ORGANIZATION "Temple U" CONTACT-INFO "None yet." DESCRIPTION "AgentX testing MIB" REVISION "200203210000Z" DESCRIPTION "None yet." ::= { experimental 72}firstKey OBJECT-TYPE SYNTAX INTEGER (0..100) MAX-ACCESS read-write STATUS current DESCRIPTION "Value initialized to 0 and on each access: - Return current val. - increment" ::= { jmtest 1 }END
2.(复制mib文件到正确的位置)Copy the mib file to the correct locations
cp JM-TEST-1-MIB.txt /usr/local/share/snmp/mibs
3.(让snmp工具去注册mibs)Let the snmp tools to recognize the mibs
echo "mibs +JM-TEST-1-MIB" >> /usr/local/share/snmp/snmp.conf
4.Use the snmptranslate to verify if the mib is loaded.
snmptranslate -IR -Tp experimental
and should get the following show:
Unlinked OID in JM-TEST-1-MIB: jmtest ::= { experimental 72 }
+--experimental(3)
|
+--jmtest(72)
+-- -RW- INTEGER firstKey(1)
Range: 0..100