jawbone up apiで自分をnagios監視下に置く

JAWBONE UP APIを触ってみた。

先月届いたリストバンド型ウェアラブルデバイスのUP。APIがあったのでなにかやってみようと思います。

API

こんなかんじでした。

  • OAuth2.0使用
  • UPに記録されているデータはひと通り取れる
  • 運動の記録(多分睡眠等も)は日付指定しなければ最新10日間分を取得
  • jsonで値はかえってくる
  • アクセストークンの期限は1年

自分を監視する

とりあえず何かやってみようということで自分を監視してみました。

運動量が一定の値以下なら警告をだしてみます。

何で監視するか

nagiosで監視してみます

流れ

  • UP側 - jawbone.comのアカウント作成
  • https://jawbone.com/up/developerからorganization登録
  • application登録 - アプリのホームページ
  • 認証のリクエスト等を送る際のウェブページ
  • リダイレクト先のページを登録
  • Client Id,App Secretが発行される
  • 認可コード取得
  • アクセストークン取得
  • nagios側 - 監視のためのホスト設定追加
  • UPから運動量を取得しnagiosに結果を返すスクリプト作成(今回はRuby使用) - 10日分のいろんな運動データがjson形式で来るので解析&最新の総歩数のみ取得
  • 1万歩以下ならアラート

結果

1万歩以下だと下記お叱りのメールが送られてきます。よお豚野郎!

nagiosではこんな感じ。

サーバに混ざって自分がnagios監視下に置かれています。

 


認可コードから先はcurl使って手動でアクセストークン取得、運動量取得するスクリプト内ではアクセストークン決め打ち。

このへんはoauth2のgem使って汎用的にしたいところ。あとnagiosじゃなくてTwitterと連携させたい。

流れと言いつつ色々端折っているのでもっと細かくまとめたい。


参考

UP for Developers

Nagios API