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

#!/bin/bash

#author: linuxhub.org

#取出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}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值