A challenge I often hear from DBAs used to using native tools, or even some other third party tools, is that it is difficult to set alerts to target different users at different times. Being able to have alerts follow a call schedule is a huge advantage. Ensuring that alerts are only delivered to the on call group helps improve responsiveness. The more alerts we get that are either irrelevant to us or not our responsibility, the more likely we are to stop monitoring them as closely. Once that happens, important alerts will eventually fall through the cracks. Let’s take a look at how we can use SQL Sentry’s advanced alerting features to make sure alerts are always routed correctly.
For starters, one best practice for alerting with SQL Sentry: use groups rather than individual contacts! Using groups facilitates easier call schedule management, and also makes adding, moving, and removing SQL Sentry users as alert targets much less time-consuming. If you are currently targeting individual users with your alerts, I would recommend switching to groups because the time investment will pay off long-term. That said, what I am going to demonstrate using groups could be done at the user level.
The key to alerting on a schedule is to use SQL Sentry’s Alert Windows. Alert Windows can be applied to individual alerts to determine when they should be active, but they can also be applied to a user or group to determine when that target should receive alerts. In my demo environment I’ve created several groups. We are going to focus on three of the groups: DBAs, Call Schedule A DBAs, and Call Schedule B DBAs.
I have alerts that I want to go to all DBAs all of the time targeted to the DBAs group. There is no window assigned to my DBAs group. The other alerts are targeted to both call groups. I generally find it easier to denote when each group is off call, and have the window behavior set to suppress alerts during the window. In this case, I had to create a compound schedule for each group to get the weeknights and full weekend day off call configuration I wanted. Here are some images of the schedules:
Once we’ve created windows for the off-call hours for each group, we just need to assign the proper windows to the groups, and set the window behavior to not fire actions occurring within the off call window. With our windows and groups created, we just need to assign the relevant alerts to the call groups.
With these steps complete, SQL Sentry’s alerts will now follow your call schedule, ensuring that alerts only go to those responsible for responding to them.