Monitoring states are one of the less commonly known pieces of functionality inside Salt, and that's a shame. While execution modules are superb to build and maintain a baseline of information about a machine, monitoring states are designed to raise a notification when a metric falls out of the desired range.
The notification in this case is not the same as an alert. It can be used to raise alerts, but it is an independent action.
As you may recall, there are four pieces of information that will always be returned from each individual state:
Monitoring states differ from standard states in three ways. First of all, they are not allowed to make changes to the system. Their job is to observe and report. Secondly, they return a fifth piece of information:
This contains a dictionary of data that was retrieved by the monitoring state. This could be a metric involving disk usage, a particular CPU load average, or even the contents of a web page...