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服务器来处 理 ...
随机推荐
- mysql中几个日期时间类型之间的区别和使用
MySQL中有如下几个时间类型:date.time.datetime.timestamp.year MySQL数据类型 含义 date 只存 ...
- [LeetCode] 21. 合并两个有序链表
题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/ 题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定 ...
- Git使用注意事项
第一次用git时push时,突然想到我没有设置ssh key,却也可以push代码到自己仓库,那我本地登陆的账号Git是存在哪儿了呢? Git本地账户凭证管理 在第一次push到远程仓库时,git会提 ...
- 分布式存储ceph——(2)openstack对接ceph存储后端
ceph对接openstack环境 一.使用rbd方式提供存储如下数据: (1)image:保存glanc中的image: (2)volume存储:保存cinder的volume:保存创建虚拟机时选择 ...
- Binding介绍
一.Binding的源与路径 在大多数情况下Binding的源是逻辑层的对象,但有时候为了让UI元素产生一些联动效果也会使用Binding在控件间建立关联, 下面的代码是把一个TextBox的Text ...
- MongoDB系列:二、MongoDB常用操作练习
最近在自学MongoDB,在此记录一下,当做学习笔记了(不断更新中)!! 一.背景 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存 ...
- vi设置行号
首先,我们先打开一个文件,用vim 文件名 就可以直接使用vim打开 我们事先写了一些内容在这个txt里面,我们可以看到如下内容 在这里,我们可以直接敲命令, :set number 或者 ...
- Apache No installed service named "Apache2.4"的解决办法
windows安装Apache后,用cmd开启apache服务时,提示No installed service named "Apache2.4" 解决步骤: 1.cmd窗口,进入 ...
- [转]html5监听任何App自带返回键javascript事件
1.前言 如今h5新特性.新标签.新规范等有很多,而且正在不断完善中,各大浏览器商对它们的支持,也是相当给力.作为前端程序员,我觉得我们还是有必要积极关注并勇敢地加以实践.接下来我将和各位分享一个特别 ...
- MT 互联网 面试标准
能力模型 业务理解(每项2分) java知识(每项2分) 网络知识(每项1分) 设计模式(每项3分) 数据库知识(每项2分) 框架知识(每项1分) 数据结构与算法(每项1分) 架构知识(每项3分) 操 ...