Pingdom
Overview
Pingdom allows you to monitor your servers by sending regular ping responses to an endpoint. This Zeleo Application allows you to setup Pingdom to send server status change events to Zeleo and allow you to react to them as you desire.
An example use of this would be to trigger a server reboot when a ‘DOWN’ message is sent, or send text messages to anyone in Zeleo tagged as ‘DevOps’ to notify of the service outage.
Setup
Pingdom
The first thing you will need to do is sign up with Pingdom if you have no already. Once you are in, perform the following steps:
- Click on the
Integrations
tab and seectIntegrations
. - Click
Add Integration
and give your integration a name.Zeleo Application
is a good default. - Paste the following URL into the
URL
field:
https://7jsl4psyr5.execute-api.us-east-1.amazonaws.com/prod/event
- Make sure the
Active
box is checked, and clickSave integration
.
You will now be able to use this with any monitoring tool Pingdom offers to notify Zeleo when an event occurs.
The following shows you how to configure an uptime check as an example. Other checks are available as well.
- On the side panel, select
Experience Monitoring
andUptime
. - Select
Add New
. - Give the check a name, and in
URL
enter a URL that you will use to specify whether the server you would like to monitor is up. The service will fail unless this endpoint returns a 200, and the URL must accept a POST. - At the bottom of this dialog, make sure the
Zeleo Application
integration is checked.
Now Zeleo will receive the event whenever your server changes state (either goes down or comes up).
Zeleo
You now can use Zeleo to react to this event as you see fit.
- The first thing you need to do is enable the
Zeleo Pingdom Application
for your team. Select yourManage Team
dialog. - In the
Applications
tab, select the plus symbol next to thePingdom
application.
- Next you need to specify who in Zeleo will listen to your Pingdom event. Remember each Zeleo event must have a person who is the focus of this event.
- Open your
Profile
dialog in Zeleo and select theApplications
tab. - Copy/paste the URL you set your Pingdom check to monitor. Zeleo uses this to identify the event as yours and specify the Zeleo user who will listen to the event.
- Click the checkbox next to the field to save, and you should be set!
You can create a rule condition to handle this event now.
- Open the side panel in
Zeleo
and selectRules & Conditions
. - Click the
+
button to create a new rule. - Give the rule a
Name
and optionally aDescription
. - Under the
Select Condition
dropdown, choosePingdom
and select theCheck Notification
event. There’s only one event from Pingdom, so that part is easy.
- Click the
three dots
on the right of your condition to define fields. - Select
Full URL
and choosePerson
from the drop down on the right.- This sets the person we are taking about in the rule to be the person who has the URL of the event set in their profile. That’s the last thing we did in the previous configuration.
- At its most basic, that’s it! Now whenever you get a Pingdom event, the rule will be triggered for the person who has the URL in their profile. You can send tasks, notifications, etc, to that person or anyone else by how they are related to that person.
- You can fine tune the event as well- take a look at the fields available from the Pingdom event to further customize your Zeleo rule.
Events
There’s one event that Zeleo accepts from Pingdom, and all fields in the Webhook are available to you for rules and templates.
This is a sample of the event that Zeleo receives; all fields are available to filter in the Rule Builder
.
{
"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": [
"example_tag"
],
"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
}
}
Consequences
No consequences are defined by this Zeleo Application.