0

私は、django-project で pingdom-api を使用して Web サイトのステータスを確認する新しい学習者です。 views.pyでメソッドに直接アクセスするために pingdom ライブラリをインポート しました。

私のviews.py

import datetime
import pingdomlib

api = pingdomlib.Pingdom( username = "anilxxxx@gmail.com", password = "xxxxxx", apikey = "xf8xyxxxxxxxxxxxxxxxxxxxxxxx")


def get_actions_alerts(request):
    pingdomactions=api.actions()
    print "pingdomactions=",  pingdomactions 

    for alert in api.alerts(limit=10):
        time = datetime.datetime.fromtimestamp(alert['time'])
        timestamp = time.strftime('%Y-%m-%d %H:%M:%S')
        print timestamp
        print "[%s] %s is %s" % (time, alert['name'], alert['status'])

    return render_to_response("base_audit_template.html") #need to render data to this page


def get_checks(request):
    pingdomchecks = api.getChecks()
    print "pingdomchecks" , pingdomchecks
    for check in pingdomchecks:
    # See pingdomlib.check documentation for information on PingdomCheck class
        if check.status != 'up':
            print check
        else :
            print "status up:" , check
    return render_to_response("base_audit_template.html")

しかし、pingdomactions リストは URL をヒットしても空であり、アラートも読み取れません

Terminal putput :


pingdomactions= {u'alerts': []}
[21/Jul/2013 05:19:08] "GET /data/actions/ HTTP/1.1" 200 2075

質問:

  1. 空のアクション リストを取得するために考えられる問題は何ですか? . このエラーの解決策はありますか。

  2. この pingdomlib を正しく使用していますか? またはそれを使用する別の方法があります。

4

1 に答える 1

1

api.action() は、pingdom api によって返されたアラートを渡します。pingdom がアラートに応答してアクションを実行しなかった場合は空になります。通常、アクションから見たものは、pingdom がダウンへの応答として送信した電子メール アラートのリストです。したがって、ダウンが発生していないか、pingdom から電子メール/SMS/その他のアラートが送信されていない場合、それが最も可能性の高い理由です。それは空です。

全体として、私の lib を意図したとおりに使用しているように見えます。まだ苦労している場合はお知らせください。

于 2013-08-16T17:44:12.103 に答える