Technical Blog Post
Abstract
Example Usage Scenario’s for IBM’s Alert Notification
Body
Overview
IBM's Alert Notification Service is a hybrid cloud based solution that allows you to centralize and simplify your notification strategy. It works seamlessly with other cloud based and on premise applications. Alerts are forwarded to Alert Notification using a secure Restful API.
Capabilities
- Notify your operations teams by email, voice, SMS and Slack.
- Notify your operations teams based on on-call and on-duty schedules. Create your own schedules or select from a list of out of the box schedule templates.
- Specify exact notification methods to use for on-duty, on-call and not working users.
- Ability to override normal notification methods, for extreme or critical issues.
- Manage schedules and address allocation and resource changes using Who is working now.
- Create simple policies to identify specific alerts or groups of similar alerts. Then specify exactly who should be notified.
- When notifications are not acknowledged, specify a chain of escalations to ensure the right stakeholders are aware of unresolved or unaddressed issues.
- Using API's you can manage or create users, groups and policies. Alerts can be sent to Alert Notification from many cloud, on premise sources and from New Relic. Using simple scripting and Curl.
- Use the Alert Notification Mobile Application to receive and manage your alerts on your mobile devices. The mobile application is available from Apple App Store and Google Play.
- Use the Alert Notification Slack Application. The Slack application allows you to quickly connect to all your Slack team domains, and then select the channels to notify. Eliminating the need to manually create or import web hook URL's. The application also provides two-way communications with links and an acknowledge button contained in the Slack message.
Usage Scenarios:
Scenario 1
You are a development team that has automated nightly builds of a product, and an automated build verification test (BVT) process managed by Jenkins that installs those nightly builds and runs a series of configuration and run time tests. Alert Notification will be used to ensure there is visibility into the build results. Replacing the older polling-style approach whereby key stakeholders would check results at some URL. With Alert Notification the results come to you wherever you are.
Different types of project stakeholders want information about the results of this process. Examples include:
- Devops engineers responsible for maintaining the build/bvt process itself want to know every time a BVT is completed. This is like a heartbeat. If they don't get an alert at all on a daily basis around the same time, this may be a sign the BVT process itself is broken.
- Development team leads, who are responsible for investigating issues, want to be notified whenever there is a BVT failure. This could be an indication of a new problem in the code, or an issue with one or more of the test cases.
- Project managers want visibility into build stability, and may opt-in to receiving all or specific types of BVT result alerts.
Jenkins has an email plugin already, however we wanted something that offers more options and control:
- More flexible in terms of the delivery methods of alerts, particularly to mobile (as SMS, Voice and using an App).
- Allows different types and severity of alerts to easily be routed to different groups of people.
- A service that is completely API-driven and trivial to use so that we can:
- Integrate using a very simple script with curl to post alert information at the end of our Jenkins automated BVT process.
- Create users, groups and policies using well documented easy to use API's, leveraging our corporate directory and department/team configurations.
- In addition, we wanted our team’s Slack channels to be updated with the BVT results. By importing Slack web hooks and adding those channels to our policies, everyone knows the outcome of the daily builds.
Scenario 2
Your service provider organization is spread across the globe, and you utilize a Follow-The-Sun model for on-call support. Brock, your Operations Programmer, has been given the task to ensure the right resources are contacted whenever a critical problem occurs. After reviewing several products that could help with this, Brock selects IBM's Alert Notification Service because of its low cost, ease of use, and ability to deliver exactly what is needed for his assignment. Lets' follow the steps Brock employs to enable the worldwide team to receive real-time notifications:
- Brock writes some simple scripts employing the user/group API's to create the users and groups for his organization using the directory information available at his company.
- Brock then asks each user to log into Alert Notification and set their working hours with their local time zones, and to set their individual notification preferences.
- Brock, who is located in California, then creates an on-duty group with a schedule covering three geographic zones for 24x7 coverage.
- The managers and other key stakeholders are added to a second group. After two hours, any unacknowledged or unresolved notifications will be escalated to this group.
- Brock identifies all of the alerts requiring notification support and directs those policies to notify the primary on-call group and send escalations to the stakeholders group.
Brock was able to complete his task spending no more than a few hours on each of these steps. His organization has now greatly improved their overall mean-time-to-repair because the right team resources are made aware of issues immediately. Escalations, if they occur, give key stakeholders insight when resources aren't responding due to high volumes of issues or availability.
Here is an image of the schedule Brock employed that enabled his success:
Online Videos:
Each of the following videos provides additional guidance and information on the usage of Alert Notification.
Scheduling introduction, working hours and notification preferences:
Building a schedule, static patterns, saving static patterns:
Assigning users, auto assignments of users to shifts:
Working with a shift series:
Who is working Now (used to alter, re mediate and maintain shifts):
Slack Integration:
Runbook Automation and New Relic Integration:
Learn more:
IBM Knowledge Center:
IBM Marketplace:
https://www.ibm.com/marketplace/cloud/alert-notification/us/en-us
IBM Bluemix:
https://console.ng.bluemix.net/docs/services/AlertNotification/index.html
IBM developerWorks wiki:
UID
ibm11080015
