RHEL4U5如何搭建网络检测服务SNMP

这篇文章给大家分享的是有关RHEL4U5如何搭建网络检测服务SNMP的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联是一家集网站建设,南郑企业网站建设,南郑品牌网站建设,网站定制,南郑网站建设报价,网络营销,网络优化,南郑网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

使用的系统为RHEL4U5,本机IP地址为192.168.1.100  

1.请确保你的系统安装了以下软件包  

[root@zone src]# rpm -qa |grep snmp
net-snmp-5.1.2-11.EL4.10
net-snmp-utils-5.1.2-11.EL4.10
net-snmp-devel-5.1.2-11.EL4.10
net-snmp-libs-5.1.2-11.EL4.10  

注意系统有可能会提示你装
beecrypt-devel-3.1.0-6.i386.rpm
elfutils-devel-0.97.1-4.i386.rpm
elfutils-libelf-devel-0.97.1-4.i386.rpm
这些文件分别在第二张和第四张盘中。  

2.修改/etc/snmp/snmpd.conf  

   

去掉如下一行的注释
view mib2  included .iso.org.dod.internet.mgmt.mib-2 fc  

   

在大约55行处添加如下一行
view   systemview   included  .1.3.6.1.2.1.2  

   

把如下行
access notConfigGroup ""     any      noauth   exact systemview none none
改作:
access notConfigGroup ""     any      noauth   exact mib2 none none  

   

3.启用snmpd服务  

#service snmpd start
#chkconfig --levle 2345 snmpd on  

   

4.查看端口的开启状况  

# netstat -tunlp |grep snmp
tcp       0     0 0.0.0.0:199            0.0.0.0:*              LISTEN     4973/snmpd         
udp       0     0 0.0.0.0:161            0.0.0.0:*              4973/snmpd     

   

二、MRTG生成供浏览图像需要httpd服务的支持,同时也需要gd、libpng和zlib三个软件包的支持,而gd的正常运行也需要其它的几个软件,下面一并安装它们。  

# rpm -qa | grep libpng
libpng-1.2.7-1
libpng10-1.0.16-1
libpng10-devel-1.0.16-1
libpng-devel-1.2.7-1  

# rpm -qa | grep ^libxml
libxml2-python-2.6.16-6
libxml2-devel-2.6.16-6
libxml2-2.6.16-6  

# rpm -qa | grep ^gd-
gd-2.0.28-4
gd-devel-2.0.28-4  

# rpm -qa | grep jpeg
libjpeg-6b-33
libjpeg-devel-6b-33  

# rpm -qa | grep zlib
zlib-1.2.1.2-1.2
zlib-devel-1.2.1.2-1.2  

# rpm -qa | grep freetype
freetype-2.1.9-1
freetype-devel-2.1.9-1  

我的已经安装过了,如果没有请根据自己的情况查漏补缺  

请确保你的软件包的版本号等于或高于以上显示的版本  

三、安装配置MRTG  

   

1.下载mrtg,目前最新版本为mrtg-2.15.2.tar.gz  

#tar zxvf mrtg-2.15.2.tar.gz
# cd mrtg-2.15.2  

# ./configure --prefix=/usr/local/mrtg --sysconfdir=/etc/mrtg --with-gd=/usr/local/gd2/include --with-gd-lib=/usr/local/gd2/lib --with-gd-inc=/usr/local/gd2/include --with-png=/usr/local/include --with-png-lib=/usr/local/lib --with-png-inc=/usr/local/include --with-zlib=/usr/local/zlib/include --with-zlib-lib=/usr/local/zlib/include --with-zlib-inc=/usr/local/zlib/include  

# make
# make install  

3.基本配置

 

生成主配置文件
#/usr/local/mrtg/cfgmaker     public@localhost     > /etc/mrtg/mrtg.cfg

 

编辑/etc/mrtg/mrtg.cfg

#WorkDir:/home/http/mrtg
去掉注释并改为
WorkDir: /usr/local/apache/htdocs/mrtg  (此处是你的httpd默认的主目录)

 

去掉如下行的注释
# Options[_]: growright, bits

 

添加如下行,实现网页中的中文字符显示
Language:gb2312

 

生成MRTG网页主页面文件
#/usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/usr/local/apache/htdocs/mrtg/index.html --title="My MRTG"

 

4.启动MRTG

#env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg
这个命令会输出一些错误信息,一般可以安全忽略,连续执行三次此命令即可。

 

5.MRTG生成的web页面是静态的,为了能让其不断的刷新,需要将以上命令添加进crontab
#crontab -e
添加如下一行
*/3 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg.cfg

注:此行表示每三分钟刷新一次,你可以根据自己的需要修改刷新时间间隔。

 

6.安装完毕,可以去查看结果了,在浏览器输入形如以下地址
    http://192.168.1.100/mrtg       (IP地址为你的机器IP)

四、一个示例:内存使用监视

 

1.新建一个存放脚本的文件夹
#mkdir -pv /usr/local/apache/htdocs/mrtgsh

 

2.建立脚本文件
#vi /usr/local/apache/htdocs/mrtgsh/mrtg.memory
添加如下脚本:
#!/bin/bash
# run this script to check the mem usage.
totalmem=`/usr/bin/free |grep Mem |awk '{print $2}'`
usedmem=`/usr/bin/free |grep Mem |awk '{print $3}'`
UPtime=`/usr/bin/uptime | awk '{print $3""$4""$5}'`
echo $totalmem
echo $usedmem
echo $UPtime

让其具有运行权限
#chmod 755 /usr/local/apache/htdocs/mrtgsh/mrtg.memory

 

3.编辑/etc/mrtg/mrtg.cfg
添加如下内容
Target[memory]: `/usr/local/apache/htdocs/mrtgsh/mrtg.memory`
MaxBytes[memory]: 4096000
Title[memory]:Memory Usages
ShortLegend[memory]: &
kmg[memory]:kB,MB
kilo[memory]:1024
YLegend[memory]:   Memory Usage :
Legend1[memory]:   Total Memory :
Legend2[memory]:   Used Memory :
LegendI[memory]:   Total Memory :
LegendO[memory]:   Used Memory :
Options[memory]: growright,gauge,nopercent
PageTop[memory]:

Memory Usages

 

4.重新生成主页面文件
#/usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/usr/local/apache/htdocs/mrtg/index.html --title="My MRTG"

 

5.可根据情况重新启动MRTG,然后就可以查看效果了。

RHEL4U5如何搭建网络检测服务SNMP    

侦测CPU负载量    

建立脚本mrtg.cpu    

#!/bin/bash
 cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`
 cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
 UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
 echo $cpuusr
 echo $cpusys
 echo $UPtime
 echo      www.zhang.org      这里写上你主机名称。    

     

#vi /etc/mrtg/mrtg.cfg    

添加如下内容    

Target[localhost]: `/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
MaxBytes[localhost]: 100
Options[localhost]: gauge, nopercent, growright
YLegend[localhost]: CPU loading (%)
ShortLegend[localhost]: %
LegendO[localhost]:   CPU 使用者負載;
LegendI[localhost]:   CPU 純系統負載;
Title[localhost]: CPU ?t???v
PageTop[localhost]:

VBird 主機 CPU 負載率


 
      
 
System:RedHat 6.1 in Linux Kernel 2.2.19
   

     

     

同样我们也可以即时侦测上线人数    

建立脚本mrtg.person.sh    

#!/bin/bash
# 这个程式主要在计算有多少人以 WWW 的方式连进我们的主机!
# 1. 计算连线数目
echo `netstat -a | grep www|awk '{print $5}'|sort | wc -l|awk '{print$1 - 1}'`
# netstat -a | grep www|awk '{print $5}'|sort| uniq 
# 2. 计算连线人数:
echo `netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq |wc -l | awk '{print $1 - 1}'`
# netstat -a | grep www|awk '{print $5}'|cut -d":" -f1|sort| uniq 
# 3.输出时间
 UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
 echo $UPtime
 echo your.host.name    

     

#vi /etc/mrtg/mrtg.cfg    

添加如下内容    

### CPU Loading detecting ...
Target[tsai.adslDNS.org_person]: `/usr/local/mrtg-2/bin/mrtg.person.sh` <==档案放置的路径与名称
MaxBytes[tsai.adsldns.org_person]: 500
Options[tsai.adsldns.org_person]: gauge, nopercent, growright
YLegend[tsai.adsldns.org_person]: Online Users
ShortLegend[tsai.adsldns.org_person]: %
LegendI[tsai.adsldns.org_person]:   连线数目 :
LegendO[tsai.adsldns.org_person]:   上线人数 :
Title[tsai.adsldns.org_person]: WWW 上线人数统计表
PageTop[tsai.adsldns.org_person]:

WWW 主机上线人数


 
   
  
 
System:Aerosol Lab. in Redhat 6.1 Kernel 2.2.18
Maintainer: VBird
   

注意要重新生成页面文件,重启mrtg……    

如图显示:    

RHEL4U5如何搭建网络检测服务SNMP    

以下是一个apache连接的例子      
     
  首先再mrtg.cfg里加入apache连接的配置段      
     
  Target[apache_conn]: `/bin/mrtg.apa.pl`      
     
  Options[apache_conn]: gauge,nopercent,growright      
     
  Directory[apache_conn]:apache_conn      
     
  MaxBytes[apache_conn]: 4000      
     
  YLegend[apache_conn]: apache连接数      
     
  ShortLegend[apache_conn]: 个      
     
  LegendI[apache_conn]: apache总连接数:      
     
  LegendO[apache_conn]: apache当前连接数      
     
  Title[apache_conn]: apache连接数      
     
  PageTop[apache_conn]:

apache连接数

     
     
  Target指的是mrtg从那里取画曲线的值,此处可以从snmp和脚本取值,如从脚本取值需注意,需要前后用`来指定脚本路径而不是' .      
     
  []指这个配置段的名称,这里为apache_conn,届时会在mrtg的workdir里建立同名的目录      
     
  Maxbytes指mrtg取值后能表现的最大值      
     
  YLegend指再图标中纵向的名称      
     
  ShortLegend指在图标中数值后面所跟的单位      
     
  LegendI 传递过去的第一个值      
     
  LegendO 传递过去的第二个值      
     
  Title 网页title      
     
  Pagetop 网页显示名称      
     
  mrtg.apa.pl      
     
  #!/usr/bin/perl      
     
  $hostname=`hostname`;      
     
  $hostname=~s/\s+$//;      
     
  $apache_all_conn=`netstat -an|grep 192.168.0.1:80|wc -l`;      
     
  $apache_conn=`netstat -an|grep 192.168.0.1:80|grep ESTABLISHED|wc -l`;      
     
  $apache_all_conn=~s/\n$//;      
     
  $apache_conn=~s/\n$//;      
     
  $apache_all_conn=~s/^\s+|\s+$//;      
     
  $apache_conn=~s/^\s+|\s+$//;      
     
  $gettime=`uptime|awk '{print \$1" "\$3" "\$4}'`;      
     
  $gettime=~s/\,|\n$//g;      
     
  print("$apache_all_conn\n");      
     
  print("$apache_conn\n");      
     
  print("$gettime\n");      
     
  print("$hostname\n");      
     
  以上脚本为perl编写,由于apache的连接可以使用netstat查看,所以我用里一个简单的shell命令组合来获取apache的总连接数和当前建立连接的连接数.      
     
  需要注意以下几点      
     
  1) 使用命令传递值给mrtg时,mrtg只能接受4个参数,真正用于画图的只有2个      
     
  2) 4个参数必须依次为 值1,值2,运行时间,主机名      
     
  3) 4个参数后不得有\n等换行符      
     
  由于mrtg.cfg的改变,所以必须依次使用以下命令      
     
  /usr/local/mrtg/bin/indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg      
     
  使用mrtg的indexmaker重生成index.html文件,否则你无法看到新加入的apache连接的监控.      
     
  /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg      
     
  使用mrtg命令传入数值,同样会报3次错,忽略即可      
     
  再打开浏览器,输入地址,应该可以看到首页除了网卡的流量外再下方会加入apache连接的图      
     
  确认无误后,可再/etc/mrtg.cfg里加入      
     
  RunAsDaemon: Yes      
     
  在使用一次      
     
  /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg      
     
  mrtg就会使用daemon方式运行      
     
  你以后要做的只是每次使用浏览器看看图就可以了,是不是很轻松

感谢各位的阅读!关于“RHEL4U5如何搭建网络检测服务SNMP”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前名称:RHEL4U5如何搭建网络检测服务SNMP
本文链接:http://myzitong.com/article/pepjee.html