awk和sed截取nginx和tomcat时间段日志
1 nginx日志截取示例
日志路径:/usr/local/nginx/logs, 截取access.log中2019年3月24日17点00~02之间的日志:
写法1:
cat access.log | awk '$4 >="[24/Mar/2019:17:00:00" && $4 <="[24/Mar/2019:17:02:00"'
写法2:
cat access.log | egrep "24/Mar/2019" | awk -F':' '$2 = 17 && $3 >= 00 && $3 <= 02'
写法3:
cat access.log |egrep "24/Mar/2019" |sed -n '/17:00:00/,/17:02:00/p'
2 tomcat日志截取示例
日志路径:/usr/local/tomcat/logs, 截取catalina.out中2019年3月24日17点00~02之间的日志:
写法1:
sed -n '/2019-03-24 17:00:/,/2019-03-24 17:02:/p' catalina.out
写法2:
cat catalina.out| egrep "2019-03-24" | awk -F':' '$2 = 17 && $3 >= 00 && $3 <= 02'
3 awk统计nginx日志的ip访问量
nginx日志事先截取一部分:tail -n500 access.log >access.log1
第一种:使用awk sort,$1表示以空格为分割符的第一列,也就是文件中的ip地址,使用sort对结果排序,uniq -c进行计数,最后sort -n是以“数字”来排序,针对统计后的访问次数来排序
awk '{print $1}' access.log1|sort |uniq -c|sort -n
1 113.111.9.152
1 203.208.60.22
1 66.85.6.225
2 121.32.197.253
2 121.69.66.226
2 123.132.237.10
2 218.75.223.169
2 58.216.212.226
2 58.246.39.218
2 59.110.50.24
4 223.223.203.106
6 111.193.230.31
8 180.170.208.189
11 121.249.192.131
12 218.89.241.229
12 222.65.85.75
17 202.106.149.226
22 39.107.204.192
24 111.160.58.154
81 1.202.225.46
101 47.75.230.56
185 39.155.239.138
第二种:awk for,即数组; 默认变量为0,对每一行的$1作为key,count数组++,实现ip的计数。计数结束后END。然后把结果打印出来,最后sort -n以“数字”排序。
awk '{count[$1]++;}END{for(i in count){printf("%s\t%s\n", count[i], i);}}' access.log1|sort -n
1 113.111.9.152
1 203.208.60.22
1 66.85.6.225
2 121.32.197.253
2 121.69.66.226
2 123.132.237.10
2 218.75.223.169
2 58.216.212.226
2 58.246.39.218
2 59.110.50.24
4 223.223.203.106
6 111.193.230.31
8 180.170.208.189
11 121.249.192.131
12 218.89.241.229
12 222.65.85.75
17 202.106.149.226
22 39.107.204.192
24 111.160.58.154
81 1.202.225.46
101 47.75.230.56
185 39.155.239.138
补充:如果是倒序,需要加上-r(以相反的顺序来排序),-k(选择以哪个区间进行排序), 如统计nginx日志里访问次数最多的前10个IP
awk '{print $1}' access.log1|sort |uniq -c|sort -nr -k1 |head -n 10
185 39.155.239.138
101 47.75.230.56
81 1.202.225.46
24 111.160.58.154
22 39.107.204.192
17 202.106.149.226
12 222.65.85.75
12 218.89.241.229
11 121.249.192.131
8 180.170.208.189
这里不加-k也是默认...
4 取nginx日志访问接口次数
通过上面的方法将某个时间段日志取出来,查询该时间段访问接口最多的前10:
cat tongji.sh
#!/bin/bash
#统计接口的访问次数
TODAY=`date +%d/%b/%Y`
cat $1 |awk -F '"' '{print $2}'|awk '{split($2,res,"?") ; print res[1] }'|sort|uniq -c|sort -gr |head -n10

可以根据适当需求调整参数
awk和sed截取nginx和tomcat时间段日志的更多相关文章
- awk 截取某段时间的日志
好久没有截取nginx/haproxy 中 的日志了,竟有点不熟悉了. 记录一下,以免以后忘记. NGINX 日志格式: 192.168.1.26 - - [14/Sep/2017:16:48:42 ...
- CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法
CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法 sed -n '/2016-11-02 15:00:/,/2016-11-02 15:05:/p' catalina.out > ...
- jpress-配合nginx与tomcat安装
目录 1. 前言 2. yum安装tomcat 2. yum安装MySQL 3. 下载JPress并安装 4. 配置tomcat使其可以部署多个网站 5. 安装nginx并配置 6. 将已经安装好的j ...
- 截取nginx日志
截取nginx日志 sed -n '/24\/Feb\/2017:11:00:00/,/24\/Feb\/2017:12:00:00/p' yunying_api.wanglibao.com.acce ...
- Windows Server 2008 R2 Enterprise x64 部署 nginx、tomcat、mysql
部署nginx nginx主要做反向代理用,可以单独部署到其它机器上,这里nginx和tomcat部署在同一台机器上. 下载nginx-1.14.1.zip,并解压到目标目录,打开cmd进入到解压后的 ...
- Nginx 与Tomcat 实现动静态分离、负载均衡
Nginx 与Tomcat 实现动静态分离.负载均衡 一.Nginx简介: Nginx一个高性能的HTTP和反向代理服务器, 具有很高的稳定性和支持热部署.模块扩展也很容易.当遇到访问的峰值,或者有人 ...
- Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP、CMS-WordPress&Ghost、Jenkins、Gitlab)
Web服务和应用是目前信息技术领域的热门技术.如何使用Docker来运行常见的Web服务器(包括Apache.Nginx.Tomcat等),以及一些常用应用(LAMP.CMS等).包括具体的镜像构建方 ...
- nginx代理tomcat
http://blog.csdn.net/kongqz/article/details/6838989 http://www.800l.com/linux-nginx-tomcat-jdk.html ...
- nginx和Tomcat集成后发生的重定向问题分析和解决
nginx和Tomcat集成后发生的重定向问题分析和解决 Tomcat前端配置一个HTTP服务器应该是大部分应用的标配了,基本思路就是所有动态请求都反向代理给后端的Tomcat,HTTP服务器来处 理 ...
随机推荐
- 《单元测试之道Java版》的读书笔记
总览 第2章 首个单元测试 第3章 使用JUnit编写测试 3.1 构建单元测试 3.2 JUnit的各种断言 3.3 JUnit框架 4. 测试什么? 5.CORRECT(正确的)边界条件 6.使用 ...
- Mybatis 批量添加,批量更新
此篇适合有一定的mybatis使用经验的人阅读. 一.批量更新 为了提升操作数据的效率,第一想到的是做批量操作,直接上批量更新代码: <update id="updateBatchMe ...
- JavaScript match()方法和正则表达式match()
先介绍参数为普通字符串的使用方式,此时match方法的返回值是存放首次匹配内容的数组.如果没有找到匹配结果,返回null.语法结构: 1 str.match(searchvalue)参数解析:(1). ...
- LINUX配置过程记录(二) 工具安装
安装谷歌游览 sudo apt-get update sudo apt-get install google-chrome-stable Ubuntu 16.04下源码安装Catkin https:/ ...
- Robust PCA via Outlier Pursuit
目录 引 主要结果 定理1 定理2 理论证明 构造Oracle Problem 算法 Xu H, Caramanis C, Sanghavi S, et al. Robust PCA via Outl ...
- 简单实现Python调用有道API接口(最新的)
# ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...
- dataTable tab栏切换时错位解决办法
做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...
- Linux学习之路3-HelloWorld
1.window系统上创建helloworld.c文件,并编写程序 #include <stdio.h> main(){ printf("Hello World!"); ...
- 动态强制改变for循环里面item的值
var item = that.data.articles[inde_x]//获取数据列表 item.is_collection = 1//希望将特定的值改变 console.log(that.dat ...
- BZOJ2300[HAOI2011]防线修建——非旋转treap+凸包(平衡树动态维护凸包)
题目描述 近来A国和B国的矛盾激化,为了预防不测,A国准备修建一条长长的防线,当然修建防线的话,肯定要把需要保护的城市修在防线内部了.可是A国上层现在还犹豫不决,到底该把哪些城市作为保护对象呢?又由于 ...