A few days ago one of the disks on our ZCS server reached 86% capacity and we began receiving email alerts from zimbramon about it. This particular disk is used for backups, and it's generally okay for it to be full compared to, say, a mailstore. We were looking for a way to adjust the warning threshold for this particular volume and came across something a little odd.

In /opt/zimbra/libexec/zmdisklog (we're running RHEL AS 4.0) are the following lines:

my $DISK_CRIT_THRESHOLD = getLocalConfig("zmdisklog_warn_threshold") || 95;
my $DISK_WARN_THRESHOLD = getLocalConfig("zmdisklog_critical_threshold") || 85;
We don't know how zmdisklog_warn_threshold and zmdisklog_critical_threshold are set, but if they were it appears that this script would not be doing the right thing, having got them backwards in the two assignments above. In our case, they do not appear to be set and so the defaults (which are appropriate) get used instead.

So, three questions:

1. How would one set zmdisklog_warn_threshold (or zmdisklog_crit_threshold)? zmlocalconfig seems obvious, but it doesn't recognize either of those:

[zimbra@mail2 mail]$ zmlocalconfig --info zmdisklog_critical_threshold
Warning: 'zmdisklog_crit_threshold' is not a known key
2. If they were set, would zmdisklog do the wrong thing, based on the code snippet above?

3. What is the proper way to modify the server's behavior in this regard? If, for example, we wanted alerts to be sent once per hour instead of once per ten minutes, we could edit the crontab accordingly. Is there a better way? If we wanted to set specific thresholds for particular volumes, would we have to edit the zmdisklog script directly?


- Dave