diff --git a/docs/sources/integrations/available-integrations/configure-appdynamics/index.md b/docs/sources/integrations/available-integrations/configure-appdynamics/index.md new file mode 100644 index 00000000..acf0a8e1 --- /dev/null +++ b/docs/sources/integrations/available-integrations/configure-appdynamics/index.md @@ -0,0 +1,36 @@ +--- +aliases: + - add-appdynamics/ + - /docs/oncall/latest/integrations/available-integrations/configure-appdynamics/ +canonical: https://grafana.com/docs/oncall/latest/integrations/available-integrations/configure-appdynamics/ +keywords: + - Grafana Cloud + - Alerts + - Notifications + - on-call + - AppDynamics +title: AppDynamics integration for Grafana OnCall +weight: 500 +--- + +# AppDynamics integration for Grafana OnCall + +The AppDynamics integration for Grafana OnCall handles health rule violation events sent from AppDynamics actions. +The integration provides grouping and auto-resolve logic via customizable alert templates. + +## Configure AppDynamics integration for Grafana OnCall + +You must have an Admin role to create integrations in Grafana OnCall. + +1. In the **Integrations** tab, click **+ New integration to receive alerts**. +2. Select **AppDynamics** from the list of available integrations. +3. Follow the instructions in the **How to connect** window to get your unique integration URL and review next steps. + +## Grouping and auto-resolve + +Grafana OnCall provides grouping and auto-resolve logic for the AppDynamics integration: + +- Alerts created from health rule violation events are grouped by application and node name +- Alert groups are auto-resolved when the health rule violation is ended or canceled + +To customize this behaviour, consider modifying alert templates in integration settings. diff --git a/engine/apps/integrations/templates/html/integration_appdynamics.html b/engine/apps/integrations/templates/html/integration_appdynamics.html new file mode 100644 index 00000000..39a025a6 --- /dev/null +++ b/engine/apps/integrations/templates/html/integration_appdynamics.html @@ -0,0 +1,93 @@ +

How to start sending alerts to Grafana OnCall from AppDynamics

+ +

Create a new HTTP Request Template in AppDynamics to send events to Grafana OnCall using the + integration URL above.
+ Refer to AppDynamics documentation for more information on how to create HTTP Request Templates:
+ + https://docs.appdynamics.com/appd/23.x/latest/en/appdynamics-essentials/alert-and-respond/actions/http-request-actions-and-templates + +

+ +

Use the following values when configuring a new HTTP Request Template:

+ +

+ Request URL: +
+ Method: POST +
+ Raw URL: Integration URL above +

+ +

+ Authentication: +
+ Type: None +

+ +

+ Payload: +
+ MIME Type: application/json +
+ Template: + +{% verbatim %} +

+{
+  "event": {
+    "eventType": "${latestEvent.eventType}",
+    "id": "${latestEvent.id}",
+    "guid": "${latestEvent.guid}",
+    "eventTypeKey": "${latestEvent.eventTypeKey}",
+    "eventTime": "${latestEvent.eventTime}",
+    "displayName": "${latestEvent.displayName}",
+    "summaryMessage": "${latestEvent.summaryMessage}",
+    "eventMessage": "${latestEvent.eventMessage}",
+    "application": {
+      "name": "${latestEvent.application.name}"
+    },
+    "node": {
+      "name": "${latestEvent.node.name}"
+    },
+    "severity": "${latestEvent.severity}",
+    "deepLink": "${latestEvent.deepLink}"
+  }
+}
+
+{% endverbatim %} + +

+ Response Handling Criteria +
+ Success Criteria: Status Code 200 +

+ +

+ Settings: +
+ One Request Per Event: Enabled +

+ +

+ After setting up a template, create a new action in AppDynamics and select the template you created earlier. + Now you can configure policies to trigger the action when certain events occur in AppDynamics. +
+ When configuring a policy, select the following events to trigger the action: +

+

+ +

+ After setting up the connection, you can test it by sending a test request from the AppDynamics UI. +

diff --git a/grafana-plugin/src/components/IntegrationLogo/IntegrationLogo.config.ts b/grafana-plugin/src/components/IntegrationLogo/IntegrationLogo.config.ts index 09010967..c291b26e 100644 --- a/grafana-plugin/src/components/IntegrationLogo/IntegrationLogo.config.ts +++ b/grafana-plugin/src/components/IntegrationLogo/IntegrationLogo.config.ts @@ -21,4 +21,5 @@ export const logoCoors: { [key: string]: { x: number; y: number } } = { prtg: { x: 12, y: 5 }, jira: { x: 8, y: 9 }, zendesk: { x: 9, y: 14 }, + appdynamics: { x: 3, y: 3 }, };