酷987移动端

酷987 > 教程攻略 > 软件教程 >

Linux安装配置mrtg的方法

  mrtg可用于监控网络链路流量负载,包括Juniper防火墙的流量监控,那么在Linux系统中,要怎么安装及使用mrtg呢?下面以mrtg监控Juniper防火墙流量为例,给大家介绍下Linux安装和配置mrtg的方法。

  一、juniper开启SNMP

  二、安装配置mrtg

  1、安装

  mrtg的官方页面为https://oss.oetiker.ch/mrtg/ ,最新版本是2.17.4 。可以选择使用源码包编译安装,也可以选择系统源安装 。

  代码如下

  #yum -y install mrtg mrtg-libs

  需要注意的是mrtg也有windows版的,由于个人习惯了使用linux这里仍以centos/redhat为例。

  2、cfgmaker生成配置文件

  代码如下

  #cfgmaker --global “WorkDir:/var/www/mrtg” --output /etc/mrtg/mrtg.cfg public@192.168.1.2

  cfgmaker后面可以跟更多的参数的,回的参数内容为写入到生成的mrtg.cfg文件中,也可以生成后再修改。编辑mrtg.cfg尤其注意下面几行配置:

  代码如下

  #时间从左至右显示,最小单位bits,growright不打开,默认是从右至左的时间显示顺序

  Options[_]: growright, bits

  #页面刷新频率,300s

  Refresh: 300

  #也是刷新频率,5分钟

  Interval: 5

  #mrtg默认数据是以文本的格式存在的,增加下面的内容后支持以rrdtool数据库的格式生成

  #LogFormat: rrdtool

  #rrdtool程序所在的目录

  #PathAdd: /usr/bin/

  EnableIPv6: no

  WorkDir:/var/www/mrtg

  除上面之外,其他一些参数可能也会用到,这里也一并列下:

  WorkDir //设置工作目录,存放mrtg采集的数据和生成的统计文件

  Language //设置WEB页面显示的语言=中文gb2312

  growright //指示流量图随时间的变化向右增长

  Target //指示监控的设备;

  设备的表示方式=port:community@router;

  commnunity //表示snmp通讯密码

  Directory 指示该监控设备的相关文件保存的位置=/var/www/mrtg/eth0/;

  默认保存在WorkDir工作目录下

  MaxBytes //指示被采集的数据的最大值。如果采集的数据大于该值,MRTG将忽略,并保持上次采集的数据值

  Kmg //指示乘数单位(默认每千位跳一个单位)

  YLegend //指示Y轴的单位标记(不能用中文)

  ShortLegend //指示数据的单位标记

  Legend1,2,3,4分别指示四条不同颜色的统计线的文字说明

  Legend1: //每5分钟数据平均流入量的文字说明

  Legend2: //每5分钟数据平均流出量的文字说明

  Legend3: //每5分钟数据最大流入量的文字说明

  Legend4: //每5分钟数据最大流出量的文字说明

  LegendI,O //分别说明数据的流出和流出的文字说明

  WithPeak //指示怎么显示流量图

  共有四条不同颜色的统计线,绿色表示平均流入,蓝色表示平均流出,墨绿色表示最大流入,紫色表示最大流出

  n代表不设置w代表每周图表,代表每月图表,y代表每年图表

  不设置WithPeak,只有绿色流入和蓝色流出

  PageTop //指示增加到Web页头部的HTML代码,用于定制网页

  以空格开始的《TABLE》《/TABLE》部分都是PageTop的内容,都直接作为HTML代码

  注:使用rrdtool格式存数据时,查看页面的话需要cgi调用数据,可用的cgi插件有mrtg-rrd、routers2.cgi、14all.cgi。

  3、创建初始web页面

  代码如下

  #mrtg /etc/mrtg/mrtg.cfg

  #mrtg /etc/mrtg/mrtg.cfg

  #mrtg /etc/mrtg/mrtg.cfg

  注意,这里一般要运行三次,前两次出现warnning是正常的。

  4、生成索引首页

  代码如下

  #indexmaker /etc/mrtg/mrtg.cfg --output /var/www/mrtg/index.html

  此时去刚刚指定的/var/www/mrtg目录查看,可以看到生成了下面一些文件:

  代码如下

  #[root@localhost mrtg]# ls /var/www/mrtg/

  192.168.1.2_504-day.png 192.168.1.2_509-year.png 192.168.1.2_522-week.png 192.168.1.2_529.old

  192.168.1.2_504.html 192.168.1.2_510-day.png 192.168.1.2_522-year.png 192.168.1.2_529-week.png

  192.168.1.2_504.log 192.168.1.2_510.html 192.168.1.2_523-day.png 192.168.1.2_529-year.png

  192.168.1.2_504-month.png 192.168.1.2_510.log 192.168.1.2_523.html 192.168.1.2_530-day.png

  192.168.1.2_504.old 192.168.1.2_510-month.png 192.168.1.2_523.log 192.168.1.2_530.html

  192.168.1.2_504-week.png 192.168.1.2_510.old 192.168.1.2_523-month.png 192.168.1.2_530.log

  192.168.1.2_504-year.png 192.168.1.2_510-week.png 192.168.1.2_523.old 192.168.1.2_530-month.png

  192.168.1.2_505-day.png 192.168.1.2_510-year.png 192.168.1.2_523-week.png 192.168.1.2_530.old

  192.168.1.2_505.html 192.168.1.2_511-day.png 192.168.1.2_523-year.png 192.168.1.2_530-week.png

  192.168.1.2_505.log 192.168.1.2_511.html 192.168.1.2_524-day.png 192.168.1.2_530-year.png

  192.168.1.2_505-month.png 192.168.1.2_511.log 192.168.1.2_524.html 192.168.1.2_531-day.png

  192.168.1.2_505.old 192.168.1.2_511-month.png 192.168.1.2_524.log 192.168.1.2_531.html

  192.168.1.2_505-week.png 192.168.1.2_511.old 192.168.1.2_524-month.png 192.168.1.2_531.log

  192.168.1.2_505-year.png 192.168.1.2_511-week.png 192.168.1.2_524.old 192.168.1.2_531-month.png

  192.168.1.2_506-day.png 192.168.1.2_511-year.png 192.168.1.2_524-week.png 192.168.1.2_531.old

  192.168.1.2_506.html 192.168.1.2_515-day.png 192.168.1.2_524-year.png 192.168.1.2_531-week.png

  192.168.1.2_506.log 192.168.1.2_515.html 192.168.1.2_526-day.png 192.168.1.2_531-year.png

  192.168.1.2_506-month.png 192.168.1.2_515.log 192.168.1.2_526.html 192.168.1.2_533-day.png

  192.168.1.2_506.old 192.168.1.2_515-month.png 192.168.1.2_526.log 192.168.1.2_533.html

  192.168.1.2_506-week.png 192.168.1.2_515.old 192.168.1.2_526-month.png 192.168.1.2_533.log

  192.168.1.2_506-year.png 192.168.1.2_515-week.png 192.168.1.2_526.old 192.168.1.2_533-month.png

  192.168.1.2_508-day.png 192.168.1.2_515-year.png 192.168.1.2_526-week.png 192.168.1.2_533.old

  192.168.1.2_508.html 192.168.1.2_520-day.png 192.168.1.2_526-year.png 192.168.1.2_533-week.png

  192.168.1.2_508.log 192.168.1.2_520.html 192.168.1.2_527-day.png 192.168.1.2_533-year.png

  192.168.1.2_508-month.png 192.168.1.2_520.log 192.168.1.2_527.html favicon.ico

  192.168.1.2_508.old 192.168.1.2_520-month.png 192.168.1.2_527.log index.html

  192.168.1.2_508-week.png 192.168.1.2_520.old 192.168.1.2_527-month.png mrtg-l.gif

  192.168.1.2_508-year.png 192.168.1.2_520-week.png 192.168.1.2_527.old mrtg-l.png

  192.168.1.2_509-day.png 192.168.1.2_520-year.png 192.168.1.2_527-week.png mrtg-m.gif

  192.168.1.2_509.html 192.168.1.2_522-day.png 192.168.1.2_527-year.png mrtg-m.png

  192.168.1.2_509.log 192.168.1.2_522.html 192.168.1.2_529-day.png mrtg-r.gif

  192.168.1.2_509-month.png 192.168.1.2_522.log 192.168.1.2_529.html mrtg-r.png

  192.168.1.2_509.old 192.168.1.2_522-month.png 192.168.1.2_529.log mrtg-ti.gif

  192.168.1.2_509-week.png 192.168.1.2_522.old 192.168.1.2_529-month.png mrtg-ti.png

  5、配置crontab定时数据采集

  代码如下

  #vi /etc/cron.d/mrtg

  */5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok

  6、配置apache别名显示

  代码如下

  Alias /mrtg /var/www/mrtg

  《Location /mrtg》

  #Order deny,allow

  #Deny from all

  #Allow from 192.168.1.11

  《/Location》

  上面只是一个配置示例,如果有需要可以设备访问控制 。

  7、优化

  由于是网络设备,主要用于查看下网络流量,而从第4部可以看到,其采集了所有可以采集端口的流量,事实上很多时候很多端口未用或者并不是我们想查看的,这里就需要编辑mrtg.cfg文件只保留需要监控的端口ID ,同时还需要修改indexmaker生成的首页文件里的内容 。最终的效果如下图:

Linux安装配置mrtg的方法

  如果还需监控CPU、内存等信息,则需要通过snmpwalk编写脚本取得数据写入文件并保存,并在mrtg.cfg文件中做相应配置,最终在图形界面上进行展示。

  三、mrtg与主机性能监控

  由于该部分不是本篇重点,这里只是顺带提下,mrtg也可以通过snmp对主机的磁盘、CPU、内存等信息进行监控。需要在主机上开启snmp服务。linux下的安装如下(windows下也可以,在添加删除程序里进行增加):

  代码如下

  # yum install net-snmp

  安装完成后,需要编辑snmp的配置文件,因为很多信息默认是不允许获取的:

  代码如下

  # vim /etc/snmp/snmp.conf

  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

  修改完成后,记得重启snmp服务 。同时像disk和mem的监控部分,在snmpd.conf里有相关的配置样例,同时也有脚本执行的相关样例,参数样例修改即可。

  以上步骤配置完成后,再参照上面mrtg监控设备的过程,重复执行一下即可。

  Linux安装配置mrtg的方法就介绍到这里了,进行相关配置后,你就能够监控Juniper防火墙的流量情况,mrtg同样能够监控其他网络链路的流量。

(责任编辑:ku987小孩)