如何设置RRD以存储2年的数据?

8
我正在监控超过300台服务器,为此我使用Ganglia。 它使用RRD作为数据库来收集和存储每个服务器资源相关的数据。我希望有2年或更长时间的历史记录,因此阅读这篇文章后,我认为我的RRA配置应该是:
RRAs "RRA:AVERAGE:0.5:1:17520"

17520 = (365天 [年] x 2) * 24 [小时]

这是Ganglia的默认配置,今天正在运行:

#
# Round-Robin Archives
# You can specify custom Round-Robin archives here (defaults are listed below)
#
# RRAs "RRA:AVERAGE:0.5:1:244" "RRA:AVERAGE:0.5:24:244" "RRA:AVERAGE:0.5:168:244" "RRA:AVERAGE:0.5:672:244" \
#      "RRA:AVERAGE:0.5:5760:374"
#

我的想法正确吗?还是我漏掉了什么?

1个回答

21

在学习这个主题一段时间后,我想出了一个答案,可能会对未来有所帮助。 我多次阅读了这两篇文章,我建议先阅读这篇创建初始RRD,然后再阅读这篇如何创建RRDTool数据库

我将尝试简单地解释它. 格式RRA:CF:xff:steps:rows

RRA: Round Robin Archive
CF: Consolidation Factor
XFF: Xfile Factor
steps
rows

对我来说最大的问题是找到正确的stepsrows值。在阅读之后,我得出了以下解释:

对我而言,最大的难题是找到stepsrows的正确数值。阅读后,我想到了以下解释:

1 day - 5-minute resolution
1 week - 15-minute resolution
1 month - 1-hour resolution
1 year - 6-hour resolution

RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:3:672 \
RRA:AVERAGE:0.5:12:744 \
RRA:AVERAGE:0.5:72:1480

请记住我们的步长300秒,所以这个想法非常简单:如果我要解析一个有86400秒一天,就像第一个例子中展示的那样,我需要多少行?答案是288行。为什么呢?

`86400 seconds [1 day] / 300 seconds [5 minutes`] = 288 rows

举个例子,如果我想解决:
1周 [ = 604800秒 ] 在15分钟内 [ = 900秒 ] = 604800/900 = 672行

其他数值的计算也是如此。通过这种方法,您将找出需要多少个。 要确定需要多少步骤非常简单,只需使用您的步长的乘数即可。

让我解释一下:我们的步骤300秒,对吗?

所以,如果我们想解决5分钟[ = 300秒 ],我们只需要乘以1,对吧? 因此,15分钟意味着需要300秒 x 3,1小时意味着300 x 12,6小时意味着300 x 72,依此类推。

在我的具体情况下,我希望我的步骤30秒,因此我提出了以下结构:

1   every time           30 seconds      1 * 30s = 30s
2   every second time     1 minute       2 * 30s = 1m
4   every third time      2 minutes      4 * 30s = 2m
10  every 10th time       5 minutes     10 * 30s = 5m
20  every 20th time      10 minutes     20 * 30s = 10m
60  every 60th time      30 minutes     60 * 30s = 30m
80  every 80th time      40 minutes     80 * 30s = 40m
100 every 100th time     50 minutes    100 * 30s = 50m
120 every 120th time      1 hour       120 * 30s = 1h
240 every 240th time      2 hours      240 * 30s = 2h
360 every 360th time      3 hours      360 * 30s = 3h

RRA:AVERAGE:0.5:1:120 \
RRA:AVERAGE:0.5:2:120 \
RRA:AVERAGE:0.5:4:120 \
RRA:AVERAGE:0.5:10:288 \
RRA:AVERAGE:0.5:20:1008 \
RRA:AVERAGE:0.5:60:1440 \
RRA:AVERAGE:0.5:80:3240 \
RRA:AVERAGE:0.5:100:5184 \
RRA:AVERAGE:0.5:120:8760 \
RRA:AVERAGE:0.5:240:8760 \
RRA:AVERAGE:0.5:360:8760 \

意思是:

1 hour    -  30 seconds  resolution
2 hours   -  1 minute    resolution
4 hours   -  2 minutes   resolution
1 day     -  5 minutes   resolution
1 week    - 10 minutes   resolution
1 month   - 30 minutes   resolution
3 months  - 40 minutes   resolution
6 months  - 50 minutes   resolution
1 year    -  1 hour      resolution
2 year    -  2 hour      resolution
3 year    -  3 hour      resolution

好的,我希望这能帮助到某人,就是这样。


谢谢你的帮助;这些信息帮助我开始收集长达十年的度量。我记录了整个Centos 7的过程,需要构建一个更新的rrdtool:https://onnonymous.wordpress.com/2017/06/22/keeping-ganglia-graphs-longer-than-one-year/ - Onnonymous

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接