Skip to main content
Skip table of contents

PagerDuty Notification Integration

PagerDuty Notification integration allows Cloudaware to create and update incidents in your PagerDuty using Outbound Webhooks functionality, map PagerDuty incidents to specific Cloudaware CMDB assets and enrich PagerDuty incidents with CMDB data.

Description

Cloudaware uses workflows to initiate a PagerDuty incident based on specific criteria in your environment and resolve an incident once the said criteria is back to normal (optional).

Sample use cases

  • Create a PagerDuty incident when an inappropriate configuration change is detected.

  • Create a PagerDuty incident in a specific service when Cloudaware detects a spending or a CloudTrail anomaly.

  • Update a PagerDuty incident when a critical vulnerability has been remediated.

Event Passthrough

Cloudaware users can decorate events from third party monitoring systems such as Zabbix, New Relic, Splunk, etc. by sending them to Cloudaware first. Cloudaware may enrich events with details like AWS Account ID or Azure Resource Group and tags, so that further downstream PagerDuty can make more intelligent routing, suppression and escalation decisions.

Integration Setup

1. Log in to your Cloudaware account. Go to Admin in the main menu under your username → Other Integrations → PagerDuty Notification. Click +Add.

2. Insert the integration details:

WHERE

Name - PagerDuty Notification integration name in Cloudaware

API Key - API Key generated in your PagerDuty account

If you have PagerDuty Accounts integration enabled, copy the API Key used for this integration (check step 2 of PagerDuty Accounts Integration).

Integration Key - Integration key can be found in details of the Service you would like to monitor (in PagerDuty select Service Directory → Service in question → the tab 'Integrations').

Incident Key Field* is used as a dedup_key. The values of this field must be unique for each PagerDuty incident created. This field will be used by PagerDuty for searching an incident when it is being updated or edited. If Incident Key Field is not specified, CA10__caUuid__c will be used by default to act as the incident identifier. However, the exact value for this field needs to be specified for every Cloudaware object that incidents are created for: go back to the main menu in your Cloudaware account → Setup → type Objects → select the object → locate the field 'CloudAware UUID' in the list and copy its API Name.

Resolve Time Field* will be used to trigger the button 'Resolve' on an incident in PagerDuty (e.g. CA10__closeDate__c: if this field is not blank, the incident will be resolved). If Resolve Time Field is not specified, incidents won't be resolved and closed automatically in PagerDuty.

Fields List* requires a list of fields that will be transmitted into a description of the incident in PagerDuty:

Use the line break sign \n after each field API Name to list the fields in an incident description in a certain order:

CODE
CA10__subject__c\n
CA10__closeDate__c\n
CA10__status__c\n
CA10__description__c\n 

Use - sign before a field API Name to exclude the field from being listed in an incident description:

CODE
CA10__subject__c\n
- Id

where - Id will exclude Record ID field

*You must type API names of fields in Incident Key Field, Resolve Time Field and Fields List exactly as they are on the object (e.g. CA10__caUuid__c, CA10__disappearanceTime__c, etc). To locate API names of fields on a specific object, go to Setup in the main menu → 'Objects' under the section 'Create' → select the object in question → the section 'Custom Fields & Relationships' → locate the field's API name.

Click Save.

3. Check the integration details. Copy Endpoint URL (https://inbound-dot-cloudaware-vm.appspot.com/inbound-message/pager-duty/{key}) for further configuration.

Setting up a workflow rule in Cloudaware

The workflow functionality allows to trigger incidents in PagerDuty when certain criteria is met in Cloudaware.

Create a workflow based on conditions you are interested in and add an outbound message that will use Endpoint URL copied from details of PagerDuty Notification integration. Once conditions are met, the rule will trigger PagerDuty to create a new incident against the service which is being monitored.

Use case: You would like to get a PagerDuty incident created every time when AWS EC2 instance status changes. Create a workflow rule for the object 'AWS EC2 Instance Status Event'.

1. Log in to Cloudaware account. Click Setup in the main menu under your username.

2. In the Quick Find box start typing workflows to select Workflows & Approvals → Workflow Rules → New Rule:

3. Select the object for the rule to be applied to and click Next.
4. Add Rule Name (1), set Evaluation Criteria(2) and Rule Criteria(3). Add Filter Logic if necessary. Click Save & Next.

In this example we assume that the field 'AWS EC2 Instance Status Event Name' should not be blank so that the event is considered to be valid. The field 'Description' should not contain 'Completed'.

If these conditions are met, every time any AWS EC2 Instance status is changed, Cloudaware triggers the workflow rule to take into action creating a new incident in PagerDuty.

5. Add Workflow Action → New Outbound Message:

6. Fill out your Outbound Message details. Paste the URL copied earlier (https://inbound-dot-cloudaware-vm.appspot.com/inbound-message/pager-duty/{key}) in Endpoint URL.

7. Select Available Fields to be displayed in a PagerDuty incident. Click Save.

Ensure that API Name of CloudAware UUID field (e.g. CA10__caUuid__c) matches the API Name used as a value for Incident Key Field in the integration setup form.

8. Review the workflow and click Done.

9. Activate the workflow clicking Activate.

10. Once outbound messages are set up, check your PagerDuty Notification integration in Cloudaware. The green light in 'Status' means that the integration has been successfully enabled. If there is a red light, check API Key and Integration Key used for the integration or contact support@cloudaware.com.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.