A python library to consume the pingdom API
Project description
Written by: Kenneth Wilke <kenneth.wilke@gmail.com>
This is a python library to provide full access to the pingdom API, along with a few additional features to make using the API easier and pythonic.
Usage examples
Connecting to pingdom
import pingdomlib api = pingdomlib.Pingdom(username, password, apikey)
Show all checks that are not in ‘UP’ status
# See pingdomlib.pingdom documentation to see available calls and settings pingdomchecks = api.getChecks() for check in pingdomchecks: # See pingdomlib.check documentation for information on PingdomCheck class if check.status != 'up': print check
Creating a new check
newcheck = api.newCheck("New check name", "www.hostnametocheck.com")
Updating a check
# Updates to check objects are pushed immediately to pingdom newcheck.paused = True
Disabling change pushing for checks
api.pushChanges = False
Get last 10 pingdom alerts sent
import datetime for alert in api.alerts(limit=10): time = datetime.datetime.fromtimestamp(alert['time']) timestamp = time.strftime('%Y-%m-%d %H:%M:%S') print "[%s] %s is %s" % (time, alert['name'], alert['status'])
Get outages for a specific check
import datetime check = api.getCheck(227878) for outage in check.outages(): # timestamp conversion time_start = datetime.datetime.fromtimestamp(outage['timefrom']) timestamp_start = time_start.strftime('%Y-%m-%d %H:%M:%S') time_end = datetime.datetime.fromtimestamp(outage['timeto']) timestamp_end = time_end.strftime('%Y-%m-%d %H:%M:%S') print "%s: %s from %s to %s [%dm]" % (check.name, outage['status'], timestamp_start, timestamp_end, (outage['timeto'] - outage['timefrom']) / 60)
Special thanks
Anders Ekman, Pingdom, for offering warm and helpful support with the API
TODO list
Planned improvements
Optional Gzip Compression
Improve check update process with pushChanges disabled
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PingdomLib-0.1.5.tar.gz
(16.0 kB
view hashes)