Pingdom Event Source
The Pingdom Event Source allows you to configure Pingdom's website monitoring service as an Event Source to alert via FireHydrant's Signals.
Configuring the Webhook
Pingdom can be configured to fire webhooks to external destinations upon state changes to your uptime checks. In FireHydrant, you can find the Pingdom source URL by going to Signals > Event Sources and clicking the Copy URL button in the Pingdom row.
Copy that URL in FireHydrant, and set this URL as the destination when configuring the webhook in Pingdom. For instructions on configuring a webhook in Pingdom, visit Pingdom's Webhook Docs.
Transposer Defaults
The following Pingdom webhook parameters are transposed to FireHydrant's Signals Events Data Model:
Pingdom Parameter | Signal Parameter(s) |
---|---|
check_id | idempotency_key ANDannotations.check_id |
description | summary |
long_description | body |
check_name | annotations.check_name |
check_type | annotations.check_type |
importance_level | level - If HIGH on Pingdom then the Alert is ERROR on FireHydrant. If LOW then it is WARN on FireHydrant |
tags | tags |
current_state | status - If DOWN on Pingdom then the Alert is OPEN on FireHydrant. Otherwise, the alert is CLOSED on FireHydrant |
Subsequently, the following webhook from Pingdom:
{
"check_id": 12345,
"check_name": "Name of HTTP check",
"check_type": "HTTP",
"check_params": {
"basic_auth": false,
"encryption": true,
"full_url": "https://www.example.com/path",
"header": "User-Agent:Pingdom.com_bot",
"hostname": "www.example.com",
"ipv6": false,
"port": 443,
"url": "/path"
},
"tags": [
"service:web",
"env:production"
],
"previous_state": "UP",
"current_state": "DOWN",
"importance_level": "HIGH",
"state_changed_timestamp": 1451610061,
"state_changed_utc_time": "2016-01-01T01:01:01",
"long_description": "Long error message",
"description": "Short error message",
"first_probe": {
"ip": "123.4.5.6",
"ipv6": "2001:4800:1020:209::5",
"location": "Stockholm, Sweden"
},
"second_probe": {
"ip": "123.4.5.6",
"ipv6": "2001:4800:1020:209::5",
"location": "Austin, US",
"version": 1
}
}
...will be transposed to the following Signal in FireHydrant:
{
"summary": "Short error message",
"body": "Long error message",
"level": 2,
"links": [],
"images": [],
"tags": ["service:web", "env:production"],
"annotations": {
"check_id": "12345",
"check_name": "Name of HTTP check",
"check_type": "HTTP"
},
"idempotency_key": "12345",
"status": 0
}
Updated about 2 months ago