Cacti修改采集精度为1分钟

基础知识:建议先了解一下 rrdtool 及 rrd 数据库的工作原理,参考阅读《rrdtool学习笔记》要为Cacti配置1分钟的采集精度,在采集数据开始画图之前需要先做如下4个事情。

1.     创建1分钟的RRA

2.     在Cacti Data Source 模板中修改“Step”和“Heartbeat”的值;

3.     在系统 cron 中修改 poller 的轮询时间间隔;

4.     在 Cacti 配置中修改 poller 的轮询时间间隔。

之所以首先要创建1分钟的RRA,是因为一旦使用了错误的RRA采集数据,那么就比较难修正了,意味着旧的数据要被丢弃重新开始收集(虽然在某些情况下可以通过rrdtool的 dump 和 restore 功能来在原有数据的基础上进行修改,但那需要比较好的掌握 rrdtool 知识)。

以我的VPS为例,只有网络流量图需要精度较高,所以我选择创建新的1分钟 RRA,保留5分钟的默认 RRA 给其他图用(比如 Filesystem space、Memory free 监控等)。

1、首先先创建需要的1分钟RRA:

 “Console” -> “Management” -> “Data Sources” -> RRAs ,Cacti 默认的 RRAs 如下:

Cacti修改采集精度为1分钟

这个RRA的定义可以决定我们不同精度的数据最大保存周期,保存时间 = Step * Steps * Rows 。比如默认的Cacti 5分钟精度的 Daily (5 Miniute Average) 这个RRA精度的数据保存时间为:(5 * 1 * 600) / 60m = 50h ≈ 2d,注意:

  • “Step”是步进时间,是在 Data Source 中定义的,Cacti 的话就是我们下面第二步提到的在 Data template 里定义的 Step 值(单位秒);

  • “Steps”是步进个数,即是指上图 RRA 中定义的 Steps 值;

  • 注:这个保存时间不是上图中的 Timespan 的值,Timespan 指的是我们点击某一个图之后出现的 详细几个分时间段的图中 显示的时间段的长度。

好了,正式开始我们的RRA修改和创建方法说明。

为了区分,我们把默认的5分钟精度的RRA的名字修改一下(别担心,Cacti是用ID来标识它们的),如果想保存的时间周期更长,把 Rows 数量也改大;

然后,我们创建新的1分钟精度的RRAs,比如(@min 表示1分钟精度,@5min表示5分钟精度):

Cacti修改采集精度为1分钟

最终如下:

Cacti修改采集精度为1分钟

我们创建的1分钟精度的RRA,其数据保存的时间周期的计算表格如下:

High resolution settings 

RRA name

Steps

Rows

Span
  (Min)

Archive
  (Min)

Archive
  (Hours)

Archive
  (Days)

poller frequency



1




Hourly (1 Minute Average) @ 1min

1

10080

1

10080

168

7

Daily (5 Minute Average) @ 1min

5

8640

5

43200

720

30

Weekly (30 Minute Average) @ 1min

30

4320

30

129600

2160

90

Monthly (2 Hour Average) @ 1min

120

2160

120

259200

4320

180

Yearly (1 Day Average) @ 1min

1440

1461

1440

2103840

35064

1461


2、在Data Source模板中修改“Step”和“Heartbeat”

“Console” -> “Templates” heading -> “Data Templates”

选择 Interface - Traffic 模板进行修改:

1) “Associated RRAs”,选择我们刚才创建的 @1min 的RRAs(去掉原选择的 @5min 的RRAs):

Cacti修改采集精度为1分钟

注意 Steps 为1的那个 Hourly RRA 为必选,否则你的图还是5分钟一个点。

2)Step改为60(秒):

Cacti修改采集精度为1分钟

3)Hearbeat改为120(秒,Step的2倍):

Cacti修改采集精度为1分钟

4)页面下方点“Save”,然后注意把 标签“2: traffic_out”的“Heartbeat”也再改一次。

最终如图:

Cacti修改采集精度为1分钟

3、修改 cron 中的Poller轮询间隔时间为1分钟

#crontab -e

*/1 * * * * php /home/wwwroot/default/cacti/poller.php >/dev/null &2>1

 

4、在Cacti配置中修改Poller的轮询时间间隔

“Console” -> “Configuration” heading -> “Settings”,点击“Poller”标签

Cacti修改采集精度为1分钟

5、重建 Poller 缓存

“Console” -> “Utilities” heading -> “System Utilities”,点击“Rebuild Poller Cache”。

6、删除原本的 .rrd 文件,等1分钟后 cacti 重建。

rm /home/wwwroot/defautl/cacti/rra/*.rrd

原因是我们修改了所有的RRAs(默认的5分钟的也修改了 rows 数),原来使用旧的RRA生成的rrd文件的定义,还是旧的;用 rrdtool 命令可以查看rrd文件的信息:

rrdtool info localhost_mem_buffers_3.rrd 
好了,等几分钟,刷新一下你的图试试。Good luck!