In this post, we looked at a simple way to adjust the global threshold for an alarm. We'll build on that now. What if we have a 1:n relationship between, for example, an instance and databases, jobs, etc.?
A common request is to set a different threshold for 1 or a set of databases - either lower or higher than the default. A recent example was the backup alarms - there were some system databases that don't get backed up as often, so could those alarms be relaxed? Of course they can!
From the previous blog post, clicking on an alarm and going to the Source tab shows details on the underlying rule and thresholds. You can copy the first part of a condition variable or remember what it starts with for the next step. We'll want to Edit the rule to check what the rule is scoped to - ie. what objects Foglight looks at to fire the alarm upon.
For this alarm, it is scoped to "DBSS_Database":
That's all we needed to know from the rule. We'll navigate to Manage Registry Variables and search for those values we remembered from a couple steps ago:
We'll modify the "medium" threshold by clicking on it and selecting "View and Edit". Now, we're going to scope the value to specific objects, ie. SQL Server Databases.
Click to Add a registry value. I normally search via the advanced filter - and in most cases, you can use "plain language" to search - "SQL Server Database" vs. "DBSS_Database".
Once we find our Topology Type to scope to, it's a matter of clicking thru the wizard:
We'll get a list of actual values for the topology type - you can use the search box to narrow down the list, then select the databases you wish to change the threshold for.
Type in the new value, remembering the format for the datatype. If you forget the decimal and it's required, you will see a "!" to remind you.
After clicking Finish, you will see the new topology objects and their scoped values. You may need to refresh the screen or leave and come back for the full name to appear.
If you need to change a value, you can click on the line in the grid. You could go further, and add a schedule to the value, if needed. Foglight will check for scheduled scoped values, then scoped values, then the global default to find a matching object when evaluating the rule.