LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1395|回复: 3

在fedora中使用MRTG进行系统监控(2004-02-03)

[复制链接]
发表于 2004-2-3 17:27:28 | 显示全部楼层 |阅读模式
在fedora中使用MRTG进行系统监控(2004-02-03)

VictorYan指北系列之MRTG       

一.        MRTG是什么
        MRTG =  Multi Router Traffic Grapher
        是一个监控网络链路流量负载的工具软件, 它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的 HTML文档方式显示给用户,以非常直观的形式显示流量负载.
        mrtg 的输出结果示例: http://www.stat.ee.ethz.ch/mrtg/
        另外,MRTG也可以监控LINUX主机的运行状态,用于系统管理.例如:监控服务器的CPU使用效率,SQUID代理服务器的流量统计等
        官方网站:        http://people.ee.ethz.ch/~oetiker/webtools/mrtg
                        http://www.mrtg.org

二.        MRTG特点
        *可移植性
                目前可以运行在大多数Unix系统和Windows NT之上。
        *源码开放
                Mrtg是用perl编写的,源代码完全开放。
        *高可移植性的SNMP支持
                Mrtg采用了Simon Leinen编写的具有高可移植性的SNMP实现模块,从而不依赖于操作系统的SNMP模块支持。
        *支持SNMPv2c
                MRTG可以读取SNMPv2c的64位的记数器,从而大大减少了记数器回转次数。
        *可靠的接口标识
                被监控的设备的接口可以以IP地址、设备描述、SNMP对接口的编号及Mac地址来标识。
        *常量大小的日志文件
                *MRTG的日志不会变大,因为这里使用了独特的数据合并算法。
        *自动配置功能
                *MRTG自身有配置工具套件,使得配置过程非常简单。
        *性能
                *时间敏感的部分使用C代码编写,因此具有很好的性能。
        *PNG格式图形
                *图形采用GD库直接产生PNG格式。
        *输出可定制性
                *MRTG产生的web页面是完全可以定制的。
        *兼容性
                mrtg软件可以运行在大部分的操作系统上:
        *可监控的网络设备
                只要支持SNMP协议的设备就都可以使用MRTG来监控
三.        MRTG安装与配置
        *MRTG安装
                基本环境:        Fedora 1
                MRTG软件:         Fedora自带mrtg-2.10.5-1
                #rpm -ivh mrtg-2.10.5-1*
        *配置SNMP服务
        //检查软件
                $ rpm -qa |grep net-snmp
                net-snmp-5.1-2.1
                net-snmp-utils-5.1-2.1
                net-snmp-devel-5.1-2.1
                net-snmp-perl-5.1-2.1
        //修改配置文件/etc/snmp/snmpd.conf,允许mrtg读取网络接口的流量数据。
                将
                view    systemview    included   .1.3.6.1.2.1.1
                view    systemview    included   .1.3.6.1.2.1.25.1.1
                修改为:
                view    systemview    included   .1.3.6.1.2.1.1
                view    systemview    included   .1.3.6.1.2.1.2
                view    systemview    included   .1.3.6.1.2.1.25.1.1
                注:         .1.3.6.1.2.1.1 = SNMPv2-MIB::system
                        .1.3.6.1.2.1.2 = IF-MIB::interfaces
        //打开SNMPD服务
                # chkconfig snmpd on
                # service snmpd start
        *配置MRTG,监控网络流量
        //生成mrtg配置文件/etc/mrtg/mrtg.cfg
                #cfgmaker --global "WorkDir:/var/www/mrtg" --output /etc/mrtg/mrtg.cfg  public@localhost
        //初始运行MRTG,在工作目录下创建初始的流量图和web页面
                #mrtg /etc/mrtg/mrtg.cfg
                #mrtg /etc/mrtg/mrtg.cfg               
                #mrtg /etc/mrtg/mrtg.cfg
                注:初次运行需要连续运行三次,每次会产生一些警告信息,这是以后再运行就正常了
        //每隔5分钟自动运行mrtg来生成统计信息
                编辑/etc/cron.d/mrtg文件:
0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg --logging /var/log/mrtg.log
        //产生网页索引文件
                #indexmaker /etc/mrtg/mrtg.cfg --output /var/www/mrtg/index.html
        //编辑/etc/httpd/conf.d/mrtg.conf,允许主机通过网络监控网络流量信息;默认只允许本台主机,且主机名=localhost查看
                Alias /mrtg /var/www/mrtg
                <Location /mrtg>
                    Order deny,allow
                    # Deny from all
                    Allow from localhost
                    # Allow from .example.com
                </Location>
                注:修改后重启httpd服务#service httpd restart
        //通过浏览器监控网络流量信息
                http://localhost/mrtg
        //配置文件/etc/mrtg/mrtg.cfg举例(注:取消了注释部分)       
EnableIPv6: no
WorkDir:/var/www/mrtg
Target[localhost_2]: 2:public@localhost:
SetEnv[localhost_2]: MRTG_INT_IP="" MRTG_INT_DESCR="eth0"
MaxBytes[localhost_2]: 12500000
Title[localhost_2]: Traffic Analysis for 2 -- abc.com.cn
PageTop[localhost_2]: <H1>Traffic Analysis for 2 -- abc.com.cn</H1>
<TABLE>
   <TR><TD>System:</TD>     <TD>abc.com.cn in Unknown (edit /etc/snmp/snmpd.conf)</TD></TR>
   <TR><TD>Maintainer:</TD> <TD>Root &lt;root@localhost&gt; (configure /etc/snmp/snmp.local.conf)</TD></TR>
   <TR><TD>Description:</TD><TD>eth0  </TD></TR>
   <TR><TD>ifType:</TD>     <TD>ethernetCsmacd (6)</TD></TR>
   <TR><TD>ifName:</TD>     <TD></TD></TR>
   <TR><TD>Max Speed:</TD>  <TD>12.5 MBytes/s</TD></TR>
</TABLE>

四.        MRTG监控网络实例
        //手工修改/etc/mrtg/mrtg.cfg文件,使网络监控更加实用
#WorkDir设置工作目录,存放mrtg采集的数据和生成的统计文件
WorkDir: /var/www/mrtg
#Language设置WEB页面显示的语言=中文
Language: gb2312
#growright指示流量图随时间的变化向右增长
Options[_]: growright
                                                                                                   
#LAN网络流量统计[eth0]
                                                                                                   
#Target指示监控的设备;设备的表示方式=port:community@router;commnunity表示snmp通讯密码
Target[eth0]: 2:public@localhost:
                                                                                                   
#Directory指示该监控设备的相关文件保存的位置=/var/www/mrtg/eth0/;默认保存在WorkDir工作目录下
Directory[eth0]: eth0
                                                                                                   
#MaxBytes指示被采集的数据的最大值,如果采集的数据大于该值,MRTG将忽略,并保持上次采集的数据值
MaxBytes[eth0]: 12500000
                                                                                                   
#Kmg指示乘数单位(默认每千位跳一个单位)
Kmg[eth0]: ,k,M,G,T,P

                                                                                                   
#YLegend指示Y轴的标记(不能用中文)
YLegend[eth0]: Bytes per Second
#shortLegend指示数据的单位
shortLegend[eth0]: B/s
#Legend1,2,3,4分别指示四条不同颜色的统计线的文字说明
Legend1[eth0]: 每秒流入量 (单位 Bytes)
Legend2[eth0]: 每秒流出量 (单位 Bytes)
Legend3[eth0]: 最大的5分钟流入量
Legend4[eth0]: 最大的5分钟流出量
#LegendI,O分别指示数据的进和出
LegendI[eth0]: 流入:
LegendO[eth0]: 流出:
                                                                                                   
#WithPeak指示如何显示流量图
#共有四条不同颜色的统计线,绿色表示流入,蓝色表示流出,墨绿色表示最大流入,紫色表示最大流出
#n代表不设置w代表每周图表,代表每月图表,y代表每年图表(不设置WithPeak,只有绿色流入和蓝色流出)
WithPeak[eth0]:  n                                                                                            
                                                                                                   
#定制网页显示
Title[eth0]: LAN网络流量[eth0]
PageTop[eth0]: <H1>LAN网络流量[eth0]</H1>
<TABLE>
   <TR><TD>系统  :</TD>         <TD>gw.smec.com.cn</TD></TR>
   <TR><TD>描述  :</TD>         <TD>eth0</TD></TR>
   <TR><TD>位置  :</TD>         <TD>SMEC Shanghai</TD></TR>
   <TR><TD>最大值:</TD>         <TD>12.5 MBytes/s</TD></TR>
   <TR><TD>管理员:</TD>         <TD>victor@smec.com.cn</TD></TR>
   <TR><TD>说明  :</TD>         <TD>&nbsp</TD></TR>
</TABLE>

参考文章:         网络流量监控器mrtg全攻略
                http://www.fengnet.com/showart.asp?art_id=365&cat_id=10
发表于 2004-2-3 21:52:33 | 显示全部楼层
哈哈,感谢兄弟送来好东西,也加精了,不过应该在网络版合适吧............:p
 楼主| 发表于 2004-2-23 13:22:25 | 显示全部楼层
2004-02-13更新

在fedora中使用MRTG进行系统监控-入门篇(2004-02-13更新)
http://www.linuxsir.cn/bbs/showthr...;threadid=89539
在fedora中使用MRTG进行系统监控-实用篇(2004-02-13更新)
http://www.linuxsir.cn/bbs/showthr...;threadid=89541
发表于 2004-3-3 20:08:52 | 显示全部楼层
好象不支持localhost的
[root@/etc/host cron]#  cfgmaker --global "WorkDir:/var/www/mrtg"  --output /etc/mrtg/mrtg.cfg public@127.0.0.1
--base: Get Device Info on public@127.0.0.1:
--base: Vendor Id:
--base: Populating confcache
--snpo: Skipping ifName scanning because public@127.0.0.1: does not seem to support it
--snpo: confcache public@127.0.0.1: Descr lo --> 1
--snpo: confcache public@127.0.0.1: Descr eth0 --> 2
--snpo: confcache public@127.0.0.1: Descr eth1 --> 3
--snpo: confcache public@127.0.0.1: Type 24 --> 1
--snpo: confcache public@127.0.0.1: Type 6 --> 2
--snpo: confcache public@127.0.0.1: Type 6 --> 3 (duplicate)
--snpo: confcache public@127.0.0.1: Eth  --> 1
--snpo: confcache public@127.0.0.1: Eth 00-e0-4c-3a-07-d2 --> 2
--snpo: confcache public@127.0.0.1: Eth 00-e0-4c-8b-6a-ee --> 3
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
--base: Walking ifSpeed
--base: Writing /etc/mrtg/mrtg.cfg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表