1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > ip访问次数统计 nginx_分析Nginx 5分钟内的 日志 然后统计出 访问次数最多的ip 地址 和次数...

ip访问次数统计 nginx_分析Nginx 5分钟内的 日志 然后统计出 访问次数最多的ip 地址 和次数...

时间:2020-01-22 10:15:52

相关推荐

ip访问次数统计 nginx_分析Nginx 5分钟内的 日志 然后统计出 访问次数最多的ip 地址 和次数...

#!/bin/bash

#author:

#取出nginx五分钟内的日志

#Nginx日志格式:

#if [ -z $1 ];then

#echo “请在脚本后面加上日志文件!!”

#exit 1

#fi

#日志文件

logfile=/var/log/nginx/access.log

#logfile=

#开始时间

#start_time=date -d"$last_minutes minutes ago" +"%H:%M:%S"

start_time=date -d"5 minutes ago" +"%H:%M:%S"

#start_time=”14:29:20″

#结束时间

stop_time=date +"%H:%M:%S"

#stop_time=”14:35:36″

#tac $logfile | awk -v st=”$start_time” -v et=”$stop_time”

tac $logfile | awk -v st=”$start_time” -v et=”$stop_time” ‘

BEGIN{

# print “\n——————————-“;

# print “开始时间:”st;

# print “结束时间:”et;

# print “在这个时间段(1分钟内)的日志如下:”

# print “———————————\n”

}

{

#第4列的时间数据,然后按:冒号进行分割出时间

#split($4,i,”:”);

#组合时间 例: 14:37:49

#t=sprintf(“%s:%s:%s”,i[2],i[3],i[4]);

#第4列的时间数据,取出时:分:秒

t=substr($4,RSTART+14,21);

#判断在st与et之间的时间

if(t>=st && t<=et)

{print $0}

}

END{

print “\n”

}

‘>/etc/zabbix/nginxip.txt

cat /etc/zabbix/nginxip.txt |cut -d ‘ ‘ -f 1 |sort |uniq -c | sort -nr | awk ‘{print $0 }’ | head -n 10 >/etc/zabbix/nginx3.txt

cat /etc/zabbix/nginx3.txt | head -1 | awk ‘{print $1}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。