2014-09-28

Uptime Robot API を使って監視設定を一括更新する

Uptime Robot という無料で 50サイトまで死活監視してくれるサービスについて、監視設定を一括更新するには以下のように API を使うと簡単にできます。

requests ライブラリを使用しているので事前に pip install requests が必要です。

import requests

urlBase = 'https://api.uptimerobot.com'
baseParams = {
    'apiKey': 'u123123-ffffffffffffffffffffffffff',
    'format': 'json',
    'noJsonCallback': 1,
}

# alert contact id を取得します
for alertcontact in requests.get(urlBase + '/getAlertContacts', params=baseParams).json()['alertcontacts']['alertcontact']:
    print alertcontact['id']

# 全監視設定を更新します
for monitor in requests.get(urlBase + '/getMonitors', params=baseParams).json()['monitors']['monitor']:
    print monitor['id'], requests.get(urlBase + '/editMonitor', params=dict(baseParams, **{
        'monitorID': monitor['id'],
        'monitorAlertContacts': '123-456', # ハイフン区切り
        'monitorInterval': 5,
    })).json()

リンク
Uptime Robot API Documentation