Cacti是很不错的流量监控软件,利用rrdtool制图,可精确系统地展示流量图。有个需求:汇总线上所有服务器的inbound和outbound流量,并导出每5分钟的更新数据。

一、Cacti精度设置

1、修改rrdtool的存储大小

console-Management->Data Sources->RRAs

修改模版参数,如hourly(1 minute average)

Consolidation Functions设置为:max、min、average和last

X-Files Factor修改为:0.5

Steps设置为:1 (每1分钟绘图一次

Rows设置为:60(在Timespan这个时间跨度里保存的数据记录数,单位为minutes

Timespan设置为:3600(时间跨度

推荐的模版参数如下:   


hourly

(1minute

average)

daily

(5minute

average)

weekly

(5minute

average)

monly

(5minute

average)

yearly

(1hour

average)

1

5

5

5

60

60

288

2016

8928

8760

3600

86400

604800

2678400

33053184


2、修改数据索引

console-Management->Templates->data templates

(1、在Associated RRA's添加刚刚创建的5个RRD模板  
(2、将step设置为60(每60秒绘图一次)    
(3、将Heartbeat设置为120(120为超时时间)

3、修改crontab任务

*/5 * * * * /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1

修改为

*/1 * * * * /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1

4、rows默认存储数据最大值为10000,要想存储超过10000行的数据,需要修改lib/rrd.php文件中的参数maxrows

参考如下:

   /* basic export options */  
   $xport_opts =    
       "--start=$xport_start" . RRD_NL .    
       "--end=$xport_end" . RRD_NL .    
       "--maxrows=100000" . RRD_NL;    
   $xport_defs = "";

二、利用插件Aggregate合并流量汇总

也可手工一个个加,参考博客:http://lihuipeng.blog.51cto.com/3064864/638895,不过我做出来的是有问题的,inbound和outbound数据一样了,没时间进行微调。

1、安装插件

查看官方文档,http://docs.cacti.net/plugin:aggregate,直接下载解压至plugin,然后在页面console-Configuration-->Plugin Management安装即可。

2、使用方法

console-Management->Graph Management,选中要添加到汇总的监控主机

      p_w_picpath,continue即可看到效果图。   

 

注:操作过程中可实时监控日志