Amazon CloudTrail Integration

Amazon CloudTrail is a web service that records AWS API calls and delivers log files. Use Opsgenie's Amazon CloudTrail Integration to forward Amazon CloudTrail notifications to Opsgenie.

The recorded information from Amazon CloudTrail includes the identity of the API caller, the time of the API call, the source IP address of the API caller, the request parameters, and the response elements returned by the AWS service.

Opsgenie is an alert and notification management solution that is highly complementary to Amazon CloudTrail. With this integration, Opsgenie alerts are created for Amazon CloudTrail notifications.

What does Opsgenie offer Amazon CloudTrail users?

Use Opsgenie's Amazon CloudTrail Integration to forward Amazon CloudTrail notifications to Opsgenie. Opsgenie determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

Functionality of the integration

When Amazon CloudTrail receives a new log, an alert is created in Opsgenie automatically through the integration.

Add Amazon CloudTrail Integration to Opsgenie

  1. Please create an Opsgenie account if you haven't done so already.
  2. Go to Opsgenie Amazon CloudTrail Integration page.

🚧

For Free and Essentials plans, you can only add the integrations from the Team Dashboards, please use the alternative instructions given below to add this integration.

  1. Specify who is notified of Amazon CloudTrail alerts using the Teams field. Auto-complete suggestions are provided as you type.

📘

An alternative for Step 2) and Step 3) is to add the integration from the Team Dashboard of the team which will own the integration. To add an integration directly to a team, navigate to the Team Dashboard and open Integrations tab. Click Add Integration and select the integration that you would like to add.

  1. Click Save Integration.
2306

Configuration in Amazon CloudTrail

  1. Go to SNS dashboard. From the dashboard click the Create Topic action.
2880
  1. Fill in the required fields and click Create topic.
536
  1. From Topic details page click Create subscription.
2334
  1. Choose HTTPS in the "Protocol" field and in the "Endpoint" field, paste the URL from the Opsgenie's Amazon CloudTrail integration page (There is a sample in the section Add Amazon CloudTrail Integration to Opsgenie). Then click Create subscription.
1968

Upon successfully configuring SNS subscription to Opsgenie a confirmation alert is created in Opsgenie.

2427
  1. Configure Amazon SNS notifications for Amazon CloudTrail to send notifications to the SNS topic previously created.
  2. From Amazon CloudTrail Console navigate to Trails. Add a new trail or use an existing one.
2656
  1. In the S3 tab, click Advanced and from there choose SNS topic, then click Save.
1750

Sample Payload from Opsgenie Amazon CloudTrail Integration

{
  "Type": "Notification",
  "MessageId": "d7b0abd-f459-5627-b6e7-5a4cc1f84dcd",
  "TopicArn": "arn:aws:sns:us-west-2:3456xxxxxx:og",
  "Message": "{\"s3Bucket\":\"opsgenietest\",\"s3ObjectKey\":[\"AWSLogs/345678xxxxxx/CloudTrail/us-east-1/2017/01/12/345678xxxxx_CloudTrail_us-east-1_20170112T0740Z_Q8aey31rGgtoAp9d.json.gz\"]}",
  "Timestamp": "2017-01-12T07:42:25.469Z",
  "SignatureVersion": "1",
  "Signature": "OAXw/gb6ciZSbwZ3o1Moh7U5/1m4uBGnqQmbwL8AGuuOa2Yo9sSaHjUf0Qf4BMtlRQ5pc4ghkW0LWKyHTIikKa4MFjlrgMLf7AaYJgh/5bDhorgdiXSk04PD/me2M9Sv85xZufEj9V0ys1PnwP6X877YFKz6iDNQ9Lyi1woaRmtCPmEtbpwjWYQJRlTpEv+exuqVjm7bgfTV+1DjB5kfFdK4X8Py9lpFMyaIiT24yffTAMLssp8wcGb8ygGxX9kD0JRfIlnAtM3Mn9NI7jmCXiE4iNpISMMlNSDPrUuzUSBzXrt3ArMraLdQ==",
  "SigningCertURL": "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-b95095bebf6a046b3aafc7f4149a.pem",
  "UnsubscribeURL": "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:345678xxxxx:og:949xxxxx-fed7-4456-b172-3a5xxxxxx41"
}

This payload is parsed by Opsgenie as:

{
  "s3Bucket": "opsgenietest",
  "s3ObjectKey": "AWSLogs/3456xxxxxxxx/CloudTrail/us-east-1/2017/01/12/34567xxxxxxx_CloudTrail_us-east-1_20170112T0740Z_Q8aey31rGgtoAp9d.json.gz"
}