zoukankan      html  css  js  c++  java
  • mrtg 的配置和使用(从网上搜集的资料,自己整理过的)

    预备条件:

    mrtg在安装前需要有以下包:gcc,Perl,gd,libpng,zlib

    可以使用rpm –qa|grep ** 来查看服务器中是否有这些文件

    安装步骤:

    1.       安装mrtg

    ./configure –prefix-/usr/local/mrtg  (安装到自定义的目录上,本例子是安装到/usr/local/mrtg的目录下)

    make ---编译

    make install ---安装

    2.       配置snmpconf 文件

    vi /etc/snmp/snmp.conf

    #view systemview included mib2

    改为

    view all included .1

    access notConfigGroup “” any noauth exact systemview none none

    改为

    access notConfigGroup “” any noauth exact all none none ----以只读方式查看

    保存,重启snmpd服务

     

    其实配制一个snmpd.conf文件不算太难,

    1)首选是定义一个共同体名(community),这里是public,及可以访问这个public的用户名(sec name),这里是notConfigUserPublic相当于用户notConfigUser的密码:)

    #       sec.name  source          community

    com2sec notConfigUser  default       public

    2)定义一个组名(groupName)这里是notConfigGroup,及组的安全级别,把notConfigUsr这个用户加到这个组中。 

                groupName      securityModel securityName

    group   notConfigGroup   v1           notConfigUser  

    group   notConfigGroup   v2c           notConfigUser

    3)定义一个可操作的范围(view)名, 这里是all,范围是 .1

        #       name           incl/excl     subtree         mask(optional)

           view  all             included     .1

    4)定义notConfigUser这个组在all这个view范围内可做的操作,这时定义了notConfigUser组的成员可对.1这个范围做只读操作。

         #       group          context sec.model sec.level prefix read   write  notif

    access  notConfigGroup ""      any       noauth    exact  all  none none

     

    3.       建立mrtg的工作目录。将生成的web页放到该目录下。最好直接建立在apache默认的目录下。也可以单独建立,如:mkdir /var/www/html/mrtg,但需要在apache配置文件中设定指向路径。如:

    <VirtualHost 10.217.10.89:80>

        ServerAdmin webmaster@dummy-host.example.com

        DocumentRoot /var/www/html

    #    ServerName dummy-host.example.com

    #    ErrorLog logs/dummy-host.example.com-error_log

    #    CustomLog logs/dummy-host.example.com-access_log common

    </VirtualHost>

    这样,就可以在ie栏上直接输入ip/mrtg/,就可以访问了

    4.       生成配置文件

    /usr/local/mrtg/bin/cfgmaker –output /etc/mrtg.cfg  public@10.217.10.89(监控的服务器ip

    5.       修改配置文件

    vi /ect/mrtg.cfg

    #for UNIX

    #WorkDir: /home/http/mrtg

    改为

    #for UNIX

    WorkDir: /var/www/html/mrtg  ----刚才建立的工作目录

    加入

    Language:gb2312  --指定页面显示语言为中文

    保存并关闭

    6.       执行mrtg

    /usr/local/mrtg/bin/mrtg /etc/mrtg.cfg

    此时会报告错误,不用理会,连续执行3次后错误应该会消失,如还继续保错,则应为配置文件出错

    7.       ie窗口中打开对应的url 即可看到了

    8.       可以使用crontab –e 编写自动更新时间

    */5 * * * * /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg

    5分钟运行一次


    这样就配置好了,默认的mrtg只监控网络流量。不过,我们可以通过编写脚本来实现对cpumem 等东西的监控。下面介绍一下如何添加脚本。以mem为例

     

    配置步骤:

    1.       编写脚本(perl  shell 都可以)

    vi mfree.sh

    #!/bin/sh
    /usr/bin/free -m | grep Mem |awk '{print $4}'
    /usr/bin/free -m | grep Mem |awk '{print $2}'

     

    2.       修改snmp配置文件

    添加:

    exec .1.3.6.1.4.1.2021.53 mfree  /bin/sh /root/mfree.sh

    其中.1.3.6.1.4.1.2021.53中的53是自定义的,只要不与其他的重复即可

    mfree 是文件名字,后面是他的存放的路径

    3.       修改mrtg.cfg的配置文件

    添加:

    Target[wy1_mem]:`snmpwalk -v 1  192.168.13.103 -c public .1.3.6.1.4.1.2021.53 | grep 53.101 | awk -F\" '{print $2}'`  --------------192.168.13.103,为要监控的服务器ip
    Xsize[wy1_mem]: 300
    Ysize[wy1_mem]: 100
    Ytics[wy1_mem]: 7
    MaxBytes[wy1_mem]: 1006
    Title[wy1_mem]:Memory State of WY1 IP 192.168.13.103 Server
    PageTop[wy1_mem]:<H1>Memory State of WY1 IP 192.168.13.103 Server</H1>
    ShortLegend[wy1_mem]: MB
    kmg[wy1_mem]: MB
    kilo[wy1_mem]:1024
    YLegend[wy1_mem]: Memory Usage
    Legend1[wy1_mem]:
    可用内存
    Legend2[wy1_mem]:
    总内存量
    Legend3[wy1_mem]:
    可用内存
    Legend4[wy1_mem]:
    总内存量
    LegendI[wy1_mem]:
    可用内存
    LegendO[wy1_mem]:
    总内存量
    Options[wy1_mem]: growright,gauge,nopercent

    各个标签的含义:

    Target指的是mrtg从那里取画曲线的值,此处可以从snmp和脚本取值,如从脚本取值需注意,需要前后用`来指定脚本路径

     []指这个配置段的名称,这里为wy1_mem,届时会在mrtgworkdir里建立同名的目录
    Maxbytes
    mrtg取值后能表现的最大值
    YLegend
    指再图标中纵向的名称
    ShortLegend
    指在图标中数值后面所跟的单位
    LegendI
    传递过去的第一个值,即snmpwalk -v 1  192.168.13.103 -c public .1.3.6.1.4.1.2021.53 | grep 53.101 | awk -F\" '{print $2}' 返回的第一个值
    LegendO
    传递过去的第二个值
    Title
    网页title
    Pagetop
    网页显示名称

    注:有的不支持中文,换成英文即可。

    4.       重新启动snmpdmrtg即可

    贴上几个有用的脚本:

    CPU数据的抓取脚本

    [root@wy1 root]# cat  cpustat.sh
    #!/bin/sh
    idle=`sar  -u 1 3 | grep Average | awk '{print $6}'`
    used=`echo "101 - $idle" | bc -l -s`
    echo $used
    echo $idle

    DiskIO数据的抓取脚本

    [root@wy1 root]# cat  iostat.sh    (显示硬盘IOk/s
    #!/bin/sh
    used1=`sar -d 1 3 | tail -1 | awk '{print $4}'`
    used2=`echo "$used1 / 2" | bc -l`
    echo $used2
    echo $used2

     

     

     

     

     

  • 相关阅读:
    序列JSON数据和四种AJAX操作方式
    jquery.validate和jquery.form.js实现表单提交
    JQuery Validate使用总结1:
    HOWTO: Include Base64 Encoded Binary Image Data (data URI scheme) in Inline Cascading Style Sheets (CSS)(转)
    SharePoint 2007 使用4.0 .Net
    动态IP解决方案
    取MS CRM表单的URL
    从Iframe或新开的窗口访问MS CRM 2011(转)
    Toggle or Hidden MS CRM Tab
    Windows 2008下修改域用户密码
  • 原文地址:https://www.cnblogs.com/morebetter/p/170319.html
Copyright © 2011-2022 走看看