LR通过snmp监控linux资源
上一篇 / 下一篇 2010-01-21 10:27:29 / 个人分类:LR
LR通过snmp监控linux资源
1.安装snmp
*******
A.有些操作系统Red Hat 4自带snmp,所以可以不用再安装;其中snmpd和snmpd.conf的存放路径为:
/usr/sbin/snmpd
/etc/rc.d/init.d/snmpd //系统服务
/etc/snmp/snmpd.conf
启动snmpd方法:
任何目录直接输入snmpd命令即可
B.有些操作系统如CentOS安装时按照A~C的步骤即可成功安装;
*******
1)系统自带snmp,可以直接使用
2)安装rpm包(这种方式最好)
3)安装tar包
A.将net-snmp-
tar zxvf net-snmp-
cd net-snmp-5.4.1
./configure
这个过程中有很多地方设置相关的信息如日志的目录等,大部分可以直接回车形成默认设置,但第二个地方一定要输入版本,通常为2
make
make install
B.找不到snmpd.conf文件:
所有的包make通过.使用net-snmp*.tar.gz安装时,如果找不到snmpd.conf文件,可以在其解压目录下COPY一份EXAMPLE.conf到/usr/local/etc/snmp下,并改名为snmpd.conf
cp EXAMPLE.conf /usr/local/etc/snmp/snmpd.conf
注:如果按照A的步骤安装的,一般在/var/net-snmp目录下也会有snmpd.conf文件,但是snmpd实际是到/usr/local/etc/snmp目录下读取配置文件的,所以需要做上面的操作,建立snmp目录,拷贝生成snmpd.conf文件
vi /usr/local/etc/snmp/snmpd.conf
并把这句
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
改为
com2sec local localhostpublic
com2sec mynetwork192.168.146.0/24 public
//设置允许监控的网络,如lr客户端机器所在的网段为146段,则输入以上设置的值
C.启动snmpd服务:
cd /usr/local/sbin
./snmpd
注:如果按照A的步骤安装的,一般snmpd存放在/usr/local/sbin目录下,可以通过命令which snmpd查看安装完之后可执行
可以用以下命令测试是否启动成功:
查看服务是否启动:
ps –e|grep snmpd
27607 00:00:05 snmpd
或者通过以下方法:
snmpget -v 1 -c public localhost system.sysUpTime.0
显示如下信息:
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5849329) 16:14:53.29snmpwalk -v 1 -c public localhost system
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5853094) 16:15:30.94
SNMPv2-MIB::sysContact.0 = STRING: Me <me@somewhere.org>
SNMPv2-MIB::sysName.0 = STRING: 228zzytest
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
D.查看日志:
tail -f /var/log/snmpd.log
E.安装过程中有可能出现的错误:
1)
make时出现错误:cannot find the library `/usr/lib/libbeecrypt.la'
缺少libbeecrypt.la,libbeecrypt.so等共享库
解决办法:
如果确认系统中有libbeecrypt.la,也许他安装在/usr/local下面,可尝试:
ln -s /usr/local/lib/libbeecrypt.la /usr/lib/libbeecrypt.la
如果/usr/local下面没有,那么你必须安装beecrypt
rpm安装beecrypt-devel或者用源码安装beecrypt
这个地方有些系统会报错,按照解决办法可以解决,我下载是这个版本:beecrypt-
tar zcvf beecrypt-
cd beecrypt-
./configure
Make
Make install
再重新make:
cd /usr/local/net-snmp-
make clean
make
ln -s /usr/local/lib/libbeecrypt.la /usr/lib/libbeecrypt.la
下载路径:http://nchc.dl.sourceforge.net/sourceforge/beecrypt/beecrypt-4.2.1.tar.gz,在该文档的存放目录下已经有beecrypt-4.2.1.tar.gz包
2)
再次make时出现错误:/usr/bin/ld: cannot find -lelf
解决办法:ln -s /usr/lib/libelf.so.1 /usr/lib/libelf.so
或者解决办法:rpm安装elfutils-devel或者用源码安装elfutils
再回到net-snmp目录进行:
重新make:
cd /usr/local/net-snmp-
make clean
make
我安装的过程解决以上两个问题后,成功安装
安装完成后,snmpd路径为/usr/local/sbin
3)
安装elfutils时出现错误:/usr/local/bin/ld: unrecognized option `--eh-frame-hdr'
网上说是gcc和ld不兼容的问题ld版本低,不认识eh-frame-hdr
解决办法:安装binutils
4)
安装binutils出现错误:installation or configuration problem: C compiler cannot create executables
查看config.log,错误还是:
/usr/local/bin/ld: unrecognized option `--eh-frame-hdr'
GNU Binutils里面应该包含ld(the GNU linker).现在要装高版本的binutils来得到高版本的ld,但是这里安装Binutils时却需要
高版本的ld?
用"wheris ld"命令查看:
发现ld存在两个地方
/usr/local/bin/ld /usr/bin/ld
/usr/bin/ld能识别`--eh-frame-hdr'.
mv /usr/local/bin/ld /usr/local/bin/ld.bak
2.配置snmp
1)修改配置文件snmpd.conf中内容:
# sec.name source community
com2sec local 192.168.133.20 public //ip为监控服务器IP
com2sec mynetwork 192.168.146.0/24 public //设置允许监控的网络,如lr客户端机器所在的网段为146段,则输入以上设置
//这部分在上面如果已经做过就不用再修改
# context sec.model sec.level match read write notif
access MyROGroup "" any noauth exact all all none
access MyRWGroup "" any noauth exact all all none
#view all included .1
view systemview included .
view systemview included .
view systemview included .
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemviewnone none
//添加snmp监控时,snmp对象窗口中显示所需要的列表项
注:
如果snmp是5.5的版本,可通过命令snmp -c /usr/local/etc/snmpd.conf来指定读取snmpd.conf文件目录,其中/usr/local/etc/为snmpd.conf文件存放的绝对路径,根据实际路径输入
3. LR中添加snmp监控
1)控制场景-RUN-添加SNMP到监控窗口:
2)在SNMP到监控窗口点击右键添加度量,添加服务器和mysql的PID
添加PID的路径:
执行:snmpwalk -v 2c 127.0.0.1 -c public .
如内存信息对应PID:
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: Physical memory
HOST-RESOURCES-MIB::hrStorageDescr.3 = STRING: Virtual memory
HOST-RESOURCES-MIB::hrStorageDescr.6 = STRING: Memory buffers
HOST-RESOURCES-MIB::hrStorageDescr.7 = STRING: Cached memory
HOST-RESOURCES-MIB::hrStorageDescr.10 = STRING: Swap space
添加路径为:
mgmt~mib-2~host~hrStorageTable~hrStorageEntry-hrStorageUsed~对应的PID
注:其中值
Mysql:
查找MYSQLD的PID:
ps -e|grep mysql
Mysql占用的CPU,监控添加路径为:
mgmt~mib-2~host~hrSWRunPerf~ hrSWRunPerf table~ hrSWRunPerf Entry- hrSWRunPerf CPU~mysql的PID
TAG: