How to make vCenter datastore alarms useful

When visiting customers I noticed that the VMware admin often doesn’t really know how much free space is left on the datastores and wether action is needed to free up space or get extra capacity. When I show them the datastore overview in the VI Client that shows the warnings and alerts for the datastores, it turns out that they don’t often look at this page because it gives too many false alarms. These false alarms happen because the default values right out of the box are set at 75% for a warning to trigger and 85% for an alarm to trigger. In most cases this is much too soon as the next image shows you.

vCenter Storage Alarms

In general I use as a rule of thumb a required free space per datastore of 40GB. Usually these 40GB can accomodate enough snapshot space during nightly backups and storage migrations to prevent the datastore from filling up. Those 40GB free space I would like to monitor through my vCenter alarms which is very easy if all datastores would be equal in size, you could than edit the default alarm to reflect the new % settings. Unfortunately in most environments, not all datastores are equal in size and you would have to change the alarm on each datastore.

There is an easier way, you can create folders and assign alarms to folders and move datastores of the same size into these folders. This will give you a much better view of your datastores and alarms. The alarms you see are now “real” alarms that really require your attention. See how the next image gives you much less alarms and only shows warnings and alarms on datastores that really are below 40GB.

vCenter Storage Alarms

I should warn you though… my friend Duco Jaspars tipped me about this KB article: “Defining alarms on datastore folders can cause vCenter Server 4.x to becomes unresponsive“, although I have not yet ran into this issue with the customers were I implemented this.

In the next version of vCenter I do hope VMware makes a change and enables the use of GB on this alarm instead of just a percentage. You could than just set a GB value and it would be equal to all datastores. In the current situation you have to work with % of the total size of the datastore and especially with large datastores this can be quite a challenge, especially since you can only enter integers and no decimals. See the table below:

Datastore Size Warning (50GB) % Alert (40GB) %
250 200 80 210 84
500 450 90 460 92
750 700 93.33 710 94.67
1000 950 95 960 96
1250 1200 96 1210 96.8
1500 1450 96.67 1460 97.33
1750 1700 97.14 1710 97.71
2000 1950 97.5 1960 98

As you can see you’ll have to be a little creative with the numbers to get the warnings the way you want them.