• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    史上最详细的mrtg(Multi Router Traffic Grapher)设置说明
    Multi Router Traffic Grapher------MRTG是一个监控网络链路流量负载的工具软件,通过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]: nbsp; Memory Usage :
    Legend1[memory]: nbsp; Total Memory :
    Legend2[memory]: nbsp; Used Memory :
    LegendI[memory]: nbsp; Total Memory :
    LegendO[memory]: nbsp; 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 "$total\n";
    print "$usage\n";
    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日常维护常用命令集合整理
    下一篇:Linux(Unix)中误删除的文件恢复方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    史上最详细的mrtg(Multi Router Traffic Grapher)设置说明 史上,最详,细的,mrtg,Multi,