LR通过snmp监控linux资源

上一篇 / 下一篇  2010-01-21 10:27:29 / 个人分类:LR

LR通过snmp监控linux资源

1.安装snmp

*******

A.有些操作系统Red Hat 4自带snmp,所以可以不用再安装;其中snmpdsnmpd.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-5.4.1.tar.gz上传到服务器中,一般可以放在/usr/local目录下

 

tar zxvf net-snmp-5.4.1.tar.gz
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.29

snmpwalk -v 1 -c public localhost system

显示如下信息:

SNMPv2-MIB::sysDescr.0 = STRING: Linux 228zzytest 2.6.9-78.ELsmp #1 SMP Wed Jul 9 15:39:47 EDT 2008 i686
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.lalibbeecrypt.so等共享库
解决办法:

如果确认系统中有libbeecrypt.la,也许他安装在/usr/local下面,可尝试:

ln -s /usr/local/lib/libbeecrypt.la /usr/lib/libbeecrypt.la

如果/usr/local下面没有,那么你必须安装beecrypt

rpm安装beecrypt-devel或者用源码安装beecrypt

这个地方有些系统会报错,按照解决办法可以解决,我下载是这个版本:beecrypt-4.2.1.tar.gz,直接按以下步骤安装即可:

tar zcvf beecrypt-4.2.1.tar.gz

cd beecrypt-4.2.1

./configure

Make

Make install

 

再重新make

cd /usr/local/net-snmp-5.4.2.1

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-5.4.2.1

make clean

make

我安装的过程解决以上两个问题后,成功安装

安装完成后,snmpd路径为/usr/local/sbin

 

以下两个问题如有碰到可以尝试使用以下方法解决

3
安装elfutils时出现错误:/usr/local/bin/ld: unrecognized option `--eh-frame-hdr'
网上说是gccld不兼容的问题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  .1.3.6.1.2.1

view   systemview   included  .1.3.6.1.2.1.1

view   systemview   included  .1.3.6.1.2.1.25.1.1

 

####

# 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对象窗口中显示所需要的列表项

注:

如果snmp5.5的版本,可通过命令snmp -c /usr/local/etc/snmpd.conf来指定读取snmpd.conf文件目录,其中/usr/local/etc/snmpd.conf文件存放的绝对路径,根据实际路径输入

3. LR中添加snmp监控

1)控制场景-RUN-添加SNMP到监控窗口:

2)在SNMP到监控窗口点击右键添加度量,添加服务器和mysqlPID

添加PID的路径:

执行:snmpwalk -v 2c 127.0.0.1 -c public .1.3.6.1.2.1.25.2.3.1查看PID对应信息;

内存信息对应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

注:其中值1.3.6.1.2.1.25.2.3.1可以根据你想查看列表项信息而改变

Mysql

 

查找MYSQLDPID

ps -e|grep mysql

 

Mysql占用的CPU,监控添加路径为:

mgmt~mib-2~host~hrSWRunPerf~ hrSWRunPerf table~ hrSWRunPerf Entry- hrSWRunPerf CPU~mysqlPID

TAG:

 

评分:0

我来说两句