Dynatrace Event Source
The Dynatrace Event Source for Signals allows users to create events in FireHydrant from alerts sent from Dynatrace. Alert Rules can be configured to scan the payload body of Dynatrace events and ensure the right teams are notified of events they care about.
In Dynatrace, you can customize the payload and subsequently you can use the Generic Webhook event source or create a Custom Event Source. FireHydrant does provide an out-of-box transposer with some defaults.
Basic Configuration
- In FireHydrant, go to Signals > Event Sources and copy the ingest URL for Dynatrace.
- Follow Dynatrace's instructions for setting up a custom integration for problem notifications.
- Set the URL you copied above in step 1 as the webhook URL.
- FireHydrant assumes you will use the example JSON payload provided in their docs:
{ "ImpactedEntities": {ImpactedEntities}, "ImpactedEntity": "{ImpactedEntity}", "PID": "{PID}", "ProblemDetailsHTML": "{ProblemDetailsHTML}", "ProblemDetailsJSON": {ProblemDetailsJSON}, "ProblemID": "{ProblemID}", "ProblemImpact": "{ProblemImpact}", "ProblemTitle": "{ProblemTitle}", "Problem URL": "https://example.com", "State": "{State}", "Tags": "{Tags}" }
- You can test the connection with Send test notification, and you should see an event reflected in the FireHydrant Event Log.
Field Mappings
FireHydrant's Dynatrace transposer will map the following fields to FireHydrant's Events Data Model.
Dynatrace Parameter | FireHydrant Parameter |
---|---|
ProblemID | idempotency_key |
ProblemTitle | summary |
ProblemDetailsHTML | body |
Problem URL | links['Dynatrace Link'] |
State | status - Open when State is "Open" otherwise closed |
The above mappings mean that the following example payload from Dynatrace:
{
"ImpactedEntities": [
{"type": "HOST", "name": "MyHost1", "entity": "HOST-XXXXXXXXXXXXX" },
{"type": "SERVICE", "name": "MyService1", "entity": "SERVICE-XXXXXXXXXXXXX"}
],
"ImpactedEntity": "MyHost1, MyService1",
"PID": "99999",
"ProblemDetailsHTML": "Dynatrace problem notification test run details",
"ProblemDetailsJSON": {"ID" : "99999" },
"ProblemID": "999",
"ProblemImpact": "INFRASTRUCTURE",
"ProblemTitle": "Dynatrace problem notification test run",
"Problem URL": "https://example.com",
"State": "OPEN",
"Tags": "testtag1, testtag2"
}
...will be transposed to the following FireHydrant Signal:
{
"summary": "Dynatrace problem notification test run",
"body": "Dynatrace problem notification test run details",
"links": [
{
"href": "https://example.com",
"text": "Dynatrace Link"
}
],
"idempotency_key": "999",
"status": 0
}
Updated 2 months ago