nginx 访问统计

标红的为用的比较多的

1.根据访问IP统计UV

awk ‘{print $1}‘ access.log|sort | uniq -c |wc -l

2.统计访问URL统计PV

awk ‘{print $7}‘ access.log|wc -l

3.查询访问最频繁的URL

awk ‘{print $7}‘ access.log|sort | uniq -c |sort -n -k 1 -r|more

4.查询访问最频繁的IP

awk ‘{print $1}‘ access.log|sort | uniq -c |sort -n -k 1 -r|more

awk ‘{print $1}‘ access.log|sort | uniq -c |sort -n -k 1 -r|head -n 100

5.根据时间段统计查看日志

一:使用 sed -n 匹配开始 和 结束 精确度稍微低点,一般匹配到小时,若分钟或者秒,就可能匹配不到

cat access.log| sed -n ‘/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p‘|more

二:awk 查询更全一些,因为提取日期时间进行比较。
start_time 和 stop_time 自己手动或者自动生成
格式 (13/Aug/2019:16:47:14 )
tac access.log | awk -v st="$start_time" -v et="$stop_time" ‘{t=substr($4,RSTART+2,21);if(t>=st && t<=et) {print $0}}‘

若只要统计结果某时间段的访问IP数量排行
tac access.log | awk -v st="$start_time" -v et="$stop_time" ‘{t=substr($4,RSTART+2,21);if(t>=st && t<=et) {print $1}}‘|sort |uniq -c


6.根据时间段查看日志(sed方式)

用sed过滤21:00:00之后名字为dbapiAly.log.20171025的日志 并且重定向到一个文件

sed -n ‘/21:00:00/,$p‘ dbapiAly.log.20171025 >21_log.txt

 cat  access.log| sed -n ‘/14\/Mar\/2017:21/,/14\/Mar\/2017:22/p‘|more

cat access_log_2011_06_26.log |awk ‘{print $1}’|uniq -c|wc -l > ip.txt

原文地址:https://blog.51cto.com/11090700/2429214

时间: 2024-10-31 05:27:11

nginx 访问统计的相关文章

python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)

前言:python统计apache.nginx访问日志IP访问次数并且排序(显示前20条).其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下. apache脚本: ips = {} with open("/root/mail_access_log-20180629") as fh:     for line in fh:         ip = line.split(" ")[0]         if 6 < le

Nginx安装配置与访问统计

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日. Nginx是一款轻量级的Web 服务器,其特点是占有内存少,并发能力强,它具有强大的高性能Web和反向代理服务. 部署环境: redhat6.5系统 ip地址192.168.100.101 相关软件包百度云 一.nginx配置

ELK+syslog+nginx访问日志收集+分词处理

一.nginx访问日志配置: 1.日志格式配置: log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"clientip":"$remote_addr",' '"size":$body_bytes_sent,' '"xff":"$http_x

Nginx日志统计方案全过程

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

python网站访问统计

#!/usr/local/bin/python3 # coding:utf-8 # ==================================================== # Author: chang - EMail:[email protected] # Last modified: 2017-5-13 # Filename: accesstimes.py # Description: real time analysis nginx log,base time, os,

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 [

采集并分析Nginx访问日志

日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析时,需要对Nginx访问日志统计分析,从中获取网站的访问量.访问时段等访问情况.传统模式下利用CNZZ等方式,在前端页面插入js,用户访问的时候触发js,但仅能记录访问请求.或者利用流计算.离线统计分析Nginx访问日志,但需要搭建一套环境,并且在实时性以及分析灵活性上难以平衡. 日志服务在支持查询

自定义nginx访问日志和内置变量使用

自定义nginx访问日志和内置变量使用 安装第三方echo模块后查看内置变量 内置变量 1.$args 用户在浏览器中查找的相关参数(uri中?之后的字段)2.$document_root 站点根目录所在的位置3.$document_uri 去除url中域名部分后所剩下的目录4.$host 所访问的主机5.$http_user_agent 客户端所使用的浏览器6.$http_cookie 客户端的cookie信息7.$limit_rate 客户端的下载速率0表示不限制速度 server { se

命令分析nginx访问日志的用法

awk分析日志常用高级使用命令方法 分析访问日志(Nginx为例) 日志格式: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"' 统计访问IP次数: # awk '{a[$1]++}END{for(i