HTTP のテスト・モニタリングを行う CLI ツール httpmon
の v0.2.0 をリリースしました。とはいっても、 github のリリースページ に実行形式のファイルが置いてあるだけです。
README.md に書いてあるとおりですが、 ターミナルで http のテストをするだけです。現在のところ GET とPOST を送信できますが、 body は送信できないので、実質 GET 専用です。
レポジトリーはこちらです
使い方
テストしたい対象のサービスの URL を httpmon
のパラメーターに指定するだけです
$ httpmon [サービスの URL]
オプション
現在のところ、テストできる項目は以下の 3 項目だけです
- ステータス
- レスポンスタイム
- ヘッダー
- 名前と値の一致
ステータス
ステータスを指定する場合は、オプションに -status
または --status
または -s
をつけます
$ httpmon -status [期待するステータスコード] [サービスのURL]
レスポンスタイム
レスポンスタイムを指定する場合は -response-time
を指定します。タイムの指定書式は numberUNIT
のような形式で、 UNIT
には s
(秒)または m
(分) を指定します。
なお、時間のかかるリソースだとクライアントのタイムアウトがかかってしまうので、タイムアウト設定を行うことをおすすめします。
タイムアウトの設定はオプション -timeout
で指定します。タイムの指定書式はレスポンスタイムと同じです。
$ # この例では 5 秒のレスポンスタイムを設定します $ httpmon -response-time 5s -timeout 10s [サービスの URL]
なお、タイムの指定書式はもしかしたら変更するかもしれません…
ヘッダー
ヘッダーのテストでは、指定した名前のヘッダーが含まれており、その値が指定した値になっているということをテストします。
指定は -expect-header
で指定し、 [header-name]=[header-value]
という書式で行います。
なお、送信時に送信するヘッダーは -request-header
オプションで指定できます。こちらの書式も -expect-header
と同じ書式です
$ httpmon \ -expect-header content-type=application/json \ -request-header accept=application/json \ [サービスのURL]
以上