您当前的位置: 首页 > 服务器教程 > Linux教程 > linux系统下安装mrtg监控工具

linux系统下安装mrtg监控工具

作者:不详 来源:网络 发布时间: 2014-07-04 16:48 点击:
MRTG全名Multi Router Traffic Grapher。是一个用来监控网络链路流量负载的工具软件, 该软件通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。 一、安装准备 (1)MRTG需要以SNMP服务为基础

linux系统下安装mrtg监控工具

  MRTG全名Multi Router Traffic Grapher。是一个用来监控网络链路流量负载的工具软件,

  该软件通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。

  一、安装准备

  (1)MRTG需要以SNMP服务为基础,所以请确保你的系统已经启用了此服务,修改SNMP的配置:

  vi /etc/snmp/snmpd.conf

  # 将62行:

  access notConfigGroup "" any noauth exact systemview none none

  # 改为

  access notConfigGroup "" any noauth exact mib2 none none

  # 把第89行前面的注释符号#去掉,变成

  view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc

  (2)linux Mrtg监控主机流量启动http服务和snmp服务:

  首先查看两个服务在系统启动时是否已经开启

  #chkconfig --list | grep nginx

  没有启动的话需要修改下在什么启动模式下要自己启动:

  # chkconfig --level 35 nginx on

  对 snmpd 服务采用同样的设置,现在手动启动下

  #service nginx start

  #service snmpd start

  启动之后最好是用setup配置服务,让其随机自动启动

  查看端口的开启状况也可确认其是否已经被启动

  # 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

  (3)MRTG生成供浏览图像需要http服务的支持,同时也需要gd、libpng和zlib三个软件包的支持,而gd的正常运行也需要其它的几个软件,(系统默认自带,如果没有自带则需要我们手工安装)

  1.安装zlib-1.2.3

  tar zxvf zlib-1.2.3.tar.gz

  cd zlib-1.2.3

  ./configure --prefix=/usr/local/zlib

  make

  make install

  2.安装httpd-2.2.4

  tar zxvf httpd-2.2.4.tar.gz

  cd httpd-2.2.4

  ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-track-vars --enable-rewrite --with-z-dir=/usr/local/zlib

  make

  make install

  启动httpd

  /usr/local/apache/bin/apachectl -k start

  3.安装libpng-1.2.14

  tar zxvf libpng-1.2.14.tar.gz

  cd libpng-1.2.14

  cp scripts/makefile.linux makefile

  make

  #(若是提示找不到zlib库文件或者头文件,多半是makefile文件里zlib的默认路径有误。可编辑makefile文件,找到zlib项并重新指定路径到/usr/local/zlib/lib和/usr/local/zlib/include)。

  make install

  4.安装freetype-2.1.10

  tar -zvxf freetype-2.1.10.tar.gz

  cd freetype-2.1.10

  mkdir -p /usr/local/freetype

  ./configure --prefix=/usr/local/freetype

  make;make install

  5.安装jpegsrc.v6b

  jpeg默认不会自建目录,因此需手动建立目录:

  mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/{,man1},man1}

  安装

  tar zxvf jpegsrc.v6b.tar.gz

  ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

  make

  make install

  make install-lib

  6.安装libxml2-2.6.19

  tar -zxf libxml2-2.6.19.tar.gz

  cd libxml2-2.6.19

  mkdir -p /usr/local/libxml2

  ./configure --prefix=/usr/local/libxml2

  make; make install

  cp xml2-config /usr/bin

  7.安装GD-2.0.33库

  tar -zvxf gd-2.0.33.tar.gz

  mkdir -p /usr/local/gd2

  cd gd-2.0.33

  ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/lib/ --with-zlib=/usr/local/zlib/ --with-freetype=/usr/local/freetype/

  make

  make install

  (4)修改系统语言配置

  vi /etc/profile

  # 增加如下两行

  LC_ALL=C

  LANGUAGE=on

  二、正式安装

  (1)开始安装mrtg

  cd /usr/local/src

  wget http://oss.oetiker.ch/mrtg/pub/mrtg-2.14.5.tar.gz

  tar zvxf mrtg-2.14.5.tar.gz

  cd mrtg-2.14.5

  ./configure --prefix=/usr/local/mrtg 注意:“--prefix=/usr/local/mrtg”

  # 是指定的安装路径

  make

  make install

  (2)配置MRTG

  首先为mrtg的主页在web目录下建立一个目录,假如web目录是:/home/wwwroot/

  在此目录下新建目录mrtg和sh即:

  cd /home/wwwroot/

  mkdir mrtg

  cd mrtg

  mkdir sh

  如果路径嫌长感到不方便的话可以建立软连接:

  cd /

  ln –s /home/wwwroot/mrtg _mrtg

  ln –s /usr/local/mrtg/bin _mrtgbin

  把一些图片複製过去

  cd /usr/local/src/mrtg-2.14.5 //进入mrtg安装目录

  cp ./images/*.* /_mrtg/

  然后需要创建一个配置文件:

  #/_mrtgbin/cfgmaker public@改成本机IP --output=/_mrtg/lxy.cfg

  修改配置文件:

  #vi /_mrtg/lxy.cfg

  将 #WorkDir:/home/http/mrtg 去掉注释并改为 WorkDir: /home/wwwroot/mrtg (此处是MRTG的WEB目录)

  将 #Options[_]: growright, bits 前面的#去掉,靠左对齐

  在最后加上Language: big5,然后保存

  (3)测试配置档(如果出错就多测几次)

  LANG=C /_mrtgbin/mrtg /_mrtg/lxy.cfg

  (4)根据下方的说明建立sh和pl档桉,然后修改.sh档桉让其可执行(.sh档桉内容在下方)

  cd /_mrtg/sh

  chmod 0755 *

  (5)生成MRTG网站首页文件:已在root目录下

  /_mrtgbin/indexmaker --output=/_mrtg/index.html --title="Lidalin's MRTG" /_mrtg/lxy.cfg

  (6)接下来运行程序

  /_mrtgbin/mrtg /_mrtg/lxy.cfg

  # 有的人用这种方法启动

  env LANG=C /_mrtgbin/mrtg /mrtg/lxy.cfg

  如果有警告或错误,则多运行几次,当警告或错误不再出现时就OK了

  (7)MRTG生成的web页面是静态的,为了能让其不断的刷新,需要将以上命令添加进crontab

  crontab -e

  # 添加如下一行

  */1 * * * * /_mrtgbin/mrtg /_mrtg/lxy.cfg

  保存,然后reboot

  打开浏览器,输入 http://改成本机IP/mrtg 应该就可以看到网络使用情况的曲线了,一分钟后再看比较准确!

  注意:如果你设置了中级防火墙而又没有开启80端口访问,需要编辑/etc/sysconfig/iptables允许别人访问80端口

  三、mrtg.cfg 里面参数的意思

  Target:是要执行的脚本

  Xsize:生成图表的横向宽度(最大600)

  Ysize:生成图表的纵向高度(最大200)

  Title:标题

  kmg: Change the default multiplier prefixes

  Ytics:纵向划分为几个块(格子)

  MaxBytes:图表纵向数值的最大上限

  PageTop:页面上面的提示

  kilo:一般是写1024,如果需要的话,是1000在计算机里的单位

  LegendI:从SHELL返回的数据中的第一个

  LegendO:从SHELL返回的数据中的第二个

  Options: growright,表示图表向右延展

  四、配置其他范例

  注意:修改了配置一定要重设第二大步骤中的第(3)(4)(5)(6)步骤

  其他配置的部份均放入此资料夹下

  cd /_mrtg/sh

  (1)监视内存使用状况

  建立脚本文件

  vi mem.sh

  添加(步骤五的)脚本:

  保存后要让其具有执行权限

  chmod 0755 /_mrtg/sh/*

  (2)编辑/mrtg/lxy.cfg并添加(步骤五的)内容:

  五、各个SHELL(修改了配置之后要重新生成首页,然后重启)

  (1)MEMORY:mem.sh

  #!/bin/bash

  # This script to monitor the mem usage.

  totalmem=`/usr/bin/free |grep Mem |awk '{print $2}'`

  usedmem=`/usr/bin/free |grep Mem |awk '{print $3}'`

  echo "$totalmem"

  echo "$usedmem"

  编辑MRTG的配置文件:MaxBytes的值根据实际状况修改

  # Mem

  Target[memory]: `/_mrtg/sh/mem.sh`

  Unscaled[memory]: dwym

  MaxBytes[memory]: 2048000

  Title[memory]:Memory

  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]:<H1>Memory</H1>

  (2)SWAP:swap.sh

  #!/bin/bash

  # This script to monitor the swap usage.

  totalswap=`/usr/bin/free |grep Swap |awk '{print $2}'`

  usedswap=`/usr/bin/free |grep Swap |awk '{print $3}'`

  echo "$totalswap"

  echo "$usedswap"

  编辑MRTG的配置文件:MaxBytes根据实际状况修改

  # Swap

  Target[swap]:`/_mrtg/sh/swap.sh`

  Unscaled[swap]: dwym

  MaxBytes[swap]: 3048000

  Title[swap]:SWAP

  ShortLegend[swap]: &

  kmg[swap]:kB,MB

  kilo[swap]:1024

  YLegend[swap]: Swap Usage

  Legend1[swap]: Total Swap

  Legend2[swap]: Used Swap

  LegendI[swap]: Total Swap

  LegendO[swap]: Used Swap

  Options[swap]: growright,gauge,nopercent

  PageTop[swap]:<H1>Swap</H1>

  (3)CPU:cpu.sh

  #!/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

  hostname

  编辑MRTG的配置文件:MaxBytes根据实际状况修改

  # Cpu

  Target[cpu]: `/_mrtg/sh/cpu.sh`

  MaxBytes[cpu]: 100

  Title[cpu]: CPU

  Options[cpu]: gauge,nopercent,growright

  YLegend[cpu]: CPU loading (%)

  ShortLegend[cpu]:%

  LegendO[cpu]: & CPU USER

  LegendI[cpu]: & CPU SYSTEM

  PageTop[cpu]: <H1>CPU</H1>

  (4)磁盘佔用:df.pl

  #!/usr/bin/perl

  # output(df -kl) looks like this:

  # Filesystem 1k-blocks Used Available Use% Mounted on

  # /dev/md0 95645100 30401312 64272080 33% /

  # /dev/hde1 14119 1159 12231 9% /boot

  #

  # In which case, this script returns :

  # 95659219

  # 30402503

  # when run.

  foreach $filesystem (`df -kl | grep -v "Filesystem"`){

  @df = split(/s+/,$filesystem);

  $total += $df[1];

  $usage += $df[2];

  }

  print "$totaln";

  print "$usagen";

  hostname

  编辑MRTG的配置文件:MaxBytes根据实际状况修改

  # Disk used

  Target[disk]: `/_mrtg/sh/df.pl`

  Title[disk]: Disk Space

  Unscaled[disk]: dwym

  MaxBytes[disk]: 115247550

  kmg[disk]: KB,MB,GB

  LegendI[disk]: Total Disk Space

  LegendO[disk]: Used Disk Space

  Legend1[disk]: Total Disk Space

  Legend2[disk]: Used Disk Space

  YLegend[disk]: Megabytes

  ShortLegend[disk]: &

  Options[disk]: growright,gauge,nopercent

  PageTop[disk]: <H1>Disk Space</H1>

  (5)磁盘I/O:io.sh

  #!/bin/bash

  # This script will monitor the KBread/sec &KBwriten/sec of Disk.

  # Creater: CCC IT loren ext:2288 2005/8/3

  # As sda ,sdb,sdc,sdd,hda.

  # disk=sda

  hd=sda

  disk=/dev/$hd

  KBread_sec=`iostat -x $disk|grep $hd |awk '{print $8}'`

  KBwrite_sec=`iostat -x $disk|grep $hd |awk '{print $9}'`

  echo "$KBread_sec"

  echo "$KBwrite_sec"

  hostname

  编辑MRTG的配置文件:如果需要检测更多的分区则修改io.sh

  # Disk I/O

  Target[diskIO]: `/_mrtg/sh/io.sh`

  Title[diskIO]: Disk HDA I/O

  Unscaled[diskIO]: dwym

  MaxBytes[diskIO]: 100

  kmg[diskIO]: KB,MB,GB

  LegendI[diskIO]: Disk I/O KBread/sec

  LegendO[diskIO]: Disk I/O KBwrite/sec

  Legend1[diskIO]: Disk I/O KBread/sec

  Legend2[diskIO]: Disk I/O KBwrite/sec

  YLegend[diskIO]: Megabytes

  ShortLegend[diskIO]: &

  Options[diskIO]: growright,gauge,nopercent

  PageTop[diskIO]: <H1>Disk I/O</H1>
分享到:
本文"linux系统下安装mrtg监控工具"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4