默认情况下,Munin(我使用的是 1.4.5)显示日、周、月和年的图表。
我可以将其配置为另外显示每小时的图表吗?
答案1
我假设您实际上想要比默认的五分钟更快地采样数据,因为否则,每小时图表不会比当前每日图表显示更多细节。
这个问题有简单的答案,也有困难的答案。
简单的方法
只需更频繁地运行 munin-update,不要升级到 Munin 1.5 以上。
在许多 Linux 系统上,这仅意味着编辑/etc/cron.d/munin
和更改第一个*/5
(*/1
这与 just 相同,*
但更明显地表明您是故意这样做的)。
这有点像 hack。Munin 仍会在假设每五分钟而不是每分钟获取一次数据的情况下创建图表,因此其速率计算可能会有偏差,并且某些标签会出错,但您每分钟都会获取数据。此外,这可能不适用于较新版本的 Munin(至少是 2.0 版之后的版本,也可能是 1.5 版之后的版本),因为它们的update_rate
属性默认值为 300,下面将对此进行更多讨论。
艰难之路
首先,您必须升级到 Munin 2.0。早期版本并不支持以下所有内容。
接下来,您必须update_rate
在任何图表上设置属性,以便每五分钟更新一次。该属性是更新之间应经过的秒数,默认值为 300 秒。
接下来,您需要使用属性定义自定义图表周期graph_data_size
,该属性记录在每个插件自定义 rrd 大小,但该页面有点令人困惑,所以让我看看是否可以澄清一些事情。
该graph_data_size
属性有三种设置:
graph_data_size normal
- 这是默认设置,生成每日、每周、每月和每年的图表。graph_data_size huge
- 它将以五分钟为间隔(正常每日速率)存储一整年的数据。graph_data_size custom <custom-definition>
- 这允许您指定自己的数据间隔和保留时间。
上述自定义定义的形式为full_rra_nb, multiple_1 multiple_rra_nb_1, multiple_2 multiple_rra_nb_2, ... multiple_N multiple_rra_nb_N
,含义如下:
- 全长是第一张图要保留的数据点数。每个点都代表一次测量(或多或少;Munin 试图通过少量数据伪造来解决获取测量值的延迟问题)。
- multiple_N是测量数据点的数量,取平均值以获得第 N 个图表的单个数据点。
- multiple_rra_nb_N是第 N 个图要保留的数据点的数量。
这一切都受到update_rate
属性设置的影响,因为它控制每次测量跨越的时间。
因此,对于具体的示例,默认设置如下:
- 数据点以每五分钟一次测量的速率获取。
- 每日图表针对每个测量数据点都有一个点,并保留其中的 576 个点(或 48 小时的数据)。
- 每周图表每六次测量对应一个点(每个点代表 30 分钟),并保留 432 个点(或 9 天的量)。
- 月度图表每 24 次测量对应一个点(每个点代表两小时),并保留 540 个(或 45 天的数值)。
- 年度图表每 288 个测量值对应一个点(每个点代表一天),并保留其中的 450 个(450 天的数值)。
因此,这两个设置是等效的:
graph_data_size normal
和
update_rate 300
graph_data_size custom 576, 6 432, 24 540, 288 450
对于一分钟的采样,您必须决定您感兴趣的间隔类型。要简单地添加记录八小时数据的每小时图表,您可以使用以下命令:
update_rate 60
graph_data_size custom 480, 5 576, 30 432, 120 540, 1440 450
请注意,在默认的 munin 配置中,每个间隔都是前一个间隔的整数倍(30 = 5 * 6、120 = 30 * 4 和 1440 = 120 * 12)。我不知道该规则有多重要,但我建议将其保留在您的配置中,以防万一。
还请注意,设置update_rate
和graph_data_size
是针对每个图表进行的。我不知道有什么方法可以指定跨多个图表的默认值,因此如果您想对所有图表执行此操作,则必须进行大量输入。
此外,您应该确保在第一次munin-update
运行之前所有这些设置都已到位;它们会影响 RRD 文件的创建方式,我不知道如果在使用这些设置运行更新之前使用不同的设置创建文件,munin 会如何反应。在最坏的情况下,您可以删除 RRD 文件并让 munin 重新创建它们。
最后,一旦所有设置完成,您就可以按照与上面“简单方法”相同的方式更改 cron 更新频率。