Per plugin custom rrd sizing¶
Choosing the RRD sizing is possible via the config option graph_data_size since 1.4.0, but for 2.0 there is also a custom format.
Note
The configuration should be done on the Munin Master (munin.conf) as the plugins usually do not integrate this config option in their setup!
Objective¶
The object of this extension is to help with two issues:
- Per default there are only two values
normal
andhuge
. For some users this isn’t enough, specially coupled with the update_rate option. A new special valuecustom
, followed by its definition should offer as much flexibility as anyone needs. - The RRD sizing is global. Since update_rate is per plugin, this should also be per plugin.
The custom format¶
There are 2 custom formats: the computer one, and the human-readable one. The human-readable one will be converted on-the-fly to the computer one.
computer-readable¶
The format is comma-separated:
full_rra_nb, multiple_1 multiple_rra_nb_1, multiple_2 multiple_rra_nb_2, ... multiple_N multiple_rra_nb_N
multiple_N
is the step of the RRA, in multiple of the update_rate of the plugin.multiple_rra_nb_N
is the number of RRA frames to keep. The total time amount is function ofmultiple_N
.
In this format the original values normal
/huge
can be translated:
normal
meaningcustom 576, 6 432, 24 540, 288 450
huge
meaningcustom 115200
Note
The first multiple isn’t asked, since it’s always 1 (full resolution).
human-readable¶
Editing the computer format is powerful, but not very friendly. So, another format is available that specifies time duration instead of multiples. It is therefore independent of the update_rate of the plugin.
The format is still comma-separated, only the elements are translated:
time_res_1 for time_duration_1, time_res_2 for time_duration_2, ... time_res_N for time_duration_N
time_res_N
represents the step of the RRA.time_duration_N
represents the time of RRA frames to keep. The actual number of frames is function oftime_res_N
.
The format for both fields is the same : a number followed by a unit like 134d or 67w.
The units are case sensitive and mean:
s
: secondm
: minute (60s)h
: hour (60m)d
: day (24h)w
: week (7d)t
: month (31d)y
: year (365d)
In this format the original values normal
/huge
can be translated:
normal
meaningcustom 2d, 30m for 9d, 2h for 45d, 1d for 450d
huge
meaningcustom 400d
Note
The 2 last units (t
and y
) are a fixed number of days. They do not take the real number of days in the current month.
Notes¶
- The RRA is always created with a 10% increase so you can really compare on 10% of the period instead of just the last value.
Issues¶
- If a human readable config value isn’t a multiple of update_rate, no graph should be emitted, so the user is immediately alerted of his misconfiguration.
- The first number always represent the full resolution: update_rate.