ApacheなどのWebサーバを運用していると、たまにリアルタイムで今現在の利用状況や負荷などがどうなっているかを確認したくなるときがあります。
そこで、UNIX/Linuxの"top"ライクに、Apacheの使用状況を確認することができるのが「ApacheTop」と呼ばれるツールです。
インストール
インストールはパッケージ管理されているものを使うので簡単です。
$ sudo apt-get install apachetop
UbuntuやDebianなど、APTを使っているなら↑のような感じ。
$ sudo yum install apachetop
Fedoraなど、YUMを使っているなら↑のような感じです。
早速使ってみる
使い方は、"-f"オプションでApacheのログファイルを指定して使います。
$ apachetop -f /var/log/apache2/access_log
上記コマンドを実行すると、↓のような"top"ライクな表示画面が出て、リアルタイムでApacheのアクセス状況が確認できます。
ちなみに"-f"オプションを省略すると、デフォルトで"/var/log/httpd/access_log"を確認してくれるようです。
また、ログは"common"もしくは"combined"形式である必要があるとのこと。ログフォーマットを変更している場合などには使えないかもしれません。
last hit: 16:39:38 atop runtime: 0 days, 00:02:42 16:39:39 All: 457 reqs ( 3.2/sec) 1615.2K ( 11.1K/sec) 3619.1B/req 2xx: 167 (36.5%) 3xx: 288 (63.0%) 4xx: 2 ( 0.4%) 5xx: 0 ( 0.0%) R ( 30s): 116 reqs ( 3.9/sec) 332.0K ( 11.1K/sec) 2930.6B/req 2xx: 23 (19.8%) 3xx: 93 (80.2%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) REQS REQ/S KB KB/S URL 5 0.29 217.4 12.8*/ 5 0.36 1.0 0.1 /services/menu.js 4 0.31 0.8 0.1 /services/footer.js 4 0.31 0.1 0.0 /images/skip/icons/.png 3 0.23 69.8 5.4 /rss.xml 3 0.25 2.2 0.2 /mypage/ado_antennas/ 3 0.25 2.6 0.2 /mypage/load_rss_feed 1 0.14 0.0 0.0 /javascripts/skip/effects.js 1 0.14 8.6 1.2 /feed/recent_blogs/ 1 0.14 0.0 0.0 /javascripts/skip/controls.js 1 0.14 0.0 0.0 /javascripts/skip/slider.js 1 0.17 0.0 0.0 /images/arrow.jpg 1 0.17 0.7 0.1 /favicon.ico 1 0.17 0.0 0.0 /javascripts/skip/ufo.js 1 0.17 0.0 0.0 /javascripts/application.js 1 0.20 0.0 0.0 /javascripts/skip/skip_util.js 1 0.20 0.0 0.0 /javascripts/skip/jquery.nyroModal.js 1 0.20 0.0 0.0 /javascripts/skip/jquery.bgiframe.min.js 1 0.20 0.0 0.0 /javascripts/skip/jquery.dimensions.js 1 0.14 0.0 0.0 /javascripts/skip/dragdrop.js 1 0.25 0.0 0.0 /javascripts/skip/jquery.autocomplete.js 1 0.25 0.0 0.0 /javascripts/skip/jquery.jTagging.js 1 0.14 0.0 0.0 /images/skip_download_logo.jpg 1 0.25 0.1 0.0 /search 1 0.25 0.0 0.0 /images/skip/icons/server_link.png 1 0.25 0.0 0.0 /images/skip/icons/bullet_blue.png 1 0.33 0.0 0.0 /images/skip/icons/bullet_green.png 1 0.33 0.0 0.0 /images/skip/icons/door.png 1 0.33 0.0 0.0 /images/skip/icons/report.png 1 0.33 0.0 0.0 /images/skip/icons/book_open.png 1 0.33 0.0 0.0 /images/skip/icons/disk_multiple.png 1 0.33 0.0 0.0 /images/skip/icons/house.png 1 0.33 0.0 0.0 /images/skip/icons/vcard.png 1 0.33 0.0 0.0 /images/skip/icons/cog.png 1 0.33 0.0 0.0 /images/default_picture.png 1 0.33 0.0 0.0 /stylesheets/skins/silver/back.png 1 0.33 0.0 0.0 /images/skip/icons/group.png
こんな感じ。
デフォルトで使用すると、直近の30秒でのアクセスに対してモニタされて、5秒毎に画面表示が更新されます。
オプション
ヘルプによるといくつかオプションがあります。
$ apachetop -h
ヘルプについては上記のコマンド、もしくは"man apachetop"を実行することで確認できるかと思います。
URL/host/referrer munging options: -q keep query strings [no] -l lowercase all URLs [no] -s num keep num path segments of URL [all] -p preserve protocol at front of referrers [no] -r resolve hostnames/IPs into each other [no] Stats options: Supply up to one of the following two. default: [-T 30] -H hits remember stats for this many hits -T secs remember stats for this many seconds -d secs refresh delay in seconds [5]
実行時のオプションについては、↑の通りです。
- "-H"オプション
- 直近の指定されたアクセス数を対象に表示
- "-T"オプション
- 直近で指定された秒数でのアクセスを対象に表示
- "-d"オプション
- 画面表示の更新周期
よく使うのは、こんなところです。
"-H"や"-T"オプションで大きめの数字を入力しておけば、解析元データが多く取られるため、長時間の統計を見ることも可能ですし、"-d"オプションを小さくすることで更新周期が短くなるので、よりリアルタイム性の高いデータを確認することが可能です。
ApacheTop version 0.12.6, Copyright (c) 2003-2004, Chris Elsworth ONE-TOUCH COMMANDS d : switch item display between urls/referrers/hosts n : switch numbers display between hits & bytes or return codes h or ? : this help window p : (un)pause display (freeze updates) q : quit ApacheTop up/down : move marker asterisk up/down right/left : enter/exit detailed subdisplay mode SUBMENUS: s: SORT BY: [the appropriate menu will appear for your display] r) requests R) reqs/sec b) bytes B) bytes/sec 2) 2xx 3) 3xx 4) 4xx 5) 5xx t: TOGGLE SUBDISPLAYS ON/OFF: u) urls r) referrers h) hosts f: MANIPULATE FILTERS: a) add/edit menu c) clear all s) show active (not done yet) a: ADD FILTER SUBMENU u) to urls r) to referrers h) to hosts
apachetopを実行中のときに使うコマンドが上記です。"h"キーを押すと↑のヘルプが参照できます。
- "d"コマンド
- URL、リファラ、アクセス元の表示切替え
- "n"コマンド
- HTTPレスポンスのステータスコードの表示
- "p"コマンド
- Pause、その時点のもので固定表示
- "s"コマンド
- 表示内容を各項目でソートして表示
と、よく使うのはこんなところ。
リアルタイムにステータスコードの解析ができるのは、地味に便利かもしれません。
Apache以外でも使える
「ApacheTop」は、"Apache"から出力されるログデータを元に解析しているので、Apacheのログに準拠したWebサーバであれば、利用可能だと思います。
例えば、↓は"lighttpd"のアクセスログで試してみたのですが、問題なく動作を確認することが出来ました。
last hit: 08:57:03 atop runtime: 0 days, 00:01:30 08:57:08 All: 224 reqs ( 2.7/sec) 4606.1K ( 55.5K/sec) 20.6K/req 2xx: 219 (97.8%) 3xx: 5 ( 2.2%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) R ( 30s): 62 reqs ( 2.1/sec) 1405.6K ( 46.9K/sec) 22.7K/req 2xx: 59 (95.2%) 3xx: 3 ( 4.8%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) REQS REQ/S KB KB/S URL 4 0.15 7.0 0.3*/mypage/ado_antennas/ 4 0.15 172.0 6.4 / 4 0.16 61.5 2.5 /stylesheets/skip.style.css 4 0.17 5.0 0.2 /stylesheets/skins/green/skin.css 4 0.17 1.7 0.1 /stylesheets/mypage.css 4 0.17 4.0 0.2 /stylesheets/skip/jquery.autocomplete.css 4 0.17 10.4 0.4 /stylesheets/skip/nyroModal.full.css 4 0.22 3.5 0.2 /mypage/load_rss_feed 4 0.17 7.8 0.3 /stylesheets/groups.css 4 0.22 5.2 0.3 /services/footer.js 4 0.21 9.4 0.5 /services/menu.js 3 0.12 540.5 22.5 /javascripts/prototype.all.js 3 0.17 186.3 10.4 /pictures/picture/2.png 2 0.10 21.5 1.0 /javascripts/skip/ufo.js 2 0.09 333.9 14.5 /javascripts/jquery.all.js 2 0.11 3.0 0.2 /images/skip/indicator.gif 2 0.10 19.8 1.0 /javascripts/application.js 2 0.10 11.6 0.6 /javascripts/skip/skip_util.js 2 0.08 1.5 0.1 /favicon.ico
Webサーバの状況をリアルタイムに確認したい場合の1つの手段としてご参考になれば。
- 作者: (有)いなかどっとコム,石井研二
- 出版社/メーカー: 翔泳社
- 発売日: 2004/09/17
- メディア: 単行本
- 購入: 6人 クリック: 117回
- この商品を含むブログ (18件) を見る