こんにちは! JQです。
前回は『OSS編~Ansible でサーバ構成管理 パート③~』と題して、AnsibleのPython APIを試してみました。
今回は『OSS編~httping で疎通確認~』と題して、オープンソースのhttpingを試してみたいと思います。
httpingとは
pingのようにHTTPリクエストを行えるツールです。
ライセンスはGPLv2になります。
インストール
1. httpingのインストール
インストールを行います。
先ずはmsgfmtが必要な為、モジュールをインストールします。
1 |
$ sudo yum -y install gettext |
続いてhttpingをインストールしてみます。
1 2 3 4 5 6 |
$ cd /usr/local/src/ $ sudo wget http://www.vanheusden.com/httping/httping-2.3.4.tgz $ sudo tar xfz httping-2.3.4.tgz $ cd httping-2.3.4 $ sudo make $ sudo make install |
2. 使い方
実際にコマンドを実行してみます。
1 2 3 4 5 6 |
$ httping ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com PING ec2- xx-xxx-xxx-xxx.compute-1.amazonaws.com:80 (/): connected to xx.xxx.xxx.xxx:80 (202 bytes), seq=0 time= 14.51 ms connected to xx.xxx.xxx.xxx:80 (202 bytes), seq=1 time= 3.63 ms connected to xx.xxx.xxx.xxx:80 (202 bytes), seq=2 time= 3.68 ms connected to xx.xxx.xxx.xxx:80 (202 bytes), seq=3 time= 3.81 ms |
pingのように出力されます。
また、URL指定やHTTPSでも指定が可能です。
1 2 |
$ httping http://ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com/index.html $ httping https://ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com/index.html |
他にもオプションが多数あり、接続回数(-c)やステータス(-c)やユーザ・パスワードの指定も可能です。
1 2 3 4 5 6 7 8 9 |
$ httping -c 4 -s http://ec2- xx-xxx-xxx-xxx.compute-1.amazonaws.com/index.html PING ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com:80 (/index.html): connected to xx.xxx.xxx.xxx:80 (250 bytes), seq=0 time= 2.98 ms 200 OK connected to xx.xxx.xxx.xxx:80 (250 bytes), seq=1 time= 2.35 ms 200 OK connected to xx.xxx.xxx.xxx:80 (250 bytes), seq=2 time= 2.18 ms 200 OK connected to xx.xxx.xxx.xxx:80 (250 bytes), seq=3 time= 2.19 ms 200 OK --- http://ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com/index.html ping statistics --- 4 connects, 4 ok, 0.00% failed, time 4011ms round-trip min/avg/max = 2.2/2.4/3.0 ms |
下記のようにjson形式で出力も可能です。
1 2 3 4 5 6 |
$ httping -s -M http://ec2- xx-xxx-xxx-xxx.compute-1.amazonaws.com/index.html [ { "status" : "1", "seq" : "1", "start_ts" : "1394011153.318971", "resolve_ms" : "2.292156e+00", "connect_ms" : "5.629063e-01", "request_ms" : "2.100468e-01", "total_ms" : "3.666162e+00", "http_code" : "200", "msg" : "200 OK", "header_size" : "250", "data_size" : "0", "bps" : "0.000000", "host" : "xx.xxx.xxx.xxx", "ssl_fingerprint" : "", "time_offset" : "-322.231531", "tfo_success" : "false", "write" : "6.010532e-01", "close" : "2.002716e-02", "cookies" : "0", "to" : "-3.222315e+02", "tcp_rtt_stats" : "4.000000e+00", "re_tx" : "0", "pmtu" : "1500", "tos" : "00", }, { "status" : "1", "seq" : "2", "start_ts" : "1394011154.322989", "resolve_ms" : "6.139278e-01", "connect_ms" : "6.630421e-01", "request_ms" : "1.549721e-01", "total_ms" : "2.037048e+00", "http_code" : "200", "msg" : "200 OK", "header_size" : "250", "data_size" : "0", "bps" : "0.000000", "host" : "xx.xxx.xxx.xxx", "ssl_fingerprint" : "", "time_offset" : "-324.645996", "tfo_success" : "false", "write" : "6.051064e-01", "close" : "2.098083e-02", "cookies" : "0", "to" : "-3.246460e+02", "tcp_rtt_stats" : "4.000000e+00", "re_tx" : "0", "pmtu" : "1500", "tos" : "00", }, { "status" : "1", "seq" : "3", "start_ts" : "1394011155.325551", "resolve_ms" : "8.058548e-01", "connect_ms" : "6.971359e-01", "request_ms" : "2.479553e-01", "total_ms" : "2.357960e+00", "http_code" : "200", "msg" : "200 OK", "header_size" : "250", "data_size" : "0", "bps" : "0.000000", "host" : "xx.xxx.xxx.xxx", "ssl_fingerprint" : "", "time_offset" : "-327.481508", "tfo_success" : "false", "write" : "6.070137e-01", "close" : "2.193451e-02", "cookies" : "0", "to" : "-3.274815e+02", "tcp_rtt_stats" : "4.000000e+00", "re_tx" : "0", "pmtu" : "1500", "tos" : "00", }^C ] |
3. GUIモード
GUIが利用できるか確認してみます。
1 2 3 4 |
$ sudo httping -V HTTPing v2.3.4, (C) 2003-2013 folkert@vanheusden.com * SSL support included (-l) * ncurses interface with FFT included (-K) |
-kオプションを利用して実際に確認してみます。
1 |
$ httping -s -K http://ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com/ |
いかがでしたでしょうか?
次回もお楽しみに!!!