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 "需要统计的时间段日志文件没有被成功处理"

原文地址:https://www.cnblogs.com/python-xiakaibi/p/10764294.html

时间: 2025-01-07 04:20:10

nginx 日志统计接口每个小时访问量的相关文章

Nginx日志统计方案全过程

本文主要记录下给予python的nginx日志统计过程,主要原因是最近系统经常遭到未知程序的疯狂爬数据,虽然做了防爬机制,但是还是必须要找出是哪些IP访问次数比较多.想到的办法就是通过分析ngxin日志,从而找出这些IP排行即可.具体方案的操作步骤包括: ngxin日志每日切割功能: 设置ngxin的日志格式: 编写python代码在每日切割之前统计下access.log中的IP访问次数并将统计结果录入MongoDB: 编写web查询MongoDB进行统计. 一.nginx日志每日切割功能 该功

Nginx日志统计

1)按每小时切割Nginx访问日志,并且将日志自动上传至FTP服务器: #!/bin/bash #auto mv nginx log shell #by author xiaoming S_LOG=/usr/local/nginx/logs/access.log D_LOG=/data/backup/`date +%Y%m%d%H%M` echo -e "\033[32mPlease wait start cutshell scripts...\033[0m" sleep 2 if [

shell 分析 nginx 日志统计

1.统计ip访问量前10的 ip地址 cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 10 2.查看当天ip访问量统计 cat access.log  |grep "21/Apr/2016" |awk '{print $1}'|sort|uniq -c|sort -nr 3.查看访问前10的页面统计 cat access.log | grep "21/Apr/2016"

elk容器化实践(Nginx日志统计)

1.在管理机上运行docker swarm init --advertise-addr 192.168.204.1352.在节点机上运行(加入集群)docker swarm join \--token SWMTKN-1-48w6yubnwxpbboqo296es90r7snmru0q2dnwmthq1i7a6qlom9-8xuklnbfys5vdcx3pkyf4u3ha \192.168.204.135:23773.在管理机上运行(Nginx 集群)docker service create -

使用awstats分析nginx日志

1.awstats介绍 本文主要是记录centos6.5下安装配置awstats,并统计nginx访问日志 1.1 awstats介绍 awstats是一款日志统计工具,它使用Perl语言编写,可统计的日志类型包括appache,nginx,ftp,mail等,awstats对nginx日志统计非常详细,如统计项 按参观时间:  按月历史统计   按日期统计   按星期   每小时浏览次数 按参观者:  国家或地区   城市   IP   最近参观日期   无法反解译的IP地址   搜索引擎网站

nginx日志切割,日志格式,静态文件不记录日志,配置缓存

我是直接写的一个简单的shell实现的,内容如下: #! /bin/bash datedir=`date +%Y%m%d` /bin/mkdir  /home/logs/$datedir >/dev/null 2>&1 /bin/mv /home/logs/*.log /home/logs/$datedir /bin/kill -HUP `cat /var/run/nginx.pid` 这样执行以后,就会在/home/logs/$datedir目录下生成日志文件,你可以在/etc/cr

Perl统计nginx日志信息并分析每个小时的数据

#!/usr/bin/perl # name: logcalc.pl # calc the amount of access url use strict; use warnings; use diagnostics; use File::Basename; my ($arg, $arg_only); my $FILE; my ($year, $month, $day, $mon); my ($time, $method, $url); my ($amount, $hour, $key, $va

切分Nginx日志,完成网站访问量的自动统计

如果你的网站通过 Nginx 代理,那么本文将为你提供一个自动统计网站访问量的方案. 方案在实现步骤上,一个分为三步: 1. 运行 shell 脚本,移动 Nginx 日志到指定文件夹,并运行 Python 脚本: 2. 执行 Python 脚本,统计有效的 IP 访问量 3. 设置 crontab 定时任务. 一.shell 脚本 通过 Nginx 配置文件,查看监听端口的日志文件,并移动到指定的路径. 然后运行 Python 脚本,执行处理 Nginx 日志文件的 Python 脚本. sh

Nginx日志切割及常用统计脚本

1,编辑脚本 进入到/usr/local/nginx/logs日志目录下,新建一个脚本,添加下面内容.指定好日志目录路径,日志文件名称和pid的文件,最后kill -USR1信号用来告知应用程序重载配置文件 vim log.sh #!/bin/bash logs_path="/usr/local/nginx/logs/" mv ${logs_path}www_mrliangqi.log ${logs_path}www_mrliangqi$(date -d "yesterday