Cannot get AWS Cloudwatch integration to work

I’ve looked at other posts here, read the docs several times, created the most basic alarm in AWS but I just cannot seem to trigger incidents in PagerDuty.

  1. PD: Created a new Service.

  2. PD: Added AWS Cloudwatch integration inside service and copied integration URL.

  3. AWS: Created an SNS topic + a subscription using the integration URL (status confirmed).

  4. AWS: Created an additional subscription for the same SNS topic for sending myself an email (for testing).

  5. AWS: Created a simple Alarm to trigger when RDS CPU goes above 2%.

  6. AWS: Alarm triggers and I receive the email.

  7. PD: No incident is created for the service.

I’ve been trying to troubleshoot this for days to no avail. Any advice would be much appreciated.

Thanks

Hello Giv,

There are account sensitive details we will not be able to share here. I see you have provided them in a Support ticket. We will look into that and give our response in that ticket.

Cheers,

1 Like

For anyone else who runs into the same issue, I ended up using a Custom Event Transformer integration and manually parsed the AWS request like this:

function transform(PD) {
  var webhook = PD.inputRequest;
  var body = webhook.body || JSON.parse(webhook.rawBody);
  var event_type = PD.Trigger;
  var incident_key = body.AlarmName;
  
  if(body.NewStateValue == "OK") { event_type = PD.Resolve; }

  var normalized_event = {
    event_type: event_type,
    incident_key: incident_key,
    description: body.AlarmDescription,
    details: body.NewStateReason
  };
  PD.emitGenericEvents([normalized_event]);
}