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服务器来处 理 ...
随机推荐
- arts打卡第二周
Algorithm 旋转数组 Given an array, rotate the array to the right by k steps, where k is non-negative. Ex ...
- CentOS7 升级 gvim 到 8.x 版本
因为 CentOS7 在默认情况下,通过 yum 安装的 vim-X11.x86_64 版本为 7.x 版本,对 Youcompleteme 支持不好.故需要升级到 8.x 版本. 以下记录 gvim ...
- C: printf参数执行顺序与前置后置自增自减的影响
起源: 今天在了解副作用side-effect的过程中,看到了下面的网页,把我带到了由printf引起的一系列问题,纠结了一整天,勉强弄懂. 第一个代码没什么好解释的.而第二个printf(" ...
- 微信中如何做到访问app的下载链接时直接跳到默认浏览器去执行下载
在我们使用微信营销的时候,很容易碰到H5链接在微信内无法打开或在微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下四点 1 ...
- [转帖]Oracle 各个版本的升级路线图
从oracle 7开始(甚至更早版本)到oracle 9iR2. 来源: https://blog.csdn.net/cymm_liu/article/details/11647533 http:// ...
- H5键盘事件处理
if (/Android/gi.test(navigator.userAgent)) { const innerHeight = window.innerHeight; window.addEvent ...
- Centos7下安装和配置vim
Centos7 最新版本默认已经安装vim,可以使用命令查看是否安装 rpm -qa|grep vim 输出结果如下,如无以下输出结果,则安装vim: vim-filesystem-7.4.160-4 ...
- ueditor 回显html样式会直接出来,无效
百度了好久,后面发现可以直接这样
- 样例文件C3DCustomUI无法编译、加载
Civil 3D 2018版样例文件 C:\Program Files\Autodesk\AutoCAD 2018\C3D\Sample\Civil 3D API\COM\VC++\CustomU ...
- git常用命令介绍
一,仓库 1. git init 把当前目录变成git可管理得仓库,也就是初始化仓库 2. git add 文件名 在仓库中添加新文件 3. git commit -m & ...