Cacti流量监控系统搭建维护手册
Cacti介绍... 3
关于CactiEZ. 3
从CactiEZ安装Cacti流量监控系统... 3
CactiEZ服务器的配置... 5
网络配置... 5
安装SSH服务... 6
时区设置... 8
设置NTP服务... 8
Cacti流量监控系统的汉化... 11
PHP页面的汉化... 11
rrdtool的汉化... 12
CactiEZ服务器的优化... 14
关闭yum夜间自动更新功能... 14
hosts.deny & hosts.allow.. 15
关闭掉不使用的服务及定期作业... 16
基础应用篇.... 17
添加需要监控的设备... 17
创建需要监控的图表... 18
图形树的创建... 19
放置想要的图表... 21
Cacti流量监控系统的用户管理... 21
Cacti流量监控系统的相关设定... 23
Settings. 23
Misc:... 24
高级应用篇.... 24
Threshold. 24
Monitor25
Weathermap. 26
Advanced Ping. 33
打造自己的模板... 35
添加链路占用率... 36
添加端口信息... 39
CactiEZ默认登陆账号信息... 41
登陆操作系统... 41
首次登陆Cacti41
登陆webmin管理界面... 42
配置NTOP. 42
配置nagios. 42
Cacti介绍
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用RRDtool绘画图形。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看的树状结构、host以及任何一张图,同时也能自己增加模板,功能非常强大完善,界面友好。其官方网站:http://www.cacti.net/
关于CactiEZ
CactiEZ是一个专门用作运行cacti的linux发行版,该版本由Jimmy Conner 制作发行,基于CentOS。安装后只会在系统中安装cacti和webmin所必须的软件,整个系统非常小(安装光盘只有310M),并且已经安装好了一些cacti的插件,如 BackUp,Discovery,Flowview,Haloe,MacTrack,Monitor,NTop,RRDClean,Reports,Thold,Tools,Update等,其中有些需要用户自己启用才可使用。整个操作系统一旦安装完成,配置好IP后即可使用Cacti,为大家节省了安装配置时间,只不过需要占用一台服务器。
该发行版的主页地址为:http://cactiusers.org/。
从CactiEZ安装Cacti流量监控系统
从http://cactiusers.org/ 下载最新的CactiEZ稳定版ISO镜像文件(截至本文撰稿时是0.4版),刻录成启动光盘。然后设置服务器从光盘启动,放入刻录好的光盘,重启服务器即可。服务器会自动进入安装界面,然后回车,会自动完成Cacti的安装。
整个安装过程大概耗时20分钟左右。安装结束后,取出光盘,重启服务器。重起后进入登陆界面,默认系统root用户的密码为:CactiEZ。
CactiEZ服务器的配置
网络配置
默认情况下,CactiEZ是以DHCP自动获取IP地址的。如果您的机器需要配置静态IP的话,使用以下命令:netconfig
回车,进入接口配置界面:
选择YES,回车:
根据提示,设置相应的IP和DNS,配置完成后,选择OK,回车。
接口配置修改后,必须重启相应的服务,修改的配置才会生效。
输入以下命令:service network restart
然后用ifconfig查看端口当前的配置,看是否修改成功。
安装SSH服务
使用命令yum install openssh-server安装SSH服务。根据提示,输入y,自动下载安装。
安装完毕后,我们就可以从远程登陆上去调测服务器了。(*^__^*) 嘻嘻……
首次登陆,使用root账户,密码是CactiEZ。
然后我们要做的两件事:一,增加非root账户;二,修改SSH配置文件,禁止root账户直接登陆,这样做是为了保证CactiEZ服务器的安全。
使用“useradd 账户名”,增加相应的账户。
使用“passwd 账户名”,为相应的账户设置密码。
接下来,修改SSH配置文件。
找到SSH配置文件所在,使用命令rpm �Cql openssh-server
编辑sshd_config文件,使用命令vi /etc/ssh/sshd_config进入SSH配置文件的编辑模式。
在文件中找到PermitRootLogin这一行,将yes改为no,然后保存退出。
同理,要使配置生效,必须重启相应的服务。
这样一来,就只能以普通用户的身份登陆,需要时再切换至root用户。即使如此,设置密码时还是不要过于简单。
时区设置
首先,修改默认时区。Vi /etc/sysconfig/clock
将ZONE修改为“Asia/Shanghai”:
复制相应的时区文件,替换系统默认时区
对于中国服务器则执行:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
设置NTP服务
CactiEZ自带有NTP服务,但是默认情况下,并不向外部时钟源同步时间,而且配置文件过于简单,不利于控制。建议卸载重装。命令:yum remove ntp
卸载完成后,重新使用yum install ntp命令安装NTP服务。
用rpm �Cql ntp 查看安装的文件,并从中找出配置文件所在,进行必要的修改。
这里只对常用的选项进行介绍,其余的可以在网上查找相关资料。
告诉服务器默认情况下,不提供NTP查询服务,不允许外部进行修改,不发送trap报文。
这一项无需修改,按照默认的就好了。
配置你想提供时间同步服务的客户机所在的网络,nomodify不允许客户端修改服务器的配置,notrap不处理客户端发送的trap报文。
配置你的时间服务器的上层时钟源,一般可以从http://www.pool.ntp.org/上进行选取。
截图中给出了区公司网管中心NTP服务器的外部时钟源作为参考。
其余的选项都可以保持默认值。然后重启ntpd服务,使得配置文件生效。
查看对应的进程和端口是否启用,确保服务是正常的。
ps aux | grep ntp
ntp使用udp协议,记得开放其123端口。
由于CactiEZ默认安装有linux防火墙iptables,需要设置iptables,开放相关协议的端口。
考虑到iptables的配置较为麻烦,如果不熟悉的话,可以先将相关规则清除掉,再通过其他机制增强CactiEZ服务器的安全性。
删除iptables规则,可用命令iptables �CF。再用iptables �C-list进行检查,确认。
查看端口情况,可以用命令:netstat -unl
查看NTP服务器的同步状态,使用ntpq -p 。
打*号的是当前提供时钟源服务的上层时间服务器。
了解服务器当前状态ntpstat
了解本地服务器和上层时间服务器之间的关系
从上图看出,我们的上层时间服务器位于第2层,但是在查询顶层服务器的时候出现了超时,有可能是该服务器做了限制查询的。
Cacti流量监控系统的汉化
这里所说的汉化并非完全意思上的中文化,我们所做的只是让Cacti尽可能多地支持中文的显示,方便我们查看相关的图标,但是整个Cacti的配置界面还是英文的。
PHP页面的汉化
CactiEZ到了0.4版,应该说已经做的比较好了。
默认情况下,直接输入中文,在大部分web页面都可以正常显示。但是,在测试中发现还是有一个位置不能正常显示中文,就是Data Source。(你目前看到的这个截图是已经汉化过的,所以可以正常显示中文。)
要汉化Data Source的页面,需要修改data_suorces.php.
具体命令如下:
Find / -name data_suorces.php//找到data_suorces.php所在路径
编辑data_suorces.php,删除了"htmlentities"函数即可。
修改前:
form_selectable_cell("<a class='linkEditMain' href='data_sources.php?action=ds_edit&id=" . $data_source["local_data_id"] . "'>" . (($_REQUEST["filter"] != "") ? eregi_replace("(" . preg_quote($_REQUEST["filter"]) . ")", "<span style='background-color: #F8D93D;'>\\1", title_trim(htmlentities($data_source["name_cache"]), read_config_option("max_title_data_source"))) : title_trim(htmlentities($data_source["name_cache"]), read_config_option("max_title_data_source"))) . "", $data_source["local_data_id"]);
修改后
form_selectable_cell("<a class='linkEditMain' href='data_sources.php?action=ds_edit&id=" . $data_source["local_data_id"] . "'>" . (($_REQUEST["filter"] != "") ? eregi_replace("(" . preg_quote($_REQUEST["filter"]) . " )", "<span style='background-color: #F8D93D;'>\\1", title_trim($data_source["name_cache"], read_config_option("max_title_data_source"))) : title_trim($data_source["name_cache"], read_config_option("max_title_data_source"))) . "", $data_source["local_data_id"]);
至此,php页面的汉化基本完成。
在大多数情况下,这样程度的汉化能够满足我们的基本要求。
rrdtool的汉化
rrdtool的汉化是保证输出的图形可以正常显示中文。这需要重新编译rrdtool的源代码,并安装中文字体包。
a.安装编译器和中文字体包
因为现在Cacti还不支持中文(希望以后的版本默认就可以支持中文,这样就很省事情了,呵呵),主要是rrdtool在绘图时不能正常现实中文字体,现在我们就要对rrdtool进行重新编译。
rrdtool支持中文需要修改源代码,重新编译。但是CactiEZ没有安装c编译器gcc、C++编译器gcc-c++和中文字体ttfonts-zh_CN,在编译之前,请用yum安装好这些包。
yum install gcc
yum install gcc-c++
yum install ttfonts-zh_CN (字体默认安装在/usr/share/fonts/)
b.下载和安装rrdtool依赖库
编译rrdtool需要先编译好依赖库freetype-2.1.10.tar.gz,libart_lgpl-2.3.17.tar.gz,libpng-1.2.10.tar.gz,然后修改rrdtool的源代码文件,再编译rrdtool。
整个过程如下:
cd ~
mkdir tmp
cd tmp
wget http://ftp.idilis.ro/mirrors/rrdtool/libs/freetype-2.1.10.tar.gz
wget http://ftp.idilis.ro/mirrors/rrdtool/libs/libart_lgpl-2.3.17.tar.gz
wget http://ftp.idilis.ro/mirrors/rrdtool/libs/libpng-1.2.10.tar.gz
注,实际编译安装时建议下载较新的源代码包。如果想稳妥一点,直接按本文说明安装即可
tar -zxvf freetype-2.1.10.tar.gz
tar -zxvf libart_lgpl-2.3.17.tar.gz
tar -zxvf libpng-1.2.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr ; make ; make install
cd ../libart_lgpl-2.3.17
./configure --prefix=/usr ; make ; make install
cd ../libpng-1.2.10
./configure --prefix=/usr ; make ; make install
cd ../
c. 下载rrdtool和修改源文件
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
tar -zxvf rrdtool-1.2.26.tar.gz
cd rrdtool-1.2.26/src/
现在修改rrdtool的源文件,需要修改的文件是rrd_graph.c
修改rrd_graph.c:
vi rrd_graph.c
删除rrd_graph.c文件中以下两行:
setlocale(LC_TIME,"");
setlocale(LC_CTYPE,"");
在原来setlocale(LC_CTYPE,"")的位置增加以下内容:
setlocale(LC_ALL,"zh_CN.UTF-8");
现在修改完毕,可以开始编译了
d.编译新的rrdtool
编译前运行
yum install ruby//安装ruby的语言支持环境,编译rrdtool时需要;不安装,编译也可以通过,最好是安装进去
cd ../
./configure --prefix=/usr --exec-prefix=/usr/rrdtool1.2.26
make
make install
新版本rrdtool的可执行文件安装在/usr/rrdtool1.2.26/bin中,系统原有的在/usr/bin中。需要修改cacti的设置,用新编译好的rrdtool版本替换原有版本。
e. 修改Cacti的rrdtool设置,使其支持中文设备名和图片中输出中文
登陆Cacti,在主页的左边点击setting,选择paths页 (console>>setting>>paths)
将RRDTool Binary Path修改为:/usr/rrdtool1.2.26/bin/rrdtool
还需要修改rrdtool的字体设置:
登陆Cacti,在主页的左边点击setting,选择paths页 (console>>setting>>paths)
将RRDTool Default Font Path修改为:/usr/share/fonts/zh_CN/TrueType/gkai00mp.ttf
点击save。
网管中心下载的是1.2.27版本的rrdtool源代码编译安装的,使用的字体是zysong.ttf。
到这里,Cacti服务器的安装和汉化基本完成。
CactiEZ服务器的优化
关闭yum夜间自动更新功能
任何使用yum命令的操作完成之后,必须手工将其服务关闭。
默认情况下,CactiEZ服务器会在夜间实行自动更新功能。这对服务器的稳定性不利。尤其是,如果服务器自动升级了操作系统内核,很可能造成Cacti流量监控系统**。对于自动安装的系统,不清楚底层相关配置的话,自动升级引起的问题很可能让你束手无策。
所以,为了服务器的稳定性,强烈建议关闭yum自动更新功能。
注:即使使用手工的方式升级操作系统套件,但是坚决不能升级内核相关的东西。除非你很有信心可以自己搞定。
使用命令:service yum stop
并建议同时关闭yum的自启动项目,命令:chkconfig yum off
查看CactiEZ的自启动项目:chkconfig --list
这里,yum在所有的启动级别都是off,说明已经关闭yum的自启动项目,yum不会随服务器重启而自动开启。
hosts.deny & hosts.allow
如果你对iptables很熟悉并乐于用iptables来增强服务器的安全性的话,大可跳过本节。
如果你觉得iptables比较麻烦,又不想自己的服务器完**露在网络中,可以尝试本节介绍的方法。但是这种方法提供的功能有限,不能完全取代iptables。
/etc/hosts.allow和/etc/hosts.deny两个文件是用来控制远程访问的,通过它可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。
/etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP。两个文件的检查顺序如下:
先判断访问是否被允许 hosts.allow
->
允许就通过
不允许看访问是否被禁止 hosts.deny
->
如果2个文件都没提到该服务 那就默认允许
两个配置文件的格式如下:
#服务进程名:主机列表:当规则匹配时可选的命令操作
server_name:hosts-list[:command]
例如,限制所有的ssh,除非从218.64.87.0――127上来:
hosts.allow:
in.sshd:218.64.87.0/255.255.255.128
hosts.deny:
in.sshd:ALL
其中IP地址范围的写法有若干中,主要的三种是:
1.网络地址――子网掩码方式:
218.64.87.0/255.255.255.0
2.省略的网络地址方式
218.64.(即以218.64打头的IP地址)
3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如:
218.64.87.0/255.255.255.0《====》218.64.87.0/24
这里给出网管中心Cacti服务器的配置,供大家参考。
关闭掉不使用的服务及定期作业
CactiEZ默认安装了其他一些服务,有兴趣的同事可以自行研究。
如果只是用CactiEZ监控流量的话,以下服务均可关闭。
命令:service 服务名 stop
chkconfig 服务名 off
相关的服务有:
iptables如果不用,可以有hosts.allow和hosts.deny替代
webminlinux图形化配置界面,感兴趣的同事可以看看,不过不怎么好用,建议关闭
nagios另一个服务监控系统(适用主机的),默认关闭,要启用必须手工打开
ntop流量分析软件,默认关闭,要启用必须手工打开
注释掉定期作业中不需要的,默认的安装如下:
我们只保留定期查询流量的作业和备份的作业。将其余2个netflow相关的作业OVER掉。
至此,终于可以进入Cacti流量监控系统的基础应用部分了。真累人呀~555
添加需要监控的设备
要监控链路的流量,首先要将链路所属的设备添加进去。
创建设备:双击在左上角“console”在打开的页面中选择“Create devices for network”
在打开的页面的右上角中单击“ADD” 添加设备,并在打开的页面中填写相关的信息:填好后再右下角点击“create”创建该设备监控。
(1)Description:该设备的描述。
(2)hostname:填写该设备的IP地址。
(3)Host Template:选Generic SNMP-enable Host
(4)Monitor Host:打上勾,就会在minitor插件中出现一个主机的图标。Cacti服务器就会在后台不停的ping这个主机,ip就是你先前填写在hostname中的那个。
(5)Downed Device Detection:检测设备down机的方式,如果是通过SNMP采集流量,一般选择ping和SNMP。如果单纯只是镜像某条链路或者主机,选择ping即可。
其他的默认就Ok。
(6)SNMP版本和团体字符视具体情况而定。其余默认OK。
注意,如果是要采集设备的流量,在最下面的Associated Data Queries应该有SNMP-Interface Statistics这个数据查询模板才对。
点击右边的Verbose Query,可以看到SNMP查询结果。在后面打造自己的图形模板时有些变量可能会用到。然后单击Save进行保存。
如果Cacti服务器可以找到相应的设备,那么在Devices界面,相应的设备状态应该是up的。
创建需要监控的图表
点击相应的设备进入,点击右上角的“*Create Graphs for this Host”为主机创建图像。
在弹出的页面中选择需要监控的端口,在右下角下拉式菜单中选择“In/Out Bit(64-bit counters)”这样可以监控大于100M的流量。然后点击Create创建图表。
创建的图表,默认你是不能直接看到的,必须把它挂到图形树上。Graphs插件看到的是图形树上的东西,想看什么图表,就把什么图表挂上去。
图形树的创建
首先,我们来创建一棵树。在左边的菜单中单击“Graph Trees”,在打开的页面中点击右上角“ADD”创建一棵树。
然后弹出一个菜单,给这棵树取名,例如“南宁城域网”。
下一项默认即可。点击Create,这棵树就生成了。
退回到图形树的界面,我们就看到这棵树。
在这里,我们看到很多树。其中,除了我们之前创建的“南宁城域网”这棵树,还有“Cacti服务器”这棵树,还有“玉林城域网”,“钦州城域网”,“贵港城域网”等。
有了树,我们就可以创建树枝,这样做是为了图形查看方便的需要。
我们可以创建一个树枝叫“核心层”,创建一个树枝叫“汇聚层”,把核心层上联链路的图表挂在核心层的树枝上,把汇聚层上联链路的图表挂在汇聚层的树枝上。如果有特别关注的系统或者大客户电路,可以单独为其建立一棵树,如上图的“电信第二出口”,专门监控各地市的第二出口的电路。记住,树是把图表分类,树枝只是将图表分层显示而已。
树枝的创建也很简单,在上图的图形树中,任意选择一棵树单击进去。如玉林城域网
在右上角有个“Add”,单击它即可创建想要的树枝。
(1)Parent Item:这个选项是说树枝挂在哪里。默认就是root,树根。很形象,就是从树根长出树枝来,但是树枝的创建是没有限制的。有时为了细分图形,创建了一级的树枝,还需要再创建二级,三级的树枝。这个时候,就是通过这个选项告诉服务器,我要创建哪一级的树枝,并且挂在谁的下面。挂在root下肯定就是第一级的树枝,挂在第一级树枝下的就是第二级的了,以此类推。
(2)Tree Item Type
当创建树枝的时候选Header。(一般都选Header)
当想在这里直接添加图表或者主机时,选择Graph或Host。(不建议这样做,当图表很多的时候)
(3)Title:给树枝一个名称。
其余的默认即可。
图形树创建完毕后,只是给了一个框架,里面什么都没有。就像你买了一个书柜,都分类贴好标签,哪一层放什么书。现在就等你放书上去了。我们先前已经将需要监控的图表生成,现在只需把图表挂上去即可。
放置想要的图表
在console界面的Management --》Graph Management中,可以看到我们之前创建的图形。
如果图形较多,可以通过Host选项筛选。
找到你想要的图形,单击它,(单击蓝色的图形标题就会进入该图形界面,这里不需要)
选中之后会变成黄色。
在右下角的下拉菜单中,选择一个动作。
一般用的最多的就2个,一个是Delete,删除掉不需要的图表;
另一个是Place on a tree,放置在某棵树上。
选定之后,点击“go”即可。如果是删除,它会让你再次确认。如果是放置在某棵树上,它会让你选择挂在哪里,是root还是某个树枝上。根据提示操作即可。搞定之后,就跑到graphs界面下看看自己的图表吧。
放置想要的图表
在console界面的Management --》Graph Management中,可以看到我们之前创建的图形。
如果图形较多,可以通过Host选项筛选。
找到你想要的图形,单击它,(单击蓝色的图形标题就会进入该图形界面,这里不需要)
选中之后会变成黄色。
在右下角的下拉菜单中,选择一个动作。
一般用的最多的就2个,一个是Delete,删除掉不需要的图表;
另一个是Place on a tree,放置在某棵树上。
选定之后,点击“go”即可。如果是删除,它会让你再次确认。如果是放置在某棵树上,它会让你选择挂在哪里,是root还是某个树枝上。根据提示操作即可。搞定之后,就跑到graphs界面下看看自己的图表吧。
Cacti流量监控系统的用户管理
在consoleàUtilitiesàUser Management,用于用户管理的设定。
单击进入用户管理界面,如图:
在右上角有个“Add”,单击新增用户。
我们以“gxtx”这个用户为例进行说明:
(1)User Name:用户名。
(2)Full Name:用户全民。一个对用户名更加详细的描述而已。
(3)Password:密码。两次输入必须一致。
(4)Enabled:要使账号生效,必须勾上。
(5)Account Options:第一个选项强制用户下次登陆后修改密码。
第二个选项允许用户保存自己的图形设置。(用户不熟悉的话,不建议勾上)
(6)Graph Options:Cacti有3种视图模式。你想让他看哪一种,就勾上。
(7)Login Options:一般选择第三个。
(8)Authentication Realm:选择Local。
在下方还有3个访问控制的选项,用于给用户授权和定制客户的图形显示。
左边第一个是授权的,想让用户做什么,就勾上什么。
中间那个是设置用户可以看到什么图形,默认是Allow。ADD是用来添加例外的情况。
如果你把Allow改为Deny,那么默认就是不允许查看图表,可以通过ADD添加例外。
最后一个选项决定了图表以什么样的方式显示出来。这里就不一个一个选项的介绍了。一般按照默认的就OK了。如果想自己调试里面的参数,看看是什么效果,要记住原先的值,如果调错了,可以及时改回来。
Cacti流量监控系统的相关设定
Settings
ConsoleàConfigurationàSettings,这是平时看的最多的一个配置。
这里只介绍几个常用的选项,其他的一般默认就OK了:
Paths:之前有谈到过,就是当下载编译新的rrdtool时需要重新指定rrdtool的路径,就是在这里输入。还有指定中文字体也是在这里。
Poller:很重要。设置不好,会影响SNMP查询性能。
第一项肯定是打钩的,去掉勾就是关闭查询进程了。
第二项查询方式有2种:cmd.php和spine。一般选用后者,前者的查询效率不高。
第三,四项选择“每分钟”,因为CactiEZ默认安装的Cacti查询周期是1分钟的。
第五项Maximum Concurrent Poller Processes:选1即可。
第六项Maximum Threads per Process:建议不超过20。
第七项Number of PHP Script Servers:视机器性能而定,建议不超过5。
第八项Script and Script Server Timeout Value:不能超过1分钟。因为查询周期是1分钟,所以脚本执行必须在1分钟内完成。实际情况要通过第五至第九项差数进行调节。
调节的结果有2个地方可以看得到:
1.一个是安装完服务器后,服务器自带的local主机的性能图表:Local-Poller Statistics
注意到Poller Runtime这个参数,要确保其最大值小于你之前设定的Script and Script Server Timeout Value。超过的话会影响图形的生成。
2.第二个查看Poller性能的地方在console->Utilities->System Utilities->View Cacti Log File。
这里会将一些相关参数显示出来,我们只需要关注的是“Time”这个参数,确保小于1分钟即可。另外,上图中我们还看到了黄色的告警,“Poller[0] WARNING: Cron is out of sync with the Poller Interval!”说明Poller查询超过了1分钟,如果这个告警只是偶尔出现,影响不大。如果出现很频繁,那么你可以考虑调整参数了。
Misc:
这一选项主要是关注Monitor。
第一项:选择声音文件。声音文件可以上传,wav和mp3格式的均可。
上传目录:/var/www/html/plugins/monitor/sounds/
注意修改文件属性,命令:chown apache:apache 声音文件
chmod 644 声音文件
第二项表示Monitor刷新时间。
第三项表示每一行放置多少个镜像主机。
后面还有3项自己调试吧,不一一说明了。
其余的默认即可。
Threshold
Threshold插件的功能是提供越限告警。Console->Management->Threshold,点击进去。
页面上方介绍了2种定制越限告警的方法。具体如下:
第一种方法适合单链路定制越限告警:
Console->Management->Data Sources,通过Host选择想要的电路。
点击后面的“Template Name”下面的蓝色字样,就可以进入越限告警的定制了。
可以分别对出入流量的上下限值做设定,超过上限或者低于下限,就会出现告警。
在thold插件中,对应的链路会变成红色,正常情况下是绿色。
在monitor插件中,所属的主机会出现黄色的闪烁。
这里给出网管中心的配置做参考,具体含义不一一讲解。
在网管中心的配置中,Baseline monitoring没有设置。
Monitor
提供主机或者链路的镜像功能。
当添加设备的时候,只要在Monitor Host前面打上勾即可。
如果属于该设备的链路出现故障或者是越限(前提是已经在thold下设置好),那么该主机会出现相应的颜色指示,不停的闪烁。
Weathermap
能显示链路流量状态的拓扑图,很直观
CactiEZ默认安装下,weathermap会有一个配置文件simple.conf。可以通过find命令查找其路径:find / -name simple.conf
这样,我们就找到了simple.conf文件的路径。
当我们需要weathermap画图的时候,第一步就是要增加相应的配置文件。下面,就以绘制柳州城域网拓扑图为例,详细介绍weathermap的使用过程:
1.进入weathermap配置文件所在目录:
一般情况下,在该目录中会存在index.php和simple.conf,无需改动。NN.conf是后来新增的南宁城域网拓扑图的配置文件。我们现在就增加柳州城域网拓扑图的配置文件lz.conf,使用命令vi lz.conf,然后随便在里面输入几个#,保存退出。
ls就可以看到生成的lz.conf文件。
下一步,修改该文件的属主属性:chown apache:apache lz.conf
修改该文件的权限:chmod 755 lz.conf
完成上面两步,才能正常使用新生成的lz.conf的配置文件。
2.进入cacti的页面,console->management->weathermaps,左键单击会看到如下:
单价右上角的ADD的按键,会看到我们之前生产的lz.conf的配置文件(注:如果没有修改属主属性和文件权限的话,会有错误的提示。)
继续ADD,把配置文件添加进去。
目前,lz.conf没有标题,状态是激活(单击会变成no,no就不会画图),箭头可以调序。
我们首先要修改的是访问权限问题,目前只是admin可以访问。
单击admin,
在allow下拉菜单选择你希望可以看到图形的对象,单击update进行添加。这里,我们选择anyone。
然后单击lz.conf,进入该文件的配置状态:
白色的背景图太难看了,我们先换一个背景图。点击Map Properties,修改图形属性,在Background image这一栏选择相应的图形。然后点击submit提交。
接下来,增加节点:
点击,在图中任意位置单击左键,生成一个节点。
左键单击该节点,然后弹出一个对话框:
第一行position,代表该节点的位置,由(横坐标,纵坐标)表示,原点在图形的
最左上角。
第二行是内部名称,是显示在syslogs插件里面的,尽量详细以便可以在日志中看出是什么设备。
第三行是Label,标签是显示在weathermap,给用户看的。能看懂就行,应尽量简单。
默认不支持中文,因为要修改比较复杂,暂时没有较好的方法汉化。
最后一行选择该节点的图形,假设是router,然后点击submit。
3.生成相应的链路,假设已经添加了部分节点,如图:
3.1左键单击,然后点击链路的起始节点,该节点会变红,接着再点击链路的终止节点,那么两个节点之间就会生成相应的链路。
4.选择该链路对应的流量采集图形。
注意到,该链路中有两个相对的箭头,代表两个方向的流量。任意点击其中一个,都可以选择对应的图形,关键是图形的出入流量要和箭头对应起来,这个和生成链路的起始节点和选择图形的时候点击的箭头有关系,没有固定的做法。如果反了,换一个箭头再选择图形或者重新生成链路,换一个起始节点即可。前提是,首先要有相应的图形,才能使用weathermap进行绘制。
点击链路的任意一个箭头,会弹出上方的对话框,查看链路带宽和实际的是否相符,不符要进行修改。
在地市级的城域网中,1000M对应的箭头宽度Link Width是3,10G对应的是5,100M对应的是1。
在广西IP城域网中,10G对应的是5,2.5G对应的是3,155M对应的是1。
这是个协定,只是为了绘图统一。
点击[Pick from Cacti],选择之前已经生成的流量图形即可。最后提交。
5.修改标题。
点击,弹出,在Map Title里面输入标题,“柳州城域网拓扑图”;
修改默认链路宽度Link Width,改为3;
默认链路带宽由100M改为1000M,然后提交。
6.修改链路属性。
单击,弹出。
第一行,链路标签,可以选择显示具体数值或者链路占用率或者无显示。
第二,三行无需修改。
第四行是节点标签的字体,第五行是链路标签的字体,第六行是的字体。
为了统一,第四,五,六行分别设置3,1,3。
7.时间显示
点击,然后鼠标左键点击任意位置即可。一般选择右下角放置时间显示。
8.流量标识显示
点击,然后鼠标左键点击任意位置即可。一般选择右上角。
最后,整个图形生成完毕以后,为了美观,可能需要通过调节节点的坐标值。
这样整个图形就出来了。
Advanced Ping
我们平时用来测试链路性能的方法,用得最多的应该是ping。但是手工ping测试链路是要花费相当大的人力和时间的。Cacti的Advanced Ping模板,能让Cacti自动测试链路的性能值并记录下来,以图形的形式显示给我们,方便我们查询,省去了手工测试的繁琐。
但是Advanced Ping对服务器性能影响很大,尤其在链路故障的时候,请视情况使用。
要应用Advanced Ping模板,首先确保在Cacti服务器中存在脚本。幸运的是,CactiEZ 0.4版已经安装有该脚本。
在CactiEZ服务器下,我们所要做的是导入Advanced Ping模板,就可以应用了。
Advanced Ping模板在网上有很多下载地址,这里提供一个:
http://www.pmail.idv.tw/plog/download.php?id=481
下载到本地计算机,然后解压。
进入cacti的console界面,点击Import Templates,导入模板。
然后会提示,选择你想导入的模板,点击浏览,在本地计算机上选择之前下载的Advanced Ping模板。
确定之后,一路点击Save即可。
添加成功的话,会在Data Input Methods里面看到“PING-Advanced Ping v1.3”。
以添加一条测试链路为例,说明该模板的应用。
假设现在添加南宁至南宁GSR 10G电路。
1.点击Management下面的devices,然后点击右上角的ADD,添加设备。
2.在第一项描述里,填写链路的名称。
第二项填写所要Ping的链路的端口地址。
第三项主机模板选择“None”,因为我们只是提供一个IP来ping,不需要任何snmp数据。
3.将Monitor Host勾上,因为我们要在monitor插件中直观的显示出来。
检测主机的方法就用ping,具体里面有ICMP ping ,UDP ping ,TCP ping.一般用UDP Ping即可。但是集团的设备对UDP Ping做了限制,所以这里用了TCP Ping。ICMP ping暂时不能使用,好像是权限的问题。其他的默认就OK了。
然后在相关图形模板中,下拉菜单选择“PING-Advanced Ping v1.3”,点击右边的ADD,
最后点击屏幕上方的
。
会自动转到
将“Create:PING-Advanced Ping v1.3”打上勾,再点击右下角的create,相应的图形
就生成了。
打造自己的模板
Cacti流量监控系统默认的图表只有流量值,没有链路占用率,没有端口信息。
我们需要手工添加进去。
添加链路占用率
这个有点麻烦,需要针对不同的链路带宽应用不同的模板。以GE链路为例进行说明:
要生成不同的模板,首先要定义不同带宽对应的数值计算方式。
Console->Graph management->CDEFs,点击右上角ADD。
给你的数值命名,例如“By Percentage(1G)”就是GE链路的带宽占用率。
然后点击进去,在CDEF Items最右边点击ADD,定义数值的计算方式。
在CDEF Item Type的下拉菜单中,我们会用到3种类型:Operator,Another CDEF
和Custom String。
这里给出GE链路的CDEF,并给出解释:
cdef公式的含义是从左到右,前面2个数参与第3个符号的运算,所得结果再和第4个数值参与第5个符号的运算,以此类推。
以GE链路为例,Item#1取得链路的当前流量,单位是bits。
Item#2 用户定制,因为带宽是1G,所以是1000000000 bits。
Item#3 是“除号”,表示前面2个数相除。
后面再乘以100,那就是GE链路带宽占用率了。其他宽带链路的利用率照此类推。
定义好CDEF,添加链路占用率的工作就完成了1/3。然后根据不同的CDEF,定制不同的端口流量图形模板。
生产你要的模板
Console->Templates->Graph Templates,
你现在看到的Interface-Traffic(bits/sec)(for XXX)就是我们为添加链路占用率针对不同链路带宽生成的模板。以GE链路为例,给出网管中心相应的配置供大家参考。
点击Item#1查看其配置:
点击Item#2查看其配置:
点击Item#5查看其配置:
点击Item#6查看其配置:
我们之前定义的By Percentage(1G)就是应用在这里。
因为很多东西要一点一滴的说清楚,很麻烦,自己动手配置一下就清楚了。所以这里给出了关键的配置供大家参考。实在不行,就Q我吧。
添加端口信息
这里先给出具体配置,再进行说明。
点击Item#17查看其配置:
点击Item#18查看其配置:
点击Item#20查看其配置:
大家比较上面给出的图形,不难看出主要区别在|query_ifDesc|,|query_ifIP|,|query_ifAlias|和|date_time|。这些都是Cacti预先定义好的变量,可以直接利用。其中,有一部分可以直观地在Devices中查看到。点击Devices,点击想要的设备,点击下方的Verbose Query。
里面就可以看到部分已经定义好的变量,可以直接引用。格式:|query_变量名|
CactiEZ默认登陆账号信息
登陆操作系统
用户名:root
密码:CactiEZ
首次登陆Cacti
用户名:admin
密码:admin
登陆webmin管理界面
https://serverip:10000
账号即登陆操作系统的账号
配置NTOP
http://serverip/ntop//默认情况下关闭,需要手工打开
用户名:admin
密 码 :CactiEZ
配置nagios
http://serverip/nagios//默认情况下关闭,需要手工打开
用户名:nagiosadmin
密码:CactiEZ