DEV Community

Vadym Kazulkin for AWS Community Builders

Posted on • Edited on

Amazon DevOps Guru for the Serverless applications - Part 8 Integrations

Introduction

Starting from part 1 of the series, we introduced the Amazon DevOps Guru service, described its value proposition, the benefits of using it, and explained how to configure it. We also need to go through all the steps in part 2 to set everything up. In the subsequent parts, we saw DevOps Guru in action, detecting anomalies on DynamoDB, API Gateway, and Lambda (also in conjunction with other AWS services like SQS, Kinesis, Step Functions, and RDS). These all have been so-called DevOps Guru “Reactive Insights” detecting live anomalies. DevOps Guru also supports “Proactive Insights”, which we introduced in part 7 of the series. In this part, we’ll take a look at the capabilities of the DevOps Guru in terms of the integrations.

DevOps Guru Integrations overview

DevOps Guru itself only detects anomalies but doesn’t send emails, SMSs, or make a call to inform us about those anomalies. This is the job of other service and (3rd) party incident management tools that DevOps Guru provides integration with. Let’s look into them.

If we navigate to DevOps Guru “Settings” first, we see that we can set up SNS notifications. With that, we can create SNS topics that we can connect to all AWS Services that support its integrations, like SQS, or directly send an email to the defined address, send SMS to the defined phone number, or make an outside API call via HTTPS.

More on that later.

Next integration possibility of the DevOps Guru is with AWS Systems Manager by "enabling DevOps Guru to create an OpsItem in OpsCenter for each insight" in the "Settings" pages.

With that, for each DevOps Guru insight, the link to the OpsItem ID will be provided.

AWS Systems Manager OpsCenter overview looks like this.

We can then navigate to the OpsItems view, which looks similar to DevOps Guru's Insight view.

Integration into the AWS Systems Manager OpsCenter alone is not enough. We need to configure the integration into AWS's own Incident Manager, which is also a part of AWS Systems Manager.

AWS Incident Manager provides the capability to define the incident response plans.

and (incident) escalation plans.

Within the escalation plan, we can assign previously defined contacts.

Within the contacts, we can define the contact details themselves, contact channels like phone call, SMS, or email, and also an engagement plan. You can read more about the feature of the AWS Incident Manager.

AWS also provides integrations to the 3rd party incident management tools like Atlassian Opsgenie and PagerDuty. Here is a very detailed article about how to integrate DevOps Guru with Atlassian Opsgenie.

We'll now take a look at how to integrate DevOps Guru with PagerDuty. In the PagerDuty under https://${YourAccountAlias}.pagerduty.com/service-directory you can search for and select Amazon DevOps Guru integration.

During the setup, PagerDuty generates "Integration Key" and "Integration URL" for us.

Then we go back to DevOps Guru "Settings" and create an SNS topic.

When setting up an SNS topic, we select HTTPS as a protocol and put the "Integration URL" generated by PagerDuty as an SNS endpoint.

From now on, each insight DevOps Guru will send the message via SNS to PagerDuty, which will provide a similar insight overview as DevOps Guru does, but mixing the reactive and proactive insights in the same PagerDuty view, as PagerDuty obviously can't differentiate between different insight types created by DevOps Guru.

By selecting the incident and clicking on "SHOW DETAILS", we'll see the whole JSON payload DevOps Guru sent to PagerDuty, including anomaly name, severity, starting and closing time, and deviating CloudWatch metrics.

Of course, with PagerDuty, you can set up professional incident management by assigning the incident to the contact(s) with on-call duty according to the plan and defining the proper escalation policy. But of course, the purpose of this with PagerDuty is to have an appropriate incident management integration. For more details about the incident itself, I'd recommend jumping to the DevOps Guru Insights pages and viewing all the graphs and related events provided by this AWS service.

Conclusion

In this part of the series, we looked at the Amazon DevOps Guru capabilities in terms of the integrations, like SNS, but also into other solutions like the incident management tools or services, such as AWS's own OpsCenter, and also into external solutions like Atlassian Opsgenie and PagerDuty, with a more detailed example of how to use the latter. In the next part of the series, we’ll take a look at what AWS services DevOps Guru supports and at DevOps Guru pricing.

Top comments (1)

Collapse
 
mygift profile image
mygift

wow