對于nginx的實時訪問數據統計可采用ngxtop實現監控web server的訪問情況 。ngxtop 允許你對 NGINX 的訪問日志 (access log) 進行實時解析, 并輸出類似 top 的有用信息。
ngxtop 是 python 腳本安裝包,需要python支持。
對于python的包和庫文件我們一般喜歡pip管理,沒有安裝的可以:
wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py python get-pip.py #安裝pip python包管理工具 pip install ngxtop #下載安裝ngxtop
使用:
ngxtop -l /usr/local/nginx/logs/access.log
顯示請求最多的ip和request
ngxtop -t 1 -l /var/log/nginx/access.log top remote_addr request
使用幫助:
Usage: ngxtop [options] ngxtop [options] (print|top|avg|sum) <var> ngxtop info Options: -l <file>, --access-log <file> access log file to parse. -f <format>, --log-format <format> log format as specify in log_format directive. --no-follow ngxtop default behavior is to ignore current lines in log and only watch for new lines as they are written to the access log. Use this flag to tell ngxtop to process the current content of the access log instead. -t <seconds>, --interval <seconds> report interval when running in follow mode [default: 2.0] -g <var>, --group-by <var> group by variable [default: request_path] -w <var>, --having <expr> having clause [default: 1] -o <var>, --order-by <var> order of output for default query [default: count] -n <number>, --limit <number> limit the number of records included in report for top command [default: 10] -a <exp> ..., --a <exp> ... add exp (must be aggregation exp: sum, avg, min, max, etc.) into output -v, --verbose more verbose output -d, --debug print every line and parsed record -h, --help print this help message. --version print version information. Advanced / experimental options: -c <file>, --config <file> allow ngxtop to parse nginx config file for log format and location. -i <filter-expression>, --filter <filter-expression> filter in, records satisfied given expression are processed. -p <filter-expression>, --pre-filter <filter-expression> in-filter expression to check in pre-parsing phase.