mrtg编译安装
- 格式:doc
- 大小:60.50 KB
- 文档页数:7
SmokePing安装⼿册SmokePing安装部署SmokePing简介Smokeping是⼀款⽤于⽹络性能监测的开源监控软件,主要⽤于对IDC的⽹络状况,⽹络质量,稳定性等做检测,通过rrdtool制图⽅式,图形化地展⽰⽹络的时延情况,进⽽能够清楚的判断出⽹络的即时通信情况。
SmokePing的特点SmokePing keeps track of your network latency:Best of breed latency visualisation.(最佳图形展⽰功能,延时丢包等可以很直观的可视化展现)Interactive graph explorer.(交互式浏览器图表)Wide range of latency measurement plugins.(丰富的⽹络状况测量插件)Master/Slave System for distributed measurement.(⽀持主从的分布式部署模式)Highly configurable alerting system.(⾃定义报警功能)Live Latency Charts with the most 'interesting' graphs.(漂亮、免费、开源)Free and OpenSource Software written in Perl written by Tobi Oetiker, the creator of MRTG and RRDtoolSmokePing安装[root@linux-node1 ~]# cat /etc/redhat-release #查看系统环境CentOS Linux release 7.2.1511 (Core)[root@linux-node1 ~]# uname -r3.10.0-327.18.2.el7.x86_64[root@linux-node1 ~]# yum install -y perl perl-Net-Telnet perl-Net-DNS perl-LDAPperl-libwww-perl perl-IO-Socket-SSL perl-Socket6 perl-Time-HiRes perl-CGI-SpeedyCGI perl-FCGI perl-ExtUtils-MakeMakerrrdtool rrdtool-perl curl fping echoping httpd httpd-devel gcc make wget libxml2-devellibpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devellibart_lgpl libart_lgpl-devel freetype freetype-devel #安装所需包[root@linux-node1 ~]# cd /usr/local/src[root@linux-node1 src]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.11.tar.gz #下载smokeping[root@linux-node1 src]# tar xf smokeping-2.6.11.tar.gz #解压[root@linux-node1 src]# cd smokeping-2.6.11[root@linux-node1 smokeping-2.6.11]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty #远程下东东,需要点时间,需要build都ok,不然编译会报错[root@linux-node1 smokeping-2.6.11]# ./configure --prefix=/usr/local/smokeping #编译Ready to install Smokeping ******************************Settings:PERL5LIB = not setPERL = /usr/bin/perlThe Smokeping Makefiles use GNU make functionality.Continue installation with/usr/bin/gmake install#出现这个提⽰就可以⽤gmake安装了[root@linux-node1 smokeping-2.6.11]# /usr/bin/gmake install #安装#出现错误 Can't locate Sys/Syslog.pm in @INC (@INC contains: /usr/local/smokeing/thirdparty/lib/perl5/x86_64-linux-thread-multi /usr/local/smokeing/thirdparty/lib/perl5 ../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl / [root@linux-node1 smokeping-2.6.11]# yum -y install perl-Sys-Syslog #缺包了,安装这个就OK[root@linux-node1 smokeping-2.6.11]# cd /usr/local/smokeping/ #进⼊smokeping安装⽬录[root@linux-node1 smokeping-2.6.11]# mkdir cache data var #创建所需⽂件夹[root@linux-node1 smokeping-2.6.11]# touch /var/log/smokeping.log #创建⽇志⽂件[root@linux-node1 smokeping-2.6.11]# chown apache.apache cache data var /var/log/smokeping.log #修改⽂件属主[root@linux-node1 smokeping]# cd htdocs[root@linux-node1 htdocs]# mv smokeping.fcgi.dist smokeping.fcgi #修改⽂件名[root@linux-node1 htdocs]# mv /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config #添加配置⽂件[root@linux-node1 htdocs]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist #密码配置⽂件只让root能访问修改smokeping配置⽂件[root@linux-node1 ~]# sed -i 's#cgiurl = http://some.url/smokeping.cgi#cgiurl = http://192.168.182.152/smokeping.cgi#g' /usr/local/smokeping/etc/config[root@linux-node1 ~]# sed -i 's#300#60#g' /usr/local/smokeping/etc/config #改为60,⼀分钟采集⼀次数据[root@linux-node1 ~]# sed -i 's#20#60#g' /usr/local/smokeping/etc/config #改为⼀分钟ping60次[root@linux-node2 ~]# vim /usr/local/smokeping/etc/config #添加utf-8中⽂字符集⽀持*** Presentation ***charset = utf-8[root@linux-node1 ~]# egrep "cgiurl|\<60\>|utf-8" /usr/local/smokeping/etc/config #查看修改的配置cgiurl = http://192.168.56.11/smokeping.cgistep = 60 #⼀分钟采集⼀次数据pings = 60charset = utf-8修改apache配置⽂件[root@linux-node1 htdocs]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd luchuangaoNew password:Re-type new password:Adding password for user luchuangao #设置登陆密码[root@linux-node1 htdocs]# vim /etc/httpd/conf/httpd.conf# DocumentRoot "/var/www/html" #在这⾏下⾯添加Alias /cache "/usr/local/smokeping/cache/"Alias /cropper "/usr/local/smokeping/htdocs/cropper/"Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"<Directory "/usr/local/smokeping">AllowOverride NoneOptions AllAddHandler cgi-script .fcgi .cgiOrder allow,denyAllow from allAuthName "Smokeping" #登陆密码认证配置AuthType BasicAuthUserFile /usr/local/smokeping/htdocs/htpasswdRequire valid-userDirectoryIndex smokeping.fcgi</Directory>创建Smokeping启动脚本[root@linux-node1 etc]# cat /etc/init.d/smokeping#!/bin/bash## chkconfig: 2345 80 05# Description: Smokeping init.d script# Hacked by : How2CentOS - # Get function from functions library. /etc/init.d/functions# Start the service Smokepingstart() {echo -n "Starting Smokeping: "/usr/local/smokeping/bin/smokeping >/dev/null 2>&1### Create the lock file ###touch /var/lock/subsys/smokepingsuccess $"Smokeping startup"echo}# Restart the service Smokepingstop() {echo -n "Stopping Smokeping: "kill -9 `ps ax | grep "/usr/local/smokeping/bin/smokeping" | grep -v grep | awk '{ print $1 }'` >/dev/null 2>&1### Now, delete the lock file ###rm -f /var/lock/subsys/smokepingsuccess $"Smokeping shutdown"echo}### main logic ###case "$1" instart)start;;stop)stop;;status)status smokeping;;restart|reload|condrestart)stopstart;;*)echo $"Usage: $0 {start|stop|restart|reload|status}"exit 1esacexit 0[root@linux-node1 etc]# chmod 755 /etc/init.d/smokeping启动服务访问smokeping[root@linux-node1 ~]# systemctl start httpd.service #启动apache[root@linux-node1 ~]# /etc/init.d/smokeping start #启动smokeping中⽂⽀持及添加监控节点如果需要展⽰界⾯⽀持中⽂,需要安装中⽂编码:[root@linux-node1 etc]# yum -y install wqy-zenhei-fonts.noarch[root@linux-node1 etc]# vi /usr/local/smokeping/lib/Smokeping/Graphs.pmfor my $host (@hosts){my ($graphret,$xs,$ys) = RRDs::graph("dummy",'--start', $tasks[0][1],'--end', $tasks[0][2],'--font TITLE:20:"WenQuanYi Zen Hei Mono"', #添加这⾏即可vim /usr/local/smokeping/etc/config#添加监测源的IP库,加⼊到config中,修改后重启smokeping才会⽣效#添加监控节点⽰例:注意+是第⼀层,++是第⼆层,+++ 是第三层+ Unicommenu = 各地⽹络连通性监控title = 监控统计++ Telecommenu = 电信⽹络监控title = 电信⽹络监控列表host = /Unicom/Telecom/telecom-beijing /Unicom/Telecom/telecom-shanghai /Unicom/Telecom/telecom-shenyang /Unicom/Telecom/telecom-sichuan /Unicom/Telecom/telecom-changsha /Unicom/Telecom/telecom-jiangsu /Unicom/Telecom/tele +++ telecom-beijingmenu = 北京电信title = 北京电信alerts = somelosshost = 220.181.22.1+++ telecom-beijingxinlangmenu = 北京新浪电信title = 北京新浪电信alerts = somelosshost = 218.30.114.37+++ telecom-beijingDNSmenu = 北京电信DNStitle = 北京电信DNSalerts = somelosshost = 219.141.136.10+++ telecom-shanghaixinlangmenu = 上海新浪电信title = 上海新浪电信alerts = somelosshost = 222.73.28.96+++ telecom-shanghaiDNSmenu = 上海电信DNStitle = 上海电信DNSalerts = somelosshost = 202.96.199.133+++ telecom-shanghaimenu = 上海电信title = 上海电信alerts = somelosshost = 61.129.65.58+++ telecom-shenyangmenu = 沈阳电信title = 沈阳电信alerts = somelosshost = 219.148.204.66+++ telecom-sichuanmenu = 四川电信title = 四川电信+++ telecom-changshamenu = 长沙电信title = 长沙电信alerts = somelosshost = 124.232.150.171+++ telecom-jiangsumenu = 江苏电信title = 江苏电信alerts = somelosshost = 58.215.186.208+++ telecom-chongqingmenu = 重庆电信title = 重庆电信alerts = somelosshost = 219.153.71.238+++ telecom-fujianmenu = 福建电信title = 福建电信alerts = somelosshost = 218.6.9.4+++ telecom-guizhoumenu = 贵州电信title = 贵州电信alerts = somelosshost = 222.87.128.7+++ telecom-hubeimenu = ⼗堰电信title = ⼗堰电信alerts = somelosshost = 61.183.41.197+++ telecom-chengdumenu = 成都电信title = 成都电信alerts = somelosshost = 61.139.2.69+++ telecom-xinjiangmenu = 新疆电信title = 新疆电信alerts = somelosshost = 61.128.114.133+++ telecom-wuhanmenu = 武汉电信title = 武汉电信alerts = somelosshost = 221.232.129.35+++ telecom-hangzhoumenu = 杭州电信title = 杭州电信alerts = somelosshost = 202.96.96.68+++ telecom-xiamenmenu = 厦门电信title = 厦门电信alerts = somelosshost = 202.101.103.54+++ telecom-guangzhoumenu = ⼴州电信title = ⼴州电信alerts = somelosshost = 211.136.192.6+++ telecom-shenzhenmenu = 深圳电信title = 深圳电信alerts = somelosshost = 202.96.154.15+++ telecom-nanningmenu = 南宁电信title = 南宁电信alerts = somelosshost = 202.103.224.68++ Mobilemenu = 移动⽹络监控title = 移动⽹络监控列表host = /Unicom/Mobile/mobile-beijing /Unicom/Mobile/mobile-shenyang /Unicom/Mobile/mobile-jinan /Unicom/Mobile/mobile-qingdao /Unicom/Mobile/mobile-chengdu /Unicom/Mobile/mobile-xizang /Unicom/Mobile/mobile-xiamen /Unicom/Mobile/m +++ mobile-beijingmenu = 北京移动title = 北京移动alerts = somelosshost = 211.136.17.107+++ mobile-shenyangmenu = 沈阳移动title = 沈阳移动alerts = somelosshost = 211.137.32.178+++ mobile-jinanmenu = 济南移动title = 济南移动alerts = somelosshost = 211.137.191.26+++ mobile-qingdaomenu = 青岛移动title = 青岛移动alerts = somelosshost = 202.102.128.68+++ mobile-chengdumenu = 成都移动title = 成都移动alerts = somelosshost = 202.98.96.68title = 西藏移动alerts = somelosshost = 211.139.73.34+++ mobile-xiamenmenu = 厦门移动title = 厦门移动alerts = somelosshost = 218.207.194.109+++ mobile-changshamenu = 长沙移动title = 长沙移动alerts = somelosshost = 211.142.236.87+++ mobile-nanjingmenu = 南京移动title = 南京移动alerts = somelosshost = 221.131.143.68+++ mobile-guangzhoumenu = ⼴州移动title = ⼴州移动alerts = somelosshost = 211.136.192.6+++ mobile-shenzhenmenu = 深圳移动title = 深圳移动alerts = somelosshost = 120.196.165.7++ Unicommenu = 联通⽹络监控title = 联通⽹络监控列表host = /Unicom/Unicom/unicom-beijing /Unicom/Unicom/unicom-dalian /Unicom/Unicom/unicom-henan /Unicom/Unicom/unicom-heilongjiang /Unicom/Unicom/unicom-tianjin /Unicom/Unicom/unicom-shanghai /Unicom/Unicom/unicom-shenyang / +++ unicom-beijingmenu = 北京联通title = 北京联通alerts = somelosshost = 123.125.46.202+++ unicom-dalianmenu = ⼤连联通title = ⼤连联通alerts = somelosshost = 218.61.8.10+++ unicom-henanmenu = 河南联通title = 河南联通alerts = somelosshost = 125.46.54.236+++ unicom-heilongjiangmenu = ⿊龙江联通title = ⿊龙江联通alerts = somelosshost = 125.211.202.138+++ unicom-tianjinmenu = 天津联通title = 天津联通alerts = somelosshost = 60.28.24.236+++ unicom-shanghaimenu = 上海联通title = 上海联通alerts = somelosshost = 211.95.72.254+++ unicom-shenyangmenu = 沈阳联通title = 沈阳联通alerts = somelosshost = 113.224.187.254+++ unicom-xianmenu = 西安联通title = 西安联通alerts = somelosshost = 124.89.76.214+++ unicom-jinanmenu = 济南联通title = 济南联通alerts = somelosshost = 202.102.152.3+++ unicom-qingdaomenu = 青岛联通title = 青岛联通alerts = somelosshost = 202.102.128.68+++ unicom-xinjiangmenu = 新疆联通title = 新疆联通alerts = somelosshost = 221.7.1.20+++ unicom-xizangmenu = 西藏联通title = 西藏联通alerts = somelosshost = 221.13.65.38+++ unicom-wuhanmenu = 武汉联通title = 武汉联通alerts = somelosshost = 218.104.111.122+++ unicom-zhengzhoumenu = 郑州联通title = 郑州联通alerts = someloss+++ unicom-changsha menu = 长沙联通title = 长沙联通alerts = someloss host = 58.20.127.238 +++ unicom-nanjing menu = 南京联通title = 南京联通alerts = someloss host = 221.6.4.66+++ unicom-xiamen menu = 厦门联通title = 厦门联通alerts = someloss host = 36.248.249.1+++ unicom-taiyuan menu = 太原联通title = 太原联通alerts = someloss host = 221.204.238.54 +++ unicom-guangzhou menu = ⼴州联通title = ⼴州联通alerts = someloss host = 210.21.4.130+++ unicom-shenzhen menu = 深圳联通title = 深圳联通alerts = someloss host = 210.21.196.6+++ unicom-nanning menu = 南宁联通title = 南宁联通alerts = someloss host = 221.7.128.68。
MRTG安装与使用Mrtg(Multi Router Traffic Grapher,MRTG)是一个监控网络链路流量负载的工具软件,它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载、CPU、MEM、SWAP、进程情况.安装前的准备:•安裝前的準備工作:MRTG 為使用 Perl 程式寫成的,並且使用到 zlib 、 gd 及 png 的函式庫(zlib 用來壓縮圖表、gd 用來繪製圖表),且由於 MRTG 乃使用 SNMP 協定,並且最後是以 HTTP 的網頁型態輸出成圖表,因此,你需要確定Linux 主機中已經含有下列的套件:o perl (perl-5.0xx 以上)o zlib (zlib-1.1.3-xx 以上)o gd (gd-1.3.xx 以上)o libpngo apache確定的方法就以 RPM 來確認吧:o rpm -qa | grep perlo rpm -qa | grep zlibo rpm -qa | grep gdo rpm -qa | grep libpng一、安装.1.RPM格式安装:安装目录为/usr/local/mrtg-2Rpm –ivh mrtg -2.9.29-4.ent.i386.rpm2.编译格式安装:可以在/indexintel10.html下载mrtg-2.16.2.tar.gz编译文件安装MRTG:#Tar –zxvf mrtg-2.16.2.tar.gz#cd mrtg-2.16.2#./configure –profix=/usr/local/mrtg-2#make & make install二、配置SNMP1.编辑/etc/snmp/snmpd.conf找到如下代码:[code]# Third, create a view for us to let the group have rights to:# Make at least snmpwalk -v 1 localhost -c public system fast again.# name incl/excl subtree mask(optional)view systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1[/code]在后面加上:[code]# haijd Add startview all included .1.3.6# haijd Add end[/code](使SNMP的MIB库支持搜索OID为.1.3.6下的所有OID)把下面的#号去掉#view mib2 included .dod.internet.mgmt.mib-2 fc把下面的语句access notConfigGroup "" any noauth exact systemview none none改为:access notConfigGroup "" any noauth exact mib2 none none(使SNMP支持MIB2库搜索。
MRTG配置手册安装在windows2003系统上安装MR TG,通过SNMP协议监测各服务器和网络设备的性能。
所需要的安装程序:mrt g-2.16.2A ctivePerl-5.14.2.1402-MSWin32-x86-295342.msiinfor mant-std-16.exeMIBBrowser.ex e一、安装mrtg将mrtg COP Y到服务器C盘目录下“c:\mrtg”。
二、安装perlPerl安装到C盘“c:\perl”目录下,添加系统变量P ath,添加“C:\per\bin;”三、测试perl打开命令控制台,进入到c:\mrtg\bi n 目录,输入命令p erlmrtg,得到以下结果表明安装成功。
四、安装II S服务此处略。
配置一、监测设备的先决条件Windows服务器Mrtg采用s nmp协议进行数据采集。
1、如果被监测是被是windows服务器,首先要在被监测服务器上安装SNM P服务,控制面板—添加或删除程序—添加/删除Windows组件安装完毕以后,在服务里设置com munity,右键S NMP服务—属性—安全—public。
2、由于要监测CPU、内存等参数,还需要在被监测服务器安装i nformant-s td-16.exe以提供更加强大的MIB码。
Linux服务器Linux服务器默认未开启SNMP服务,需要在安装net-snmphttp://michael s.blogbus.com/tag/NE T-SNMP/设置community为public。
网络设备开启snmp服务,设置commun ity为public。
二、检查SNMP服务配置在任何机器上安装MIB浏览器M IB Browser.exe,输入要监测的服务器IP,配置好community,点击Walk,如果右侧能出现很多OID,证明snmp服务正常提供服务。
MRTG配置参数详解翻译自http://oss.oetiker.ch/mrtg/doc/mrtg-reference.en.html引言mrtg运行时的行为可以通过配置文件来控制,虽然大部分配置文件都是通过cfgmaker 来生成的,但是手动调整一些更为精细的配置项是很有必要的,这篇文档对所有的mrtg能识别的配置选项作了说明语法MRTG配置文件遵循以下几个简单规则关键字必须起始于行首以空格开始的行将被附加到上一行关键开头的行来解析不解析空行# 号开头的行被当成注释可通过Include命令包含文件,例如:Include: base-options.inc 。
如果指定相对路径引入文件,mrtg将会在当前工作目录和包含主配置文件的目录下寻找该引入文件全局关键字WorkDirWorkDir 日志文件和生成的的网页的放置目录可选的全局关键字HtmlDirHtmlDir 指定html文件(或shtml)的放置目录。
注意: WorkDir会覆盖HtmlDir、ImageDir、LogDir的值ImageDirImageDir 指定图像文件的放置目录,应该放置在HtmlDir下LogDirLogDir 指定日志文件放置目录,不应该位于HtmlDir下ForksForks 4 (Unix平台下可用),通过snmp请求数据的线程个数,在网络延迟比较大或者设备比较多的情况下可以加速snmp信息的获取EnableIPv6EnableIPv6 yes / no 是否开启ipv6支持EnableSnmpV3EnableSnmpV3 yes / no 默认是禁止的,指示是否开启snmpv3支持RefreshRefresh 300 网页刷新时间间隔,默认是5分钟(单位为秒)IntervalInterval 10 mrtg获取信息频率,默认为5分钟(单位为分钟),指示mrtg每隔多少分钟生成一次包含正确信息的html文件,并且在html文件的Meta header中加入缓存时间指示(Cache-Control)MaxAgeMrtg 高度依赖当前系统时间,如果当前时间是一个错误的值,并且比当前时间提前了许多的话,将会导致mrtg丢失旧日志文件中的许多信息,为了避免这种情况,可以加入一个"合理的"时间值,用来检查日志文件的最近修改时间,如果一个日志文件比当前时间加上这个时间值还旧,mrtg将不会往这个文件写入信息,相反的,只是提示你,给你一个机会了发现问题所在,如MaxAge 7200 将告诉mrtg不要更新2小时前至今未修改的日志文件WriteExpires这个选项将会为CERN和apache服务器生成相应的.meta文件,这个与WEB服务器软件有关NoMib2正常情况下MRTG查询snmp设备的’sysUptime’和’sysName’属性,但是有的设置没有实现这两个属性,这将会导致mrtg发出警告信息指示属性丢失,这时可以将NoMib2置为yesSingleRequestSingleRequest yes/no 有的snmp实现不支持一次请求多个snmp变更值,可以设置这个值强制mrtg一次请求一个属性值SnmpOptions除了可以为每个目标指定单独的超时选项处,也可以在全局选项上配置snmpget进程的行为,SnmpOptions支持Hash选项,当前支持以下选项:timeout => $default_timeout,retries => $default_retries,backoff => $default_backoff,default_max_repetitions => $max_repetitions,use_16bit_request_ids => 1,lenient_source_port_matching => 0,lenient_source_address_matching => 1注意,这些选项会覆盖每个单独的target中的的timeout值IconDir图标目录LoadMIBs载入指定的MIB文件,可载入多个以’,'号分隔Language指定输出语言,(检查translate目录看支持哪些语言)当前支持big5 brazilian bulgarian catalan chinese croatian czech danish dutch eucjp french galician gb gb2312 german greek hungarian icelandic indonesia iso2022jp italian korean lithuanian malay norwegian polish portuguese romanian russian russian1251 serbian slovak slovenian spanish swedish turkish ukrainianLogFormatLogFormat rrdtools,将激活rrdtools模式,这种模式下mrtg使用rrdtools来记录日志LibAdd如果你激活了rrdtools模式并且rrdtool Perl模块没有安装在perl能自行找到的位置,可以用来LibAdd来指定合适的路径PathAdd如果rrdtool的可执行文件不在当前的PA TH中,可能通过PathAdd来指定RunAsDeamonyes/no 将mrtg作为守护进程来运行,大多数情况下mrtg是结合cron来定时运行的,在没有设置重复运行时[比如在windows下],start /b perl mrtg.cfg,当然这里要对应好目录ConversionCode指定转换代码,有的snmp设备提供的是非数值值,这对mrtg绘制图形来说是没有用的,所以要用一些代码来转换,这个关键字指定一个包含了转换代码的perl文件,这个文件中必须包含一个或多个函数,每个函数必须能够接收处理一个字符串参数并返回一个数值针对每个Target的配置项每个监控对象需要有一个唯一的名称来标识,这个名称会被添加在属用这个监控对象的属性前,这名称也会在日志文件、图像文件和生成的网页文件中用到Target[myrouter]:port:community@hostname[:[snmpport][:[timeout][:[retries][:[backoff][:[version]][|name]]]]] port 为myrouter的接口,community为团体名,hostname为主机名或ip,snmpport 为服务端的snmp端口,不填则默认为161,timeout默认为2s,首次查询超时值,retries为查询失败时重试次数,backoff,退进指数,首次查询失败时,重试时间由timeout值除以这个指数来决定,默认为1,即每次重试的超时值一样,version,snmp版本。
在Centos(RHEL)上安装和配置MRTG为了我网站的fans(当然是少了点,日ip才500).总的常常更新点内容,为了个小个人blog也不容易。
得强行让自己多学点无论新旧的东西来更新一下。
不然大家都不理我了。
呵呵,喜欢我的网站可以定个SSR之类,多常常关注。
骂人也好。
讲讲话也好。
MRTG是个很过时的东西。
现在大多都用RRD,但配置有点麻烦,当然,用Cacti之类还是相当方便。
但我在这使用MRTG原因有三.1.我只有一台机器要用,比如我的个人网站。
为了一个小服务器搞个cacti不值.象这样MRTG还是很方便的.2.就算大面积使用Cacti加RRD还是有必要在本机运行一个可以直接查看的网页比较方便。
方便运维排错。
3.可以在一个节点的一台机器上装一个MRTG,然后加上那个节点后面所有的机器,这样可以显示每个节点的流量,方便节点排错.MRTG的全称叫Multi Router Traffic Grapher 可以监控很多东西,今天我们就用它来监控我小小的个人网站的流量.节点之类多设备的设置后面也可以参考一下.第一步: 安装MRTG 和snmpyum install mrtg net-snmp net-snmp-utils第二步:配置snmpd我不建议使用自己来配置这个配置文件。
直接使用snmpconf 这个软件就可以很好的vi /etc/snmpd/snmpd.conf修改成下面这样主要是com2sec那行的可以snmp来打开的地址和密码根据你的需要来设置一下。
还有就是access部分后面的权限,可以设置成all之类。
com2sec notConfigUser localhost publicgroup notConfigGroup v1 notConfigUsergroup notConfigGroup v2c notConfigUserview systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1access notConfigGroup "" any noauth exact all all noneview all included .1 80syslocation Unknown (edit /etc/snmp/snmpd.conf)syscontact Root记的重起service snmpd restart我们来确认一下我们的配置,用下面的命令,看看能不能得到你接口的ip信息snmpwalk -v 1-c public localhost IP-MIB::ipAdEntIfIndex我的输出如下:IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1IP-MIB::ipAdEntIfIndex.221.9.252.35 = INTEGER: 2第三步:配置MRTG我们使用cfgmaker的命令来建立/etc/mrtg.cfg 文件,输入如下命令:cfgmaker --global 'WorkDir: /var/www/mrtg'--output /etc/mrtg.cfgpublic@localhost* –global ‘WorkDir: /var/www/mrtg’ : 设置全局的工作目录配置,也就是存MRTG的图象的地址* –global "Options[_]: growright,bits" :设置网络显示* –output /etc/mrtg.cfg: 你输出的配置文件的地址* public@localhost : public是你的snmp设备读的密码,localhost是设备的密码.如果你要显示远程的snmp的设备,就是远程的地址的密码,现在我这是本地的.设置完后,运行indexmaker来建立网页显示接口的信息。
Squid透明代理手记1,首先从下载squid-2.6.STABLE10-20070315.tar.gz最新版2,解压配置编译参数:./configure --prefix=/usr/local/squid #指定squid安装目录--mandir=/usr/share/man #指定man的安装目录--enable-async-io=20 #采用同步io提高性能,负载高可设大点--disable-icmp #禁止icmp协议代理(默认不允许)--enable-delay-pools #允许延迟限止带宽--enable-cache-digests #允许缓存摘要,可以加快请求缓冲内容的速度(集群用)--enable-snmp #允许snmp协议支持(如用mrtg进行流量监控等)--disable-ident-lookups #禁止使用RFC931识别--enable-epoll #支持epoll的IO模式,2.6以上内核才具有--enable-basic-auth-helpers="NCSA" #允许带密码验证,NCSA 风格的用户名和密码档--enable-linux-netfilter #允许透明代理--enable-arp-acl #允许基于MAC地址的存取过滤--enable-err-language="Simplify_Chinese" #支持的错误语言--enable-default-err-language="Simplify_Chinese" #指定默认的错误语言3,编译安装:make && make install4,添加squid启动用户和组:groupadd squiduseradd -g squid squid -s /sbin/nologin #根据cache_effective_user指定缓冲管理的用户mkdir var/cache #根据cache_dir指定chown -R squid:squid /usr/local/squid #更改目录所有者和组为squid连同子目录5,配置squid.conf首先生成干净的配置文件:mv squid.conf squid.conf.bakcat squid.conf.bak | grep -v "#" | grep -v "^$" > squid.conf#定义服务器地址和端口(做Proxy时最好用lan的ip来设定绑定端口,transparent表示支持透明代理)http_port 192.168.1.253:3128 transparent#定义服务器的名字visible_hostname ProxyServer#定义管理员邮件地址(在访问发生错误时,visible_hostname和cache_mgr这两个选项的值显示在错误提示页面内的相关位置)cache_mgr webmaster@#定义缓存内存空间cache_mem 32MBcache_swap_low 90cache_swap_high 95#定义缓冲最大值的内容maximum_object_size 4096 KB#定义缓存目录cache_dir ufs /usr/local/squid/var/cache 200 16 256#定义不缓冲的内容hierarchy_stoplist cgi-bin ?hierarchy_stoplist -i ^https:\\ ?acl QUERY urlpath_regex -i cgi-bin \? \.asp \.php \.jsp \.cgiacl denyssl urlpath_regex -i ^https:\\no_cache deny QUERYno_cache deny denysslipcache_size 1024ipcache_low 90ipcache_high 95fqdncache_size 1024#日志access_log /usr/local/squid/var/logs/access.log squidcache_log /usr/local/squid/var/logs/cache.log#cache_store_log /usr/local/squid/var/logs/store.logcache_store_log none#Dns服务器dns_nameservers 202.96.128.86 61.144.56.101#缓冲存取用户和组cache_effective_user squid squid#定义ACL#sexurl.txt列出要过滤网站地址的关键字,每个关键字占一行,如(取sina)即可#maclist.txt列出允许上网的主机的MAC地址,每个地址占一行,如00:50:56:C0:00:08acl all src 0.0.0.0/0.0.0.0 #定义所有的地址acl allow_lan src 192.168.1.0/24 #允许局域网lan访问的acl acl sexurl url_regex "/usr/local/squid/sexurl.txt" #定义色情网站过滤acl virurl url_regex "/usr/local/squid/virurl.txt" #定义病毒网站过滤#acl allowedmac arp "/etc/squid/maclist.txt"#定义访问策略http_access deny sexurl #拒绝色情网站http_access deny virurl #拒绝病毒网站http_access allow allow_lan #允许局域网ip访问http_access deny all #拒绝其它未定义的规则#http_access allow allowedmac#定义可缓冲的文件名:5,运行SQUID:sbin/squid -z #初始化生成缓冲目录sbin/squid -NCd1 #前台运行(显示很多运行日志)squid #直接运行bin/RunCache & #不间断运行启动步骤:squid -zsquid -NsYD /usr/local/squid/conf/squid.conf > squid.out 2>&1监控缓冲日志:tail -f /usr/local/squid/var/logs/access.log------------------------------------------------------------------------------------------6,操作系统优化:(1)加大系统的文件描述符限制:ulimit -n默认为1024增大为65536:ulimit -n 65536查看所有的系统限制:ulimit -a(2)加速回收TIME_WAIT的sockets:sysctl -a|grep net.ipv4.tcp_twsysctl -w net.ipv4.tcp_tw_reuse=1sysctl -w net.ipv4.tcp_tw_recycle =1(3)加大临时端口的范围(默认是1024-4999):echo "1024 40000" > /proc/sys/net/ipv4/ip_local_port_range(4)如果还做NAT的话,增加NAT表的限制:echo "65535" > /proc/sys/net/ipv4/ip_conntrack_max----------------------------------------------------------------------------------7,squidclient使用简介:查看帮助:./squidclient -h 192.168.1.123 -p 3128 mgr:/usr/local/squid/squidclientsquidclient -h 192.168.1.123 -p 3128 mgr:client_list //查看客户端列表squidclient -h 192.168.1.123 -p 3128 mgr:objects //取得已缓存的列表squidclient -h 192.168.1.123 -p 3128 mgr:info //取得运行状态经验技巧:打开一个网址,访问一下,看看有没有Cache到squidclient -h 192.168.1.123 -p 3128 mgr:objects | grep GET | grep 统计cache到的总数哈:squidclient -h 192.168.1.123 -p 3128 mgr:objects | grep GET | wc -l---------------------------------------------------------透明代理:iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128-----------------------------------------------------------------------------------错误FAQ:FATAL: ipcache_init: DNS name lookup tests failed.有3种方法解决这个问题1。
实训六、利用MRTG进行网络流量监控一.实训目的1.掌握一种网络流量监控方法。
2.理解SNMP协议及其配置。
3.掌握将应用程序添加为系统服务的方法。
二.背景知识网络流量对于网络管理人员来说是一个比较重要的指标,观察流量可以得知网络的一些最新症状。
但是用人工的方法进行流量监控效率太低了,可以使用一款名为MRTG的软件来监控网络流量。
MRTG简介Mrtg (Multi Router Traffic Grapher,MRTG) 是一个监控网络链路流量负载的工具软件,它可以从所有运行SNMP协议的设备(包括服务器、路由器、交换机等)抓取到设备的流量等信息,并将流量负载等信息以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。
MRTG是个多平台软件,可以运行在Linux、Windows NT/2000/XP、FreeBSD等操作系统上。
MRTG 在Linux平台上,已经利用来做以下各式各样的统计(反观Windows 平台,因为Microsoft并未开放系统,信息整合困难,开发的人也不多):1.系统资源负荷量统计,例如:磁盘空间、CPU用量、内存用量等2. Server流量统计,例如:Mail、News、DNS、Web、BBS、IRC、MUD等3.网络设备流量统计,例如:防火墙、Router、Switch、拨接终端机、ATM交换机等4.另类统计,例如:Modem流量、Login人数、雷神之槌联机游戏人数等MRTG 的运行机制,它会以SNMP 通讯协议去询问Router,然后将传回来的数值画成统计图。
或者去执行一支外挂程序,该程序将要统计的数值传回来,然后MRTG 只负责将它画成统计图。
SNMP协议SNMP协议是目前最常用的网络管理协议,几乎所有的网络设备生产厂商都实现了对SNMP的支持。
SNMP的发展主要经历了3个版本:SNMPv1、SNMPv2、SNMPv3。
虽然最新的版本是SNMPv3,但到目前为止,这一新版本还远未普及,绝大多数网络设备仍仅支持SNMPv2版本。
一、apache服务的安装1.安装Apache有两种时候可以安装Apache服务器:安装Linux操作系统的时候安装Web服务器rpm 包,和安装完系统后安装Apache服务器。
(源码安装)提示:可以用命令#rpm-qa|grep httpd检查一个系统是否安装了Apache服务器,如果没有输出,则表明没有安装。
以下为某个安装了Apache服务器输出的一个范例。
如果是以源码安装的Apache服务器,则此种方法无效,需要用find工具查找httpd文件是否存在。
httpd-tools-2.2.15-9.el6.x86_64httpd-manual-2.2.15-9.el6.noarchhttpd-2.2.15-9.el6.x86_64如果在安装Linux操作系统期间没有安装Apache,这就需要使用包文件来安装。
1.RPM包的安装。
从Linux的安装光盘和互联网上,都可以得到Apache的RPM安装包,然后把安装包复制到硬盘,并切换到安装包文件所在的目录。
本文以把手册也安装上去。
2.源码安装。
到网站www.apache. org下载欲安装的版本,笔者喜欢尝试最新的版本,当前的最新有效版本为httpd-2.2.0.tar.gz。
在httpd-2.2.0.tar.gz文件所在的当前目录解压文件# tar zxvf httpd-2.2.0.tar.gz,然后切换目录到httpd-2.2.0,进行配置:或者wget /apache-mirror/httpd/httpd-2.0.63.tar.gz其中,配置这一过程,使用了选项“--prefix=/usr/local/apache”来指定Apache的安装目录,使Apache服务器所需的大部分文件都被复制在这个目录里。
实际上,配置是一个很灵活的选择,根据需要可以添加更多的选项,支持更多的功能。
2.配置文件Apache的配置文件是httpd.conf,一般在/etc/http/conf或/usr/local/apache/conf目录,以rpm包形式安装的Apache,配置文件的位置是/etc/httpd/conf/httpd.conf。
一、apache服务的安装1.安装Apache有两种时候可以安装Apache服务器:安装Linux操作系统的时候安装Web服务器rpm 包,和安装完系统后安装Apache服务器。
(源码安装)提示:可以用命令#rpm-qa|grep httpd检查一个系统是否安装了Apache服务器,如果没有输出,则表明没有安装。
以下为某个安装了Apache服务器输出的一个范例。
如果是以源码安装的Apache服务器,则此种方法无效,需要用find工具查找httpd文件是否存在。
httpd-tools-2.2.15-9.el6.x86_64httpd-manual-2.2.15-9.el6.noarchhttpd-2.2.15-9.el6.x86_64如果在安装Linux操作系统期间没有安装Apache,这就需要使用包文件来安装。
1.RPM包的安装。
从Linux的安装光盘和互联网上,都可以得到Apache的RPM安装包,然后把安装包复制到硬盘,并切换到安装包文件所在的目录。
本文以httpd-2.2.15把手册也安装上去。
2.源码安装。
到网站www.apache. org下载欲安装的版本,笔者喜欢尝试最新的版本,当前的最新有效版本为httpd-2.2.0.tar.gz。
在httpd-2.2.0.tar.gz文件所在的当前目录解压文件# tar zxvf httpd-2.2.0.tar.gz,然后切换目录到httpd-2.2.0,进行配置:或者wget /apache-mirror/httpd/httpd-2.0.63.tar.gz其中,配置这一过程,使用了选项“--prefix=/usr/local/apache”来指定Apache的安装目录,使Apache服务器所需的大部分文件都被复制在这个目录里。
实际上,配置是一个很灵活的选择,根据需要可以添加更多的选项,支持更多的功能。
2.配置文件Apache的配置文件是httpd.conf,一般在/etc/http/conf或/usr/local/apache/conf目录,以rpm包形式安装的Apache,配置文件的位置是/etc/httpd/conf/httpd.conf。
目录一、mrtg安装(linux)(一)cisco设备配置(二)服务器配置(源码安装gcc、snmp、mrtg等)(三)添加mrtg用户和权限(四)服务器支持中文注:产生乱码大概有以下几点原因:1.系统默认语言,默认语言最好是英文,对于中文只是支持即可。
2.节点生成的配置文件,语言项,应该是“Chinese”或者GB2312,这两个可互相切换一下,因为系统版本不同可能要用的表示方法也不同。
3.生成过的index文件被Windows的记事本打开编辑过,有些Windows的记事本会产生乱码,这点要注意,不要用记事本打开生成的index文件。
4.更改过语言的配置文件,要将生成的index文件删除,重新生成。
5.查看MRTG的程序配置文件,语言应为中文。
一、Mrtg安装(linux)(一)CISCO设备配置1、进入enable模式2、config terminal3、依次输入如下命令snmp-server community public ROsnmp-server trap-source FastEthernet0/0snmp-server contact [你的联系人EMAIL地址]snmp-server enable traps(二)服务器配置(源码安装gcc、snmp、mrtg等)1.Mrtg需要的源码包如下。
gcc-4.5.0.tar.gz或gcc-4.5.0.tar.bz2gmp-4.3.2.tar.gz或gmp-4.3.2.tar.bz2mpfr-2.4.2.tar.gz或mpfr-2.4.2tar.bz2mpc-0.8.1.tar.gz或mpc-0.8.1.tar.bz2#说明要安装gcc需要GMP、MPFR、MPC这三个库,可从ftp:///pub/gcc/infrastructure/下载相应的压缩包。
由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。
net-snmp-5.4.tar.gz或net-snmp-5.4.tar.bz2ncurses-5.7.tar.gz或ncurses-5.7.tar.bz2zlib-1.2.3.tar.gz或zlib-1.2.3.tar.bz2httpd-2.2.9.tar.gz或httpd-2.2.9.tar.bz2libpng-1.2.8-config.tar.gz或libpng-1.2.8-config.tar.bz2freetype-2.1.9.tar.gz或freetype-2.1.9.tar.bz2jpegsrc.v6b.tar.gz或jpegsrc.v6b.tar.bz2gd-2.0.33.tar.gz或gd-2.0.33.tar.bz2libxml2-2.6.19.tar.gz或libxml2-2.6.19.tar.bz2mrtg.tar.gz或mrtg.tar.bz22.环境安装安装gmptar xzvf gmp-4.3.2.tar.gz或tar –xvf gmp-4.3.2.tarmkdir gmp-buildcd gmp-build../gmp-4.3.2/configure --prefix=/usr/local/gmpmake &&make install安装mpfrtar xzvf mpfr-2.4.2.tar.gz或tar –xvf mpfr-2.4.2.tarmkdir mpfr -buildcd mpfr -build../gmp-4.3.2/configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmpmake &&make install安装mpctar xzvf mpc-0.8.1.tar.gz或tar –xvf mpc-0.8.1.tarmkdir mpc -buildcd mpc -build../gmp-4.3.2/configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp--with-mpfr=/usr/local/mpfrmake &&make install安装gcctar xzvf gcc-4.5.0.tar.gz或tar –xvf gcc-4.5.0.tar #进入gcc源码目录后解压mkdir gcc-buildcd gcc-build../gcc-4.5.0/configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++,java --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc 为保险起见,需要在环境变量LD_LIBRARY_PATH添加前面三个库的位置,键入以下命令:ExportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc/lib:/usr/local/gmp/lib:/usr/loc al/mpfr/libmake &&make install在这里我为gcc和g++命令分别建立了一个软链接。
进入/usr/bin目录后,键入如下命令建立软链接。
cd /usr/binsudo ln -s /usr/local/gcc/bin/gcc gcc45sudo ln -s /usr/local/gcc/bin/g++ g++45由于我不想每次编译程序都生成环境变量,所以需要编辑/etc目录下的bashrc文件配置shell环境。
在这个文件中添加以下语句:LD_LIBRARY_PATH=:/usr/local/mpc/lib:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr /local/gcc/libexport LD_LIBRARY_PATH保存重启系统后,就可以使用新装的gcc了。
安装net-snmptar net-snmp-5.4.tar.gz或tar –xvf net-snmp-5.4.tarcd net-snmp-5.4./configure --prefix=/usr/local/net-snmpmake &&make install修改/etc/snmp/snmpd.conf去掉89如下一行的注释view mib2 included .dod.internet.mgmt.mib-2 fc在大约57行处添加如下一行view systemview included .1.3.6.1.2.1.2把62如下行access notConfigGroup "" any noauth exact systemview none none 改作:access notConfigGroup "" any noauth exact mib2 none none3.启用snmpd服务service snmpd startchkconfig --levle 2345 snmpd on4.查看端口的开启状况netstat -tunlp |grep snmp3.MRTG生成供浏览图像需要httpd服务的支持,同时也需要gd、libpng 和zlib三个软件包的支持,而gd的正常运行也需要其它的几个软件,下面一并安装它们安装ncursestar –zxvf ncurses-5.7.tar.gz或tar –xvf ncurses-5.7.tarcd ncurses-5.7./configure –prefix=/usr/local/ncurses –with-sharedmake &&make install安装zlibtar zxvf zlib-1.2.3.tar.gzcd /zlib/1.2.3./configure --prefix=/usr/local/zlibmake&&make install安装httpdtar zxvf httpd-2.2.9.tar.gz或tar xvf httpd-2.2.9.tarcd httpd-2.2.9/./configure --prefix=/usr/local/apache --enable-modules=all --enable-so --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-proxy --enable-proxy-http --enable-proxy-ftp --enable-proxy-ajp --enable-proxy-balancer --with-mpm=worker --enable-mods-shared=all --enable-static-ab --enable-cgi --enable-rewrite --with-z-dir=/usr/local/zlib make&&make install启动httpd/usr/local/apache/bin/apachectl -k start安装libpngtar zxvf libpng-1.2.8-config.tar.gzcd libpng-1.2.8-config./configure --prefix=/usr/local/libpngmake&&make install安装freetypetar zxvf freetype-2.1.9.tar.gzcd freetype-2.1.9./configure --prefix=/usr/local/freetypemake&&make install安装jpegsrc.v6btar zxvf jpegsrc.v6b.tar.gzcd jpegsrc.6b./configure --prefix=/usr/local/jpegsrcmkdir /usr/local/jpegsrc/man/man1/cjpeg.1 -pmkdir /usr/local/jpegsrc/bin/cjpeg -pmake&&make install安装gdtar zxvf gd-2.0.33.tar.gzcd gd-2.0.33/./configure --prefix=/usr/local/gd --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --with-jpeg=/usr/local/jpegsrc/vi gd_png.c将#include “png.h” /* includes zlib.h and setjmp.h */替换成:#include “/usr/local/libpng/include/png.h” /* includes zlib.h and setjmp.h make&&make install安装libxml2tar zxvf libxml2-2.6.19.tar.gzcd libxml2-2.6.19/./configure --prefix=/usr/local/libxmlmake&&make install4.安装配置MRTG安装mrtgtar zxvf mrtg.tar.gzcd mrtg-2.17.2/./configure --prefix=/usr/local/mrtg --with-gd=/usr/local/gd --with-gd-lib=/usr/local/gd/lib --with-gd-inc=/usr/local/gd/include -with-png=/usr/local/libpng --with-png-lib=/usr/local/libpng/lib --with-z=/usr/local/zlib --with-z-lib=/usr/local/zlig/libmake&&make install生成配置文件./cfgmaker --snmp-options=:::::2 --output=/usr/local/mrtg/bin/YZ82.cfg ccme6827flying|`3@210.51.175.82(百兆以上)./cfgmaker --output=/usr/local/mrtg/bin/YZ82.cfg usernet@210.51.175.82(百兆以下)配置配置文件Refresh: 300Interval: 5Language: Chinese(放在配置文件的最后)### Global Config OptionsRunAsDaemon:Yes (以进程方式运行)# for UNIXWorkDir: /var/www/html/mrtg/LT3300(网页文件存放的地方)# or for NT# WorkDir: c:\mrtgdata### Global Defaults# to get bits instead of bytes and graphs growing to the rightOptions[_]: growright, bitsEnableIPv6: no配置文件配置完毕,保存退出生成流量图的首页文件./indexmaker --output=/var/www/mrtg/190002/index.html --title=YZA086-190002-BD2224 /usr/local/mrtg/bin/yz190002.cfg(生成首页文件)执行配置文件,运行流量监控mrtg /usr/local/mrtg/bin/*.cfgenv LANG=C ./mrtg syq158001.cfg使用手工运行mrtg并不能定时产生适当的统计信息,因此最好还是定时自动运行mrtg来生成统计信息,默认为五分钟运行一次。