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 seect Integrations.
  • 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 click Save integration.

Pingdom 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 and Uptime.
  • 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.

Pingdom Integration

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 your Manage Team dialog.
  • In the Applications tab, select the plus symbol next to the Pingdom application.

Pingdom Integration

  • 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 the Applications 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!

Pingdom Integration

You can create a rule condition to handle this event now.

  • Open the side panel in Zeleo and select Rules & Conditions.
  • Click the + button to create a new rule.
  • Give the rule a Name and optionally a Description.
  • Under the Select Condition dropdown, choose Pingdom and select the Check Notification event. There’s only one event from Pingdom, so that part is easy.

Pingdom Integration

  • Click the three dots on the right of your condition to define fields.
  • Select Full URL and choose Person 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.

Pingdom Integration

  • 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.

Pingdom Integration

Events

There’s one event that Zeleo accepts from Pingdom, and all fields in the Webhook are available to you for rules and templates.

Check Event.

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.