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="test1@test.com test2@test.com"
#刪除臨時統計文件
[ -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 "需要統計的時間段日志文件沒有被成功處理"

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM