5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

jHako APIを動かしてみる

Last updated at Posted at 2016-04-17

jHako APIを動かしてみる(備忘録)

初めに

jHako開発者の小松さんにjHakoはブラウザの表示やブラウザからの動作を全てAPIで行っていると聞いたので、jHakoのjobnet編集画面にあるjobnetのテストで使う「実行」もAPIで実行できる筈。
これができれば、Zabbixで障害検知してアクションでjHakoの障害復旧jobnetが実行できる!
と言う訳で、実際に試してみました。

Advanced REST Clientで動かす

実はこの備忘録を作る前に試しているので鼻歌交じりで試したのですが…
jobnetの実行が404 NOT FOUND、Advanced REST Clientが新しくなったら動かない!
で、調査してみました。

URLは合っているのに404 NOT FOUND…
『URLあってるよなー』とか『ブラウザから動くよなー』とか独り言呟き1時間…

『HEAD足りてないかな?』とcookieを渡したら動きました。(笑)

下記、実行が上手く行った画面のキャプチャ
2016-04-17_182948.png

ログイン時に帰ってくるcookieの値を渡す必要があると様です。(笑)

まとめ

下記でZabbixからjHakoの連携ができる筈

1)Python等でjHako APIでログイン、jobnet実行を行うスクリプト組む
2)Zabbixが障害検知したらアクションでスクリプト実行する

尚、jHakoのアカウントで障害対応用のアカウント作った方が良いかと。
ブラウザでログインしているアカウントで、Advanced REST Clientからログインしたら怒られました。(笑)
2016-04-17_184131.png

以下、jHako APIのログインとjobnet実行に関する情報


ログイン

  • URL:http://{jHakoサーバのIPアドレス}/jhako/sessions.json

  • HEAD:Content-Type:application/json

  • Body

{
  "session": {
    "name": "admin",
    "fullname": "",
    "kind": 0,
    "password": "jhako",
    "password_confirmation": "",
    "language": "en",
    "email": "",
    "created_at": null,
    "updated_at": null
  }
}

jobnetの実行

  • URL
    http://{jHakoサーバのIPアドレス}/jhako/proc_topjobnets.json

  • HEAD:
    Content-Type:application/json
    Cookie: remember_token=xxxxxxxxxxxxxxxxxxxxxx;

  • Body

{
  "proc_topjobnet": {
    "name": "test",
    "description": "",
    "kind": 10,
    "hold": false,
    "skip": false,
    "timeout": 0,
    "created_at": null,
    "updated_at": null,
    "jobunit_id": 13,
    "status": 0,
    "start_time": null,
    "end_time": null,
    "timeout_occur": false,
    "force_start": false,
    "force_stop": false,
    "proc_jobunit_id": 0,
    "proc_alarm_id": 0,
    "mode": 1,
    "schedule_time": null,
    "run_type": 0,
    "delay_limit": 1,
    "path": ""
  }
}

上記はtestと言うjobnetが実行します。
cookieはログイン時のレスポンスヘッダのSet-Cookie:にあるremember_tokenの値を設定します。

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?