Cacti修改采集精度为1分钟

本文详细介绍如何在Cacti中配置一分钟的数据采集精度,包括创建1分钟的RRA、修改DataSource模板中的Step和Heartbeat值、调整系统cron中poller的轮询时间间隔等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基础知识:建议先了解一下 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 如下:


这个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分钟精度):


最终如下:


我们创建的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):


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

2)Step改为60(秒):


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


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

最终如图:


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”标签


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!


<think>我们正在讨论Cacti修改现有图形的数据保留设置(rows保留行数)。根据引用[1]的内容,Cacti使用rrdtool来存储数据,数据存储在rra(RoundRobinArchive)文件中。每个rra文件大小固定,并且存储了不同时间精度的数据(如每5分钟、30分钟、2小时等)。这些rra文件定义了数据保留的行数(即数据点数量)。在Cacti中,数据保留设置是在创建图形模板时定义的,但用户可能需要修改现有图形的保留设置。需要注意的是,直接修改现有rra文件是危险的,因为rra文件的结构是固定的。正确的方法是通过修改数据源模板(DataTemplate)或图形模板(GraphTemplate)中的rra设置,然后重建rra文件。然而,对于已经存在的图形,修改模板并重新应用可能不会影响已经生成的rra文件。因此,通常需要以下步骤:1.**修改模板的RRA设置**:在Cacti的“Console”->“Templates”->“DataTemplates”中,找到对应的数据模板,修改其中的RRA设置(即保留行数)。注意:修改模板会影响所有使用该模板的新图形,但不会改变已有图形。2.**重新创建rra文件**:对于已经存在的图形,我们需要删除旧的rra文件并让Cacti重新生成。但注意,删除rra文件会导致历史数据丢失。因此,在执行此操作前,建议备份rra目录。具体步骤:a.备份rra目录(例如:`cp-r/var/www/html/cacti/rra/backup/rra_backup`)。b.在Cacti的“Console”->“DataSources”中,找到需要修改的数据源(DataSource),然后点击最右边的“Delete”按钮旁边的“TurnOnDataSourceDebugMode”图标(一个虫子图标),记下对应的rra文件名(在调试信息中可以看到)。c.或者,直接到rra目录下,根据设备名称或数据源名称找到对应的rra文件(通常以`.rrd`结尾)。d.停止Cacti的轮询(poller)服务(如果是cron运行的,可以暂时注释掉cron任务)。e.删除需要修改的rra文件(或者为了安全,将其移出rra目录)。f.修改数据模板的RRA设置:在数据模板中,点击“RRA”选项卡,修改每个RRA的“Steps”和“Rows”。其中,“Rows”决定了保留的数据点数量。例如,一个每天一个数据点(步长86400秒)的RRA,如果设置Rows为365,则保留一年数据。g.保存模板。h.重新创建数据源:在“DataSources”中,找到该数据源,点击“Actions”下的“ReapplySuggestedDataSourceName”或“Save”重新保存数据源。这样会重新生成rra文件(如果该数据源对应的rra文件不存在)。i.重新启动轮询服务(或恢复cron任务)。Cacti会在下一次轮询时重新生成rra文件,并开始填充数据。注意:重新生成rra文件后,历史数据将丢失,新数据会从当前时间开始记录。另外,引用[2]提到了PHP配置文件的修改,这与Cacti的性能有关,但与我们当前修改保留行数的操作关系不大。**相关问题:**1.如何修改Cacti的轮询时间间隔?2.在Cacti中,如何添加新的RRA(如保留10年的数据)?3.如何备份和恢复Cacti的rra数据?</think>### 在Cacti修改现有图形的数据保留行数设置Cacti修改现有图形的数据保留行数(Rows)需要操作RRD文件的核心配置,具体步骤如下: #### 1. **定位目标RRD文件** - RRD文件存储在`<cacti安装目录>/rra/`目录中 - 文件名通常包含主机ID和图形模板ID,如`localhost_load_1min_5.rrd` - 可通过Cacti控制台的 **数据源(Data Sources) > 设备(Devices)** 查看对应关系 #### 2. **修改RRD文件保留设置** ```bash # 使用rrdtool工具修改保留行数 rrdtool tune /path/to/file.rrd --rows 800 ``` - `--rows`参数指定新的保留行数(默认通常为600行) - 不同RRA类型需分别修改,例如: ```bash rrdtool tune file.rrd \ --rows RRA:600 \ # 修改第一个RRA --rows RRA:800 # 修改第二个RRA ``` #### 3. **重建RRD索引(关键步骤)** ```bash # 删除rra缓存索引 rm /path/to/cacti/rra/*.cache # 重建索引 php /path/to/cacti/poller.php --force ``` 重建索引后,Cacti会重新识别修改后的RRD结构[^1] #### 4. **验证修改结果** ```bash rrdtool info file.rrd | grep '^rra' ``` 输出应显示新的行数设置,例如: ``` rra[0].rows = 800 rra[1].rows = 800 ``` > **重要注意事项**: > 1. 修改前**必须备份RRD文件**:`cp file.rrd file.rrd.bak` > 2. 行数增加会导致RRD文件永久增大(RRD文件大小计算公式:`(rows×8 bytes + 头信息) × RRA数量`) > 3. 减少行数将**永久删除**超出部分的历史数据 > 4. 修改后需等待1-2个轮询周期数据才会正常显示[^1] ### 配置建议 对于长期数据保留,推荐分层设置RRA: ```plaintext RRA1: 5分钟精度保留7天(2016行) RRA2: 30分钟精度保留3月(4320行) RRA3: 2小时精度保留2年(8760行) ``` 可通过Cacti控制台的 **Console > Templates > Data Templates > RRA** 预设模板[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值