httpレスポンスタイムの内訳をグラフにしてみた

はじめまして。3月に入社した年寄りの新人です。

小ネタとしてツールを作ってみましたので紹介します。

Webサーバの応答がちょっと遅いな?とか思ったときにどこで引っかかっているのか大まかにでもわかると切り分けの役に立つと思います。muninのプラグインとしてすでにhttpingプラグインがありますが、もっと細かな情報が知りたいこともありますよね?今回はcurlの-wオプションを使ってmuninのプラグインを作ってみました。curl の-wオプションは以下のように使います。

$ curl -s -o /dev/null -w “%{time_namelookup}\n” http://www.dmm.com

とすると名前解決にかかった時間を表示してくれます。詳しくはマニュアルを参照して頂くとして使える変数と大まかな意味を図示するとこんな感じです。

これClipboard01

コマンドで返される値を使ってmuninのプラグインを作りました。作成にあたっては先ほどのhttpingプラグインを参考にさせていただきました。大変感謝しております。このプラグインを使い色々なページのレスポンスを見てみるとどこに時間がかかっているかわかります。(チェックは5分に1回なので許してね)。こちらは比較的軽いページの結果です。

www.dmm.com

こちらは上に比較すると画像データが多く、表示に少々時間のかかるページです。

www.amazon.co.jp

いかがでしょう?プラグインのソースは以下のようなものです。

このプラグインはmunin-nodeから実行されます。

  • チェック対象のURLはhttp://www1.example.co.jp/, http://www2.example.co.jp/
  • muninのプラグインの置き場所は/usr/share/munin/plugins/以下
  • muninの設定ファイルは/etc/munin/以下

という条件では以下の設定で使えるようになります

  1. プラグインの置き場所の/usr/share/munin/plugins/に 上のプラグインをhttpresp_curl_ のような名前で置いて実行属性を与えておく
  2. /etc/munin/plugin-conf.d/httpresp_curl というファイルを作る。内容は以下の通り
  3. /etc/munin/plugins/ 以下にプラグインへのシンボリックリンクを作る。シンボリックリンクの名前はhttpresp_curlで[ ]の中に記述した名前にする。

以上です


PAGE TOP