Cacti流量监控系统搭建维护手册

安装篇

Cacti介绍

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用RRDtool绘画图形。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看的树状结构、host以及任何一张图,同时也能自己增加模板,功能非常强大完善,界面友好。其官方网站:

关于CactiEZ

CactiEZ是一个专门用作运行cactilinux发行版,该版本由Jimmy Conner 制作发行,基于CentOS。安装后只会在系统中安装cactiwebmin所必须的软件,整个系统非常小(安装光盘只有310M),并且已经安装好了一些cacti的插件,如 BackUpDiscoveryFlowviewHaloeMacTrackMonitorNTopRRDCleanReportsTholdToolsUpdate等,其中有些需要用户自己启用才可使用。整个操作系统一旦安装完成,配置好IP后即可使用Cacti,为大家节省了安装配置时间,只不过需要占用一台服务器。

该发行版的主页地址为:

CactiEZ安装Cacti流量监控系统

下载最新的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 –ql 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 –ql ntp 查看安装的文件,并从中找出配置文件所在,进行必要的修改。

这里只对常用的选项进行介绍,其余的可以在网上查找相关资料。

告诉服务器默认情况下,不提供NTP查询服务,不允许外部进行修改,不发送trap报文。

这一项无需修改,按照默认的就好了。

配置你想提供时间同步服务的客户机所在的网络,nomodify不允许客户端修改服务器的配置,notrap不处理客户端发送的trap报文。

配置你的时间服务器的上层时钟源,一般可以从上进行选取。

截图中给出了区公司网管中心NTP服务器的外部时钟源作为参考。

其余的选项都可以保持默认值。然后重启ntpd服务,使得配置文件生效。

查看对应的进程和端口是否启用,确保服务是正常的。

ps aux | grep ntp

ntp使用udp协议,记得开放其123端口。

由于CactiEZ默认安装有linux防火墙iptables,需要设置iptables,开放相关协议的端口。

考虑到iptables的配置较为麻烦,如果不熟悉的话,可以先将相关规则清除掉,再通过其他机制增强CactiEZ服务器的安全性。

删除iptables规则,可用命令iptables –F。再用iptables –-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 
wget 
wget 

注,实际编译安装时建议下载较新的源代码包。如果想稳妥一点,直接按本文说明安装即可

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 
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”在打开的页面中选择“ for network

在打开的页面的右上角中单击“ADD” 添加设备,并在打开的页面中填写相关的信息:填好后再右下角点击“create”创建该设备监控。

1Description:该设备的描述。

2hostname:填写该设备的IP地址。

3Host Template:选Generic SNMP-enable Host

4Monitor Host:打上勾,就会在minitor插件中出现一个主机的图标。Cacti服务器就会在后台不停的ping这个主机,ip就是你先前填写在hostname中的那个。

5Downed Device Detection:检测设备down机的方式,如果是通过SNMP采集流量,一般选择pingSNMP。如果单纯只是镜像某条链路或者主机,选择ping即可。

其他的默认就Ok

6SNMP版本和团体字符视具体情况而定。其余默认OK

注意,如果是要采集设备的流量,在最下面的Associated Data Queries应该有SNMP-Interface Statistics这个数据查询模板才对。

点击右边的Verbose Query,可以看到SNMP查询结果。在后面打造自己的图形模板时有些变量可能会用到。然后单击Save进行保存。

如果Cacti服务器可以找到相应的设备,那么在Devices界面,相应的设备状态应该是up的。

创建需要监控的图表

点击相应的设备进入,点击右上角的“*”为主机创建图像。

在弹出的页面中选择需要监控的端口,在右下角下拉式菜单中选择“In/Out Bit(64-bit counters)”这样可以监控大于100M的流量。然后点击Create创建图表。

创建的图表,默认你是不能直接看到的,必须把它挂到图形树上。Graphs插件看到的是图形树上的东西,想看什么图表,就把什么图表挂上去。

图形树的创建

首先,我们来创建一棵树。在左边的菜单中单击“”,在打开的页面中点击右上角“ADD”创建一棵树。

然后弹出一个菜单,给这棵树取名,例如“南宁城域网”。

下一项默认即可。点击Create,这棵树就生成了。

退回到图形树的界面,我们就看到这棵树。

在这里,我们看到很多树。其中,除了我们之前创建的“南宁城域网”这棵树,还有“Cacti服务器”这棵树,还有“玉林城域网”,“钦州城域网”,“贵港城域网”等。

有了树,我们就可以创建树枝,这样做是为了图形查看方便的需要。

我们可以创建一个树枝叫“核心层”,创建一个树枝叫“汇聚层”,把核心层上联链路的图表挂在核心层的树枝上,把汇聚层上联链路的图表挂在汇聚层的树枝上。如果有特别关注的系统或者大客户电路,可以单独为其建立一棵树,如上图的“电信第二出口”,专门监控各地市的第二出口的电路。记住,树是把图表分类,树枝只是将图表分层显示而已。

树枝的创建也很简单,在上图的图形树中,任意选择一棵树单击进去。如玉林城域网

在右上角有个“Add”,单击它即可创建想要的树枝。

1Parent Item:这个选项是说树枝挂在哪里。默认就是root,树根。很形象,就是从树根长出树枝来,但是树枝的创建是没有限制的。有时为了细分图形,创建了一级的树枝,还需要再创建二级,三级的树枝。这个时候,就是通过这个选项告诉服务器,我要创建哪一级的树枝,并且挂在谁的下面。挂在root下肯定就是第一级的树枝,挂在第一级树枝下的就是第二级的了,以此类推。

2Tree Item Type

当创建树枝的时候选Header。(一般都选Header

当想在这里直接添加图表或者主机时,选择GraphHost。(不建议这样做,当图表很多的时候)

3Title:给树枝一个名称。

其余的默认即可。

图形树创建完毕后,只是给了一个框架,里面什么都没有。就像你买了一个书柜,都分类贴好标签,哪一层放什么书。现在就等你放书上去了。我们先前已经将需要监控的图表生成,现在只需把图表挂上去即可。

放置想要的图表

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 OptionsCacti3种视图模式。你想让他看哪一种,就勾上。

(7)Login Options:一般选择第三个。

(8)Authentication Realm:选择Local

在下方还有3个访问控制的选项,用于给用户授权和定制客户的图形显示。

左边第一个是授权的,想让用户做什么,就勾上什么。

中间那个是设置用户可以看到什么图形,默认是AllowADD是用来添加例外的情况。

如果你把Allow改为Deny,那么默认就是不允许查看图表,可以通过ADD添加例外。

最后一个选项决定了图表以什么样的方式显示出来。这里就不一个一个选项的介绍了。一般按照默认的就OK了。如果想自己调试里面的参数,看看是什么效果,要记住原先的值,如果调错了,可以及时改回来。

Cacti流量监控系统的相关设定

Settings

ConsoleàConfigurationàSettings,这是平时看的最多的一个配置。

这里只介绍几个常用的选项,其他的一般默认就OK了:

Paths:之前有谈到过,就是当下载编译新的rrdtool时需要重新指定rrdtool的路径,就是在这里输入。还有指定中文字体也是在这里。

Poller:很重要。设置不好,会影响SNMP查询性能。

第一项肯定是打钩的,去掉勾就是关闭查询进程了。

第二项查询方式有2种:cmd.phpspine。一般选用后者,前者的查询效率不高。

第三,四项选择“每分钟”,因为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

第一项:选择声音文件。声音文件可以上传,wavmp3格式的均可。

上传目录:/var/www/html/plugins/monitor/sounds/

注意修改文件属性,命令:chown apacheapache 声音文件

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 p_w_picpath这一栏选择相应的图形。然后点击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测试链路是要花费相当大的人力和时间的。CactiAdvanced 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 Percentage1G)”就是GE链路的带宽占用率。

然后点击进去,在CDEF Items最右边点击ADD,定义数值的计算方式。

CDEF Item Type的下拉菜单中,我们会用到3种类型:OperatorAnother 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-Trafficbits/sec(for XXX)就是我们为添加链路占用率针对不同链路带宽生成的模板。以GE链路为例,给出网管中心相应的配置供大家参考。

点击Item#1查看其配置:

点击Item#2查看其配置:

点击Item#5查看其配置:

点击Item#6查看其配置:

我们之前定义的By Percentage1G)就是应用在这里。

因为很多东西要一点一滴的说清楚,很麻烦,自己动手配置一下就清楚了。所以这里给出了关键的配置供大家参考。实在不行,就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管理界面

账号即登陆操作系统的账号

配置NTOP

//默认情况下关闭,需要手工打开

用户名:admin

密 码 :CactiEZ

配置nagios

//默认情况下关闭,需要手工打开

用户名nagiosadmin

CactiEZ