ngxtop parses your nginx access log and outputs useful, top-like, metrics of your nginx server. So you can tell what is happening with your server in real-time.ngxtopは、nginxのログをリアルタイムに解析して、topコマンドのように表示してくれるプログラムです。
オプションをつけたりして工夫すると、Apacheのlogも扱えることができるようです。
sshログインして、どこにアクセスが来ているのかな?というふうに、ぱぱっと見ることができるので、使えるようにしておいて損はしないと思います。
以下、インストールメモです。pipで入るので簡単です。
環境: CentOS 6
# yum install python-setuptools # easy_install pip # pip install ngxtop # ngxtop -h通常のログフォーマットの他に、以下の様な、LTSVフォーマットのログも解析できます。
ngxtopがnginx.confをパースしてくれるので、とくにオプションの指定は必要ないです。
# cat /etc/nginx/nginx.conf ~~~ log_format ltsv "time:$time_local" "\thost:$remote_addr" "\tforwardedfor:$http_x_forwarded_for" "\treq:$request" "\tstatus:$status" "\tsize:$body_bytes_sent" "\treferer:$http_referer" "\tua:$http_user_agent" "\treqtime:$request_time" "\tapptime:$upstream_response_time" "\tvhost:$host"; access_log /var/log/nginx/access.log ltsv; ~~~ngxtop infoと打つと、どのログを解析するのか見ることができます。
# ngxtop info nginx configuration file: /etc/nginx/nginx.conf access log file: /var/log/nginx/access.log access log format: time:$time_local\thost:$remote_addr\tforwardedfor:$http_x_forwarded_for\treq:$request\tstatus:$status\tsize:$body_bytes_sent\treferer:$http_referer\tua:$http_user_agent\treqtime:$request_time\tapptime:$upstream_response_time\tvhost:$host available variables: body_bytes_sent, host, http_referer, http_user_agent, http_x_forwarded_for, remote_addr, request, request_time, status, time_local, upstream_response_time違うパスのログファイルを解析するときは、オプションを付ければOKです。
Options: -l, --access-log access log file to parse.
Title pic from Linux Screenshots Log Monitoring Tool - ngxtop