nginx 日志统计接口每个小时访问量
Posted python-xiakaibi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 日志统计接口每个小时访问量相关的知识,希望对你有一定的参考价值。
指定时间段增量统计nginx日志不同接口的访问量:
#!/bin/bash
#此脚本用于统计nginx日志当前时间15分钟之内不同接口(URL)的访问量统计
LOG=/usr/local/nginx/logs/interface.access.log
TMP=/tmp/url.tmp
URLSTATS=/var/log/interface_urlstats.log
RECEIVERS="[email protected] [email protected]"
#删除临时统计文件
[ -f $TMP ] && rm -fr $TMP
for i in `seq 15`
do
d=`date +%d/%h/%Y:%H:%M -d "$i minutes ago"`
#将每个时间段的URL进行统计并追加到临时文件
awk -v b="$d" ‘{if ($4 ~ b)a[$7]++}END{for(i in a)printf("%-42s %-d\n", i,a[i])}‘ $LOG >> $TMP
done
#将汇总到临时文件的URL统计进行汇总
if [ -s $TMP ];then
awk ‘{a[$1]+=$2;}END{for(i in a)printf("%-42s %-d\n", i,a[i])}‘ $TMP | sort -nr -k2 > $URLSTATS
mail -s "$(date +%F-%H:%M) 15分钟的URL访问量统计" "$RECEIVERS" <$URLSTATS
else
echo "需要统计的时间段日志文件没有被成功处理"
以上是关于nginx 日志统计接口每个小时访问量的主要内容,如果未能解决你的问题,请参考以下文章