• Get started
  • Documentation

Integrate with Amazon DevOps Guru

This article highlights a new alerting feature that's natively available in Jira Service Management which is gradually rolling out to some Jira Service Management Cloud customers. It may not yet be visible or available on your site.

Amazon DevOps Guru Logo

Amazon DevOps Guru is an operational tool that improves application availability using machine learning to analyse resource telemetry to identify potential operational issues and also recommend remediation actions.

What does the integration offer?

Jira Service Management acts as a dispatcher for the insights generated by DevOps Guru, determines the right people to notify based on on-call schedules– notifies them using email, text messages (SMS), phone calls and iPhone & Android push notifications, and escalates alerts until the alert is acknowledged or closed. DevOps Guru generates the isights and Jira Service Management ensures the right people are working on them.

How does the integration work?

  • When an insight is generated in DevOps Guru, an alert is created in Jira Service Management automatically through the integration, with a priority based on the type and severity of the insight.

  • When an insight is resolved in DevOps Guru, related alert is closed in Jira Service Management automatically through the integration.

  • When an anomaly is added to the insight by DevOps Guru, it is reflected on the Jira Service Management alert as a note.

Set up the integration

Amazon DevOps Guru is an API-based integration. Setting it up involves the following steps:

  • Add a DevOps Guru integration in Jira Service Management

  • Configure the integration in DevOps Guru

Add a DevOps Guru integration

Bidirectional integrations aren’t supported in Free and Standard plans. All the other integrations are supported at a team level in Free and Standard; however, for their outgoing part to work, you need to upgrade to a higher plan. To add any integration at a site level through Settings (gear icon) > Products (under JIRA SETTINGS) > OPERATIONS, you need to be either on Premium or Enterprise.

Adding an integration from your team’s operations page makes your team the owner of the integration. This means Jira Service Management only assigns the alerts received through this integration to your team.

To add a DevOps Guru integration in Jira Service Management, complete the following steps:

  1. Go to your team’s operations page.

  2. On the left navigation panel, select Integrations and then Add integration.

  3. Run a search and select “DevOps Guru”.

  4. On the next screen, enter a name for the integration.

  5. Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.

  6. Select Continue.
    The integration is saved at this point.

  7. Expand the Steps to configure the integration section and copy the API URL.
    You will use this URL while configuring the integration in DevOps Guru later.

  8. Select Turn on integration.
    The rules you create for the integration will work only if you turn on the integration.

Configure Amazon SNS to send messages to Jira Service Management

To configure Amazon SNS to send SNS messages to Jira Service Management, complete the following steps:

  1. On the Amazon SNS console, select Topics.

  2. Select Create topic.

  3. For Type, select Standard.

  4. Enter a name for the topic. For example, operational-insights.

  5. Leave the default settings as they’re or configure them to suit your needs.

  6. Select Create Topic.

  7. Scroll down to the Subscriptions section and select Create subscription.

    1. For Protocol, select HTTPS.

    2. For Endpoint, use the subscription URL you copied previously from Jira Service Management.

  8. Leave the remaining options as they’re, or configure them to suit your needs.

  9. Select Create subscription.

Upon creating the subscription, Amazon SNS sends a confirmation message to your Jira Service Management integration, which Jira Service Management automatically acknowledges. You should receive a confirmation alert.

Set up Amazon DevOps Guru

The first time you browse to the DevOps Guru console, enable DevOps Guru to operate on your account.

  1. On the DevOps Guru console, select Get Started.

  2. If you have already enabled DevOps Guru, select Settings and add your SNS topic.

  3. Select the resources you want to monitor.

  4. Select Select an existing SNS topic.

  5. Select the topic you created earlier (operational-insights).

  6. Select Add SNS topic.

  7. Select Enable (or Save if you’ve already enabled the service).

Sample payload sent from DevOps Guru

Create Alert payload

JSON

1 2 3 4 5 6 7 8 9 10 11 { "Type": "Notification", "MessageId": "1cf7a0eb-4179-4181-b15b-ea22c5aa0280", "TopicArn": "arn:aws:sns:us-east-1:089311581210:test-sns", "Message":"{\"AccountId\":\"123456789012\",\"InsightId\":\"abc123a7-17a3-46d9-b895-1ae38317ced2\",\"InsightDescription\":\"Lambda Errors Anomalous\",\"InsightUrl\":\"https://console.aws.amazon.com/codeguru/devopsguru?#/insight/reactive/ABCDabcdAAAAAAAAAcXzDoJsi_kvAhzmKKUGk6CSixyzABC\",\"Region\":\"us-east-1\",\"InsightSeverity\":\"low\",\"MessageType\":\"NEW_INSIGHT\",\"InsightType\":\"REACTIVE\",\"StartTime\":\"Jan 24th 2010 4:55:123\",\"EndTime\":\"Jan 24th 2010 4:55:123\",\"Anomalies\":[{\"Id\":\"123abcd1-62cb-4161-986c-0be917d42706\",\"StartTime\":\"Jan 24th 2010 2:55:123\",\"EndTime\":\"Jan 24th 2010 3:55:123\",\"DataIdentifiers\":{\"Namespace\":\"AWS/DynamoDB\",\"Metric\":\"ConsumedReadCapacityUnits\",\"stats\":\"Sum\",\"Resources\":[{\"ResourceType\":\"Table\",\"ResourceId\":\"arn:..../tablename\"}]}}],\"Recommendations\":[{\"Title\":\"Configure provisioned concurrency for Lambda\",\"Description\":\"Your Lambda function is having trouble scaling. See this link to learn how to enable provisioned...\",\"Reason\":\"The Duration metric in Lambda breached a high threshold.\",\"Url\":\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#configuration-concurrency-provisioned\",\"RelatedMetrics\":[],\"RelatedEvents\":[]}]}", "Timestamp": "2012-08-05T22:31:30.673Z", "SignatureVersion": "1", "Signature": "XrsO2wtE0b+ofOl1Z85tqLqQn1fMuv07uRttlimTUg+rV4U9RmNSSBEdlmyWvtGgpjebsmNv1wkjUsBQOJZjZnpZp5FBn6quAn3twNdRMmMLf15lv6ESbYF8mpFHwmMhgWVkgq60vmjj/ZLwiH9Pr/cxVYOR0aPQBPDwTYn8w6g=", "SigningCertURL": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem", "UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:089311581210:CloudWatchHTTPAlarms:1841c5ca-ddda-450e-bbfb-bf0cf15813db" }

Jira Service Management parses the payload as follows:

JSON

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 { "TopicArn": "arn:aws:sns:us-east-1:089311581210:test-sns", "AccountId": "123456789012", "InsightId": "abc123a7-17a3-46d9-b895-1ae38317ced2", "InsightDescription": "Lambda Errors Anomalous", "InsightUrl": "https://console.aws.amazon.com/codeguru/devopsguru?#/insight/reactive/ABCDabcdAAAAAAAAAcXzDoJsi_kvAhzmKKUGk6CSixyzABC", "Region": "us-east-1", "InsightSeverity": "low", "MessageType": "NEW_INSIGHT", "InsightType": "REACTIVE", "StartTime": "Jan 24th 2010 4:55:123", "EndTime": "Jan 24th 2010 4:55:123", "AnomalyDetails": [ { "Id": "AP8fPq2F7cSqdkgAWTkeU2YAAAF1_GN9YIxzoKM_WkDOJim_ozMyiajN5VGZ5zqg", "StartTime": 1606257180000, "EndTime": 1606260300000, "SourceDetails": [ { "DataSource": "CW_METRICS", "DataIdentifiers": { "name": "Duration", "namespace": "AWS/Lambda", "period": "60", "stat": "Average", "unit": "None", "dimensions": "{\"FunctionName\": \"awscodestar-random-lambda-GetHelloWorld\"}" } } ] } ], "Recommendations": [ { "Title": "Configure provisioned concurrency for Lambda", "Description": "Your Lambda function is having trouble scaling. See this link to learn how to enable provisioned...", "Reason": "The Duration metric in Lambda breached a high threshold.", "Url": "https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#configuration-concurrency-provisioned", "RelatedMetrics": [ ], "RelatedEvents": [ ] } ] }

 

Still need help?

The Atlassian Community is here for you.