Nginx日志分析脚本

1.$3匹配到fangdd.com,打印改行所有内容

awk ‘{if($3==fangdd.com) print $0}’ filename

2.匹配到fangdd.com后打印改行的$1

awk ‘/fangdd.com/ {print $1}‘ filename

3.匹配到$3为404后打印改行的$1

awk ‘$3 == 404 {print $1}‘ filename

4.打印出Nignx的时间,域名,URL,IP,并以IP排序,取唯一

awk ‘{print $1,$7,$(NF-2),$5}‘ access.log|cut -d ":" -f 1,2,3,4|awk ‘{print $1,$4,$2,$3}‘| awk ‘{count[$4]++}; END{for(name in count) print count[name],$1,$2,$3,name}‘ |sort -rn|head -10

5.$4是$body_bytes_sent/$bytes_sent,nginx里分别代表如下:

$body_bytes_sent:nginx返回给客户端的字节数,不含响应头.

$bytes_sent:nginx返回给客户端的总字节数

$4取值后是123123/7834这样的数字,后面的$2是把返回给客户端的总字节数相加,最终获得一个值,一般用来计算日志里所有请求的总消耗流量

cat /tmp/1700.log| awk ‘{print $4}‘ | awk -F‘/‘ ‘{byte+=$2}END{print byte}‘

6. 已建立连接的同一IP连接数

netstat -na|grep EST|grep -v 192.168.222|grep -v 101.251.100|grep -v 211.144.118.118|awk ‘$5 ~ /[0-9]+:[0-9]+/ {print $5}‘ |awk -F ":" -- ‘{print $1}‘ |sort -n|uniq -c |sort -n|tail

7.根据IP排序,列出时间,URL,IP,域名

awk ‘{print $1,$7,$(NF-2),$5}‘ access.log|cut -d ":" -f 1,2,3,4|awk ‘{print $1,$4,$2,$3}‘| awk ‘{count[$4]++}; END{for(name in count) print count[name],$1,$2,$3,name}‘ |sort -rn|head -10

时间: 2024-10-12 15:10:14

Nginx日志分析脚本的相关文章

web日志分析脚本nginx&http

1,http日志分析 #!/bin/bash for i in [email protected];do         echo ===================== "$i" =============================>>weblog.txt         echo "IP data">>weblog.txt         awk '{print $1}' $i |wc -l>>weblog.txt

linux系统web日志分析脚本

linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照互联网上图文教程也无从下手.对于此情况我编写了一个web日志分析脚本,功能比较简单,无需配置,有需要的朋友可以再尝试一下.  脚本地址: gbk版(一般ssh客户端不用调整直接可用: wget http://jinxiang.oss-cn-hangzhou.aliyuncs.com/weblogch

nginx日志分析利器GoAccess(转)

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

ELKR分布式搭建nginx日志分析系统

ELKR分布式搭建nginx日志分析系统 一.名词介绍 1.什么是elk ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana.这三款软件都是开源软件,通常是配合使用. 2.Elasticsearch 2.1.Elasticsearch介绍 Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引

nginx日志分析利器GoAccess

面试的时候一定会被面到的问题是:给出web服务器的访问日志,请写一个脚本来统计访问前10的IP有哪些?访问前10的请求有哪些?当你领略过goaccess之后,你就明白,这些问题,除了考验你的脚本背诵记忆能力以外,唯一的作用只有装A或者装C了. 对于nginx日志分析,有很多工具,衡量好坏的标准大概就是三快:安装快,解析快,上手快.满足这三点的goaccess确实是居家必备良药. 话说这个标题其实有点委屈GoAccess了,它是一个日志分析工具,并不只是为nginx使用的.你也可以用它来分析apa

【分享】Nginx日志分析(上)

在很多时候,我们会非常关注网站的访问量,比如网站的日PV是多少.网站某个功能上线之后点击量是多少,像这些东西都是需要从web容器中的访问日志统计出来的,下面我们看一下如何在nginx中统计网站的访问信息 1.设置Nginx访问日志记录格式 在默认情况下,nginx只是记录相关get信息,像post页面是不记录的,所以下面需要修改nginx.conf,让其访问日志记录post等请求信息,在nginx.conf中server段中加入如下信息 log_format  access  '$remote_

linux实用的日志分析脚本

日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″ 200 1933 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv

linux常用的日志分析脚本

linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district/todayreturn/month/2009-12-14/2010-12-09/haizhu_tianhe.xml HTTP/1.1″ 200 1933 “-” “Mozilla/5.0 (Windows; U; Windows NT

nginx日志切割脚本,python实现

# 自搭建了个人博客 有需要交流学习的可以访问 www.wpython.com #!/usr/bin/env python   import datetime,os,sys,shutil   log_path = '/alidata/log/nginx/access/' log_file = 'www.wpython.com.log'   yesterday = (datetime.datetime.now() - datetime.timedelta(days = 1))   try: