一、juniper开启SNMP
这里开启SNMP的步骤和昨天提到配置方法一样,这里略过。
二、安装配置mrtg
1、安装
mrtg的官方页面为http://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,具体可以参考以下页面
http://oss.oetiker.ch/mrtg/doc/mrtg-rrd.en.html
http://www.fi.muni.cz/~kas/mrtg-rrd/
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生成的首页文件里的内容 。最终的效果如下图:
如果还需监控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监控设备的过程,重复执行一下即可。