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

     

     

     

     

     

  • 相关阅读:
    使用yum命令报错
    CentOS6.8安装Python3.6.3
    解决 linux 下安装 node 报: command not found
    Python的pip源切换为国内阿里云镜像
    开源Java加密工具Jasypt 1.4发布
    JavaFX对Java开发者到底意味着什么?
    16 个印象深刻的 HTML5/CSS3/JavaScript 体验
    高效的Java异常处理
    Java开发的学习过历程
    Java中23种设计模式详解
  • 原文地址:https://www.cnblogs.com/morebetter/p/170319.html
Copyright © 2011-2022 走看看