はじめに
サーバ状況の手軽なモニタリングの代表といえばtopコマンドですが、
そんなtopコマンドライクにapacheのアクセス状況や負荷状況を手軽にモニタリングできるapachetopというツールがあります
周りでも使ったことないor知らない人もちょこちょこいたので紹介がてらにメモ
(これ見ればわかるよっていう手抜き用w)
ながれ
- 入れてみた環境
- インストール
- 使ってみる
1. 入れてみた環境
# cat /etc/redhat-release CentOS release 6.5 (Final) # uname -a Linux hoge.co.jp 2.6.32-431.el6.x86_64 #1 SMP Mon Dec 16 12:35:39 JST 2013 x86_64 x86_64 x86_64 GNU/Linux # /usr/local/apache-2.4/bin/apachectl -v Server version: Apache/2.4.4 (Unix) Server built: Dec 20 2013 16:03:49
2. インストール
rpmをチョイス
64bitOSなのでrpmも64のものをこちらからチョイス
→http://pkgs.repoforge.org/apachetop/
チョイスしたrpmをインストール
# cd /usr/local/src # wget http://pkgs.repoforge.org/apachetop/apachetop-0.12.6-3.el6.rf.x86_64.rpm # rpm -Kv apachetop-0.12.6-3.el6.rf.x86_64.rpm # rpm -ivh --nodeps apachetop-0.12.6-3.el6.rf.x86_64.rpm
オプションを軽く補足
オプション | 説明 |
---|---|
-K, –checksig | パッケージ署名を検査 |
-v, –verbose | 進捗メッセージなど、より多くの情報を画面表示 |
-i, –install | パッケージをインストール |
-h, –hash | インストール状況を「#」と割合で表示す |
参考
→RPMパッケージの管理に使うRPMコマンド使えるオプション一覧
3. 使ってみる
使い方
基本的な使い方はこうコマンドを打つだけです
オプションについては後述で少し触れます
# /usr/bin/apachetop -f 'accessログのパス'
表示
表示はこんな感じになります。
アクセスがないとき
last hit: 00:00:00 atop runtime: 0 days, 00:00:00 06:56:15 All: 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req 2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) R ( 1s): 0 reqs ( 0.0/sec) 0.0B ( 0.0B/sec) 0.0B/req 2xx: 0 ( 0.0%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
アクセスがあるとき
last hit: 06:56:29 atop runtime: 0 days, 00:00:15 06:56:30 All: 18 reqs ( 6.0/sec) 463.3K ( 154.4K/sec) 25.7K/req 2xx: 14 (77.8%) 3xx: 4 (22.2%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) R ( 15s): 18 reqs ( 1.2/sec) 463.3K ( 30.9K/sec) 25.7K/req 2xx: 14 (77.8%) 3xx: 4 (22.2%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%) REQS REQ/S KB KB/S URL 2 0.67 77.2 25.7*/mypage 2 0.67 0.0 0.0 / 1 1.00 4.0 4.0 /js/libs/jquery.enqt.js 1 1.00 11.5 11.5 /js/mypage/main.js 1 1.00 2.0 2.0 /js/libs/jquery.htmlaudio.js 1 1.00 34.2 34.2 /js/project.js 1 1.00 4.3 4.3 /js/common.js 1 1.00 25.8 25.8 /js/libs/preloadjs-0.3.1.min.js 1 1.00 115.8 116 /img/project/parts/640/base.png 1 1.00 106.6 107 /img/project/parts/640/back_hair.png 1 1.00 53.8 53.8 /img/project/parts/640/body.png 1 1.00 0.1 0.1 /img/project/parts/640/face.png 1 1.00 2.0 2.0 /img/project/parts/640/closed_mouth.png 1 1.00 15.0 15.0 /img/project/parts/640/closed_eyes.png 1 1.00 10.9 10.9 /img/project/parts/640/eye.png
オプションとか
オプションは大きくわけて実行時オプション
と実行中オプション
があります
実行時オプション
-h
でhelpが見れますが、良く使うのを列挙しておきます
オプション | 説明 |
---|---|
-T [n] | n秒ごとモニタリング |
-d [n] | n秒ごとに描画 |
-H [n] | n数分表示。-Tと併用は不可 |
-s [n] | URLを第nセグメントまで表示 |
実行中オプション(フィルタリング)
- 例
基本的な使い方として、実行中にf
を押すとフィルタリングメニューが表示されます
こんな感じで選択肢が表示されるのでそれにしたがってフィルタリングしましょう
filters.. a) add/edit menu c) clear all s) show active
f→a→u→'mypage'と入力した場合
'mypage'という文字列を含むアクセスについてフィルタリング
- その他オプション
その他のオプションをあげておきます
表の見方ですが、階層になってるところはtype1→type2→type3
と順番にタイプするイメージです。
(上記の例でいうf→a→uとたどる)
type1 | type2 | type3 | 説明or例 |
---|---|---|---|
f | フィルタ選択 | ||
a | add/editフィルタ選択 | ||
u | type3の後入力した文字列でurlでフィルタ | ||
r | type3の後入力した文字列でreferrerでフィルタ | ||
h | type3の後入力した文字列でhostでフィルタ | ||
c | フィルタクリア | ||
s | sortフィルタ | ||
d | 繰り返し押すとurl、host、referrerについてを表示切り替え | ||
↑or↓ | 詳細を表示したい行(* )のついた行)を切り替え |
||
→or← | * が付いてるアクセスについて詳細表示⇔通常表示を切り替え |
- 終わりにする
終わりにするときはtopと同じでq
と入力するだけです
まとめ
真新しいものではないですが、
アクセスについてのモニタリングには結構役立つので使ってみてはいかがでしょうか!
enjoy!╭( ・ㅂ・)و