Linux下MRTG搭建实现对远程计算机的流量内存CPU端口连接数的监控.docx
- 文档编号:3565214
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:12
- 大小:184.84KB
Linux下MRTG搭建实现对远程计算机的流量内存CPU端口连接数的监控.docx
《Linux下MRTG搭建实现对远程计算机的流量内存CPU端口连接数的监控.docx》由会员分享,可在线阅读,更多相关《Linux下MRTG搭建实现对远程计算机的流量内存CPU端口连接数的监控.docx(12页珍藏版)》请在冰豆网上搜索。
Linux下MRTG搭建实现对远程计算机的流量内存CPU端口连接数的监控
Linux下MRTG搭建实现对远程计算机的流量、内存、CPU、端口连接数的监控
网上利用MRTG监控本机网卡流量的文章非常多,但对于监控远程计算机的文章相对就少很多了,能根据文章成功搭建的就更加少了。
搭建成功翻阅了大量资料文档,也遇到过各种复杂的问题,接下来我会把遇到的问题极其对策列出来,希望给大家带来帮助。
首先介绍下我的系统环境:
RHEL6.0. 语言中文坏境。
另外也用CentOS5.5做过测试,但用RHEL6.0遇到的问题就比较多了,下面是以RHEL为例来讲解的。
MRTG服务器和被监控的都是这个系统。
MRTG服务器:
183.63.48.52
被监控的服务器:
183.63.48.52(本机)、183.63.48.55、183.63.48.36、183.63.48.35
为了解决依赖包关系,我用网易163做网络YUM源,下面是详细的操作步骤:
1.RHEL6使用CentOS6的yum源
1.1RHEL6中卸载自身yum
#rpm-aq|grepyum|xargsrpm-e–nodeps
这一步我真没用过,我拿到的服务器中文系统RHEL6.0和测试的纯英文CentOS5.5、纯英文RHEL6.0都是未搭建YUM的。
我是直接从第二步开始。
1.2下载centos6相关包
1.#wget
2.#wget
3.#wget
4.#wget
1.3安装
1.# rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
2.# rpm -ivh yum-metadata-parser-1.1.2-14.1.el6.x86_64.rpm
3.# rpm -ivh yum-3.2.27-14.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm
1.4、复制centos6中的repo到RHEL6
新建文件/etc/yum.repos.d/CentOS-Base.repo
REHL6#Vim/etc/yum.repos.d/CentOS-Base.repo
下面是网易163的源:
#CentOS-Base.repo
#
#ThisfileusesanewmirrorlistsystemdevelopedbyLanceDavisforCentOS.
#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe
#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand
#geographicallyclosetotheclient. YoushouldusethisforCentOSupdates
#unlessyouaremanuallypickingothermirrors.
#
#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe
#remarkedoutbaseurl=lineinstead.
#
#
[base]
name=CentOS-$releasever-Base
baseurl=
gpgcheck=1
gpgkey=
#releasedupdates
[updates]
name=CentOS-$releasever-Updates
baseurl=
gpgcheck=1
gpgkey=
#packagesused/producedinthebuildbutnotreleased
#[addons]
#name=CentOS-$releasever-Addons
#baseurl=
#gpgcheck=1
#gpgkey=
#additionalpackagesthatmaybeuseful
[extras]
name=CentOS-$releasever-Extras
baseurl=
gpgcheck=1
gpgkey=
#additionalpackagesthatextendfunctionalityofexistingpackages
[centosplus]
name=CentOS-$releasever-Plus
baseurl=
gpgcheck=1
enabled=0
gpgkey=
把他们全部写进CentOS-Base.repo文件里就好了。
然后用下面的命令测试是否成功,反正我是Ok了
Rhel6#yumcleanall
Rhel6#yumlist
2.Linux下MRTG环境的搭建
MRTG服务器(183.63.48.52)下:
2.1)安装snmp,apache,mrtg
rpm-ivhnet-snmp*
rpm–ivhhttpd
rpm-ivhmrtg
2.1)编辑snmpd.conf,以配合mrtg
把下面的#号去掉
#viewmib2included.iso.org.dod.internet.mgmt.mib-2fc
把下面的语句
accessnotConfigGroup""anynoauthexactsystemviewnonenone
改成:
accessnotConfigGroup""anynoauthexactallnonenone
把下面的#号去掉80也删了
#viewallincluded.180
改成
viewallincluded.1
ok,接着重启下SNMPD服务:
servicesnmpdrestart
测试下snmpd
Snmpwalk–v2c–cpublic127.0.0.1system看有木有数值出现还是报错。
这一步貌似不会出错的。
没问题的话就直接把弄远程的网卡流量弄出来好了,然后慢慢添加进去对CPU、内存、TCP连接数的监控,远程的都弄好了,本机的你也该能举一反三弄出来了把。
当然实际操作的话,当然还是从本机开始弄。
MRTG服务器为183.63.48.52被监控的机器为183.63.48.35,我会在命令行的将他们区别开来分别用48.52#和48.35#
3.)48.35安装snmpd打开UDP161端口并且关闭Selinux,这里我直接将防火墙关了好了
48.35#yum–ivhnet-snmp*
48.35#serviceiptablesstop
48.35#setenforce0
然后在服务器上检测下是否有数据传递过来
48.52#snmpwalk–v2c–cpublic183.63.48.35system
按我的步骤应该会有数据产生的
4)有数据的话MRTG服务器新建/var/www/mrtg/net目录,并在其目录下生成.cfg,指定监控的IP为183.63.48.35
mkdir/var/www/mrtg/net/
cfgmaker--output=/var/www/mrtg/net/48.52.cfgpublic@183.63.48.35
5.)编辑48.35.cfg文件,更改WorkDir为/var/www/mrtg/net
WorkDir:
/var/www/mrtg/net
加入中文支持
Language:
Chinese
6)Apache把待会要生成的MRTG网站挂上去编辑/etc/httpd/conf/httpd.conf配置文档
Alias/mrtg"/var/www/mrtg/net/"
OptionsIndexesFollowSymLinksMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
找到这行:
AddDefaultCharsetISO-8859-1
更改为:
AddDefaultCharsetGB2312
或者加一个虚拟主机:
加入
80> #ServerAdminwebmaster@ AddDefaultCharsetGB2312 DocumentRoot/var/www/mrtg/net/ ServerName ErrorLoglogs/-error_log #CustomLoglogs/-access_logcommon
7)重启httpd
servicehttpdrestart
8)执行envLANG=Cmrtg/var/www/mrtg/net/48.52cfg,执行三遍到不再报警
9)用indexmaker制作48.35.html页面,存放路径为/var/www/mrtg/net/,title为183.63.48.35
indexmaker--output=/var/www/mrtg/net/48.52html--title=183.63.48.35/var/www/mrtg/net/48.35.cfg
接着用IP或者域名去访问下是否有图显示出来
http:
//183.63.48.52/48.35.html
10)在crontab中加入在网卡流量的监控,每5分钟执行一次
Crontab–eby:
83917378@
*/5****envLANG=Cmrtg/var/www/mrtg/net/48.35.cfg
183.63.48.35的网卡流量就会出来了,
11)接下来是加入对183.63.48.35的CPU的监控
11.1)48.35上编写cpu监控的脚本我把这脚本放在家目录了
48.35#Vim/root/cpu.sh
#!
/bin/sh
sar-u13|grep"Average"|awk'{print$3}'
sar-u13|grep"Average"|awk'{print$5}'
分别输出的是用户和系统占用的CPU百分比我装的是中文系统输出的是中文平均时间而不是Average,所以要改变下语言环境:
48.35#exportLANG=en_US.UTF-8
检测脚本输出正常没问题后还要编写48.35的snmpd.conf配置文件
加入:
exec.1.3.6.1.4.1.2021.53cpu/bin/sh/root/cpu.sh
网上95%给出的是这条语句,这条语句很奇怪,在RHEL6.0下即使在本机下也不会输出任何值而我的CentOS5.5却可以。
RP?
不过测试确实是这样。
怎么办?
Q83917378这时你就不得不赞叹本人的英明神武。
用另外一条语句来代替
Extend.1.3.6.1.4.1.2021.53cpu/bin/sh/root/cpu.sh
保存重启snmpd
48.35#servicesnmpdrestart
然后分别在35和52俩台机器上进行测试:
48.35#snmpwalk–v2c–cpublic183.63.48.35.1.3.6.1.4.1.2021.53
成功的话只要你有打开端口关闭selinux基本上MRTG服务器就能取到值了
48.52#snmpwalk–v2c–cpublic183.63.48.35.1.3.6.1.4.1.2021.53
这个截图少许有些不一样,发现没有我的脚本其实是
Extend.1.3.6.1.4.1.2021.53cpu/bin/cat/home/admin/a
因为我用Extend.1.3.6.1.4.1.2021.53cpu/bin/sh/root/cpu.sh
无论是本机还是MRTG服务器有取到空值的情况即
11.1)在中加入对cpu的监控设定,加入:
Target[cpu],即mrtg执行时从snmpwalk-v2c-cpublic183.62.48.35.1.3.6.1.4.1.2021.51|grep51.4.|awk-F\"'{print$2}'的返回值中取值“3.25”“1.84”是“”“”这个状态没有数值在里面
我找不到愿意只好把脚本cpu.sh改成
#!
/bin/sh
sar-u13|grep"Average"|awk'{print$3}'>/home/admin/a
sar-u13|grep"Average"|awk'{print$5}'>>/home/admin/a
然后用计划任务每5分钟执行一次/bin/sh/root/cpu.sh
将值输出到/home/admin/a文件中
48.35的snmpd.conf用
Extend.1.3.6.1.4.1.2021.53cpu/bin/cat/home/admin/a
在48.52上
将生成的48.35.cfg打开
11.2)加入:
MaxBytes[···],即图表纵向数值的最大上限为100
11.3)加入:
Options[···]:
gauge,nopercent,growright,即图表向右延展
11.4)加入:
YLegend[···],即图表纵向显示的标题为CPUloading(%)
11.5)加入:
ShortLegend[···],即在图标中数值后面所跟的单位
11.6)加入:
LegendI[···]和LegendO[cpu],即从脚本读取的第一个值和第二个值,第一个值统计CPUSYSTEM,第二个值统计CPUUSER
11.7)加入:
Title[···]:
即网页的标题,设定为CPUstateof183.63.48.35Server
11.8)加入:
PageTop[···]:
即网页显示的名称,设定为CPUloading
具体为
########################################################################
Target[183.62.48.35_3]:
`snmpwalk-v2c-cpublic183.62.48.35.1.3.6.1.4.1.2021.53|grep53.4.|awk-F\"'{print$2}'`
#Targey[127.0.0.1_2]:
memTotalReal.0&memAvailReal.0:
holdata@holdata.3322.org
Xsize[183.62.48.35_3]:
300
Ysize[183.62.48.35_3]:
100
Ytics[183.62.48.35_3]:
7
MaxBytes[183.62.48.35_3]:
100
Title[183.62.48.35_3]:
CPUStateof183.62.48.35Server
PageTop[183.62.48.35_3]:
CPUStateof183.62.48.35Server
ShortLegend[183.62.48.35_3]:
kmg[183.62.48.35_3]:
%
#kilo[127.0.0.1_2]:
1024
YLegend[183.62.48.35_3]:
CPUloading(%)
LegendI[183.62.48.35_3]:
CPUUSER:
LegendO[183.62.48.35_3]:
CPUSYSTEM:
Options[183.62.48.35_3]:
growright,gauge,nopercent
其中方括号内的183.62.48.35_3最后的3不要和网卡的不一样就可以了
然后保存,接着就是老几样了
48.35#envLANG=Cmrtg/vat/www/mrtg/net/48.35.cfg
48.35#Indexmake--output=/var/www/mrtg/net/48.52html--title=183.63.48.35/var/www/mrtg/net/48.35.cfg
然后刷新下网页就可以看到了
内存和Tcp/ip连接数的代码附上
内存:
#!
/bin/sh
a=`free-m|grepMem|awk'{print$3}'`
b=`free-m|grepMem|awk'{print$2}'`
echo$a
echo$b
80口连接数和httpd进程数
#!
/bin/sh
netstat-an|grep-i"3306"|wc-l
ps-ef|grephttpd|wc-l
48.35的snmpd文档加上
48.52的48.35.cfg文件加上
Target[183.63.48.35_5]:
`snmpwalk-v2c-cpublic183.62.48.35.1.3.6.1.4.1.2021.52|grep52.4.|awk-F\"'{print$2}'`
#gargey[183.63.48.35_5]:
memTotalReal.0&memAvailReal.0:
holdata@holdata.3322.org
Xsize[183.63.48.35_5]:
300
Ysize[183.63.48.35_5]:
100
Ytics[183.63.48.35_5]:
7
MaxBytes[183.63.48.35_5]:
9000
Title[183.63.48.35_5]:
MemoryStateofServer
PageTop[183.63.48.35_5]:
MemoryStateofServer
ShortLegend[183.63.48.35_5]:
MB
kmg[183.63.48.35_5]:
MB
kilo[183.63.48.35_5]:
1024
YLegend[183.63.48.35_5]:
MemoryUsage
LegendI[183.63.48.35_5]:
Memoryused
LegendO[183.63.48.35_5]:
Memorytatol
Options[183.63.48.35_5]:
growright,gauge,nopercent
#################################################################
Target[183.62.48.35_6]:
`snmpwalk-v2c-cpublic183.62.48.35.1.3.6.1.4.1.2021.51|grep51.4.|awk-F\"'{print$2}'`
#Targey[183.62.48.35_5]:
memTotalReal.0&memAvailReal.0:
holdata@holdata.3322.org
Xsize[183.62.48.35_6]:
300
Ysize[183.62.48.35_6]:
100
Ytics[183.62.48.35_6]:
7
MaxBytes[183.62.48.35_6]:
1000
Title[183.62.48.35_6]:
THEnumberoftcpconnnectforServer
PageTop[183.62.48.35_6]:
ThenumberofTCPconnecterforServer
ShortLegend[183.62.48.35_6]:
kmg[183.62.48.35_6]:
times
#kilo[183.62.48.35_6]:
1024
YLegend[183.62.48.35_6]:
No.ofconnected
LegendI[183.62.48.35_6]:
port80
LegendO[183.62.48.35_6]:
httpdprocessnumber
Options[183.62.48.35_6]:
growright,gauge,nopercent
这是我最后的效果图,我自己做了一个首页index.html
完成。
Copy的也累了把额外赠送给你vim的替换命令:
:
1,$s/183.63.48.35_3/127.0.0.1/g
含义将183.62
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux MRTG 搭建 实现 远程 计算机 流量 内存 CPU 端口 连接 监控