We're often asked how to create an alarm threshold exception for certain types of objects. Using the Databases -> Configure Alarms dashboard, you can change thresholds at the instance level. That works great when there is a 1:1 relation between the instance/database and the object the alarm is firing against (eg. buffer cache). When there is a 1:n relationship, it's a bit tricky but still doable. An example would be that an Oracle database can have multiple tablespaces. If we want all tablespaces to have the same alarm setting, we can use the Configure Alarms dashboard.

However, we may want to set the threshold differently for a subset of tablespaces. That will take us down into the "plumbing" of Foglight.  We'll navigate to the Administration set of dashboards on the left hand panel (make sure Expert mode is enabled).

Under Rules & Notifications, navigate to the Rules dashboard. You can use the search box to narrow down the list, and once we see the applicable rule, we can select "View and Edit."

What we're looking for here is the name of the condition variable for the severity level we wish to make an exception for. 

We can then navigate to the Manage Registry Variables dashboard and search for part of the variable name from the previous step. We'll go ahead and click it and select "View and Edit Details."

We'll "Add" a registry value and search for a Foglight Topology Type to scope the value to. It can be a bit of trial and error, but most types have a common name that can be searched on, and quotes can be used to narrow the search (try oracle tablespace without the quotes to see the differentce.) Once we have the type we want, select it and click Next.

We can select from the list or use the search box to narrow it down. These are tablespaces that are "known" to Foglight; meaning, they have come from an instance that is being monitored. The Domain Root in this case maps to the identifying name of the instance which is typically "host-instance".  Once you've selected the tablespaces to make an exception for, click next.

Finally, enter the desired value to use. Since this variable is defined as a "double" datatype in Foglight, we use the decimal place. I'll typically just follow the format of the global value that is already in place. Clicking finish will save the changes. If you need to edit the value, you can simply click on it in the lower table.

Once this is done, Foglight will evaluate these exception values first, then go to a scoped value for the instance (if applicable), then to the global value when determining when to fire the alarm.

To take a deeper dive with Foglight in your environment, you can try it out by downloading the installer here.

Related Content