Posted on 2019-04-02 09:35 SZ_文彬 阅读(0) 评论(0)  编辑 收藏

好久没有截取nginx/haproxy 中 的日志了,竟有点不熟悉了。

记录一下,以免以后忘记。

NGINX 日志格式:

192.168.1.26 - - [14/Sep/2017:16:48:42 +0800] "GET /ui/favicons/favicon-16x16.png HTTP/1.1" 304 0
"http://192.168.1.124/app/kibana" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" "-"

截取方法:

cat access.log | awk '$4 >="[14/Sep/2017:16:30:50" && $4 <="[14/Sep/2017:16:35:50"' >>/tmp/nginx-access.com

HAPROXY 日志格式:

Sep 28 10:17:45 localhost haproxy[12443]: 192.168.1.36:52935 [28/Sep/2017:10:17:45.950] Dianda server_new/192.168.0.19 0/0/0/1/1 304 237 - - ---- 604/96/0/0/0 0/0 "GET /images/logo.png HTTP/1.1"

截取方法:

cat  haproxy.log |egrep "Sep 28"| awk '$3 >="10:08:00" && $3 <="10:18:00"' >/tmp/haproxy.txt

如果有些要过滤的可以考虑用 egrep

比如碰到这种格式

[2017-09-12 00:00:33.866] [INFO] access - 192.168.1.10  get  api_server-121000-1505145633854  /v2/promotion/announcement  200  12ms
[2017-09-12 00:00:18.720] [INFO] access - 192.168.0.100  579  get  api_server-579-1504195218720  /v3/user/coupon/list  {}  {}  null

cat access.log-2017-08-31.log |awk '{print $9  , $NF}' |egrep  -v 'null|\{|\}|N'|awk -F'ms' '{print $1}' |awk  '$NF >= 1500'

执行结果, 访问哪个api 用时多少

/v2/order/query/type/count 2644
/v2/order/query/type/count 1901
/v2/order/query/type/count 2837
/v1/message/client/device 3673
/v2/order/place/new 1640
/v2/order/place 1890
/v1/message/client/device 1635
/v1/message/client/device 1667
/v1/message/client/device 1747

在段落前面加一行自定义数据

假设: a="11111111111111"

echo $a |awk '{for(i=1;i<=NF;i++){printf "--exclude="$i" "}{print ""}}'

结果变成:

--exclude=11111111111111

转载自:https://www.cnblogs.com/Tempted/p/7607237.html

awk截取日志的更多相关文章

  1. awk 截取某段时间的日志

    好久没有截取nginx/haproxy 中 的日志了,竟有点不熟悉了. 记录一下,以免以后忘记. NGINX 日志格式: 192.168.1.26 - - [14/Sep/2017:16:48:42 ...

  2. 使用awk截取某时间段的日志

    想要取出文件里面时间是9点到12点的数据,文件内容如下: 2012-09-05 01:48:47,150 WARN  [WorkManager(3)-72] [service.PhoneRangeMa ...

  3. AWK处理日志入门(转)

    前言 这两天自己挽起袖子处理日志,终于把AWK给入门了.其实AWK的基本使用,学起来也就半天的时间,之前总是靠同事代劳,惰性呀. 此文仅为菜鸟入门,运维们请勿围观. 下面是被处理的日志的示例,不那么标 ...

  4. 使用awk进行日志信息的分组统计

    起因 这是今天我线上出了一个bug,需要查看日志并统计一个我需要的信息出现的频率,可以叫做分组统计. 日志文件部分内容 00:09:07.655 [showcase_backend][topsdk] ...

  5. Linux中的 awk查找日志中的相关记录

    假设要在 api.log.201707201830 文件中,(此文件的多个字段数据以不可见字符^A(键盘上按下Ctrl+V+A)分隔),要输出第70个字段: awk -F '^A' '{print $ ...

  6. awk截取指定字段

    #!/bin/bash #好多地方可以优化,先记录下,便于以后使用 dir="/logs/$1"file="/logs/$1/requests.log"if [ ...

  7. Linux 截取日志命令

    1.截取时间段 截取 2019-06-25 10:10 到 2019-06-25 10:20 之间的日志记录,apollo-service.log 为你要截取的文件名称, new2.log 截取之后保 ...

  8. awk的日志模块追加日期时间字段的方案

    function test() { i = ) { system("sleep 1") "date +'%Y-%m-%d %H:%M:%S'" | getlin ...

  9. awk 截取字符串

    1.把字符串的变量存入到其他变量中 1.1.编辑 shell 文件 [root@m910-120 test]# vi awkTest.sh ips=10.0.204.217:10.0.204.218 ...

  10. awk日志分割

    awk日志分割 1. awk实现日志按照日期分割 #!/bin/bash DATE=$(date -d yesterday +%Y-%m-%d) awk  'BEGIN{RS="'$DATE ...

随机推荐

  1. MyBatisPlus - [07] Q&A

    题记部分 001 || Public Key Retrieval is not allowed 通常出现在使用JDBC连接数据库时,特别时在尝试通过SSL/TLS加密连接到MySQL或MariaDB数 ...

  2. MySQL - [03] 数据库引擎

    所有的数据库文件都存在data目录下,本质还是文件的存储. -- 建表时指定编码格式为中文utf-8 CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4 ...

  3. JUC并发—15.红黑树详解

    目录 1.红黑树的定义性质和推论 2.红黑树的旋转操作 3.红黑树之添加结点的方法 4.红黑树之删除结点的方法一 5.红黑树之删除结点的方法二 1.红黑树的定义性质和推论 (1)红黑树的定义和性质 ( ...

  4. 洛谷P2701 [USACO5.3] 巨大的牛棚Big Barn 题解

    怎么题解全是清一色的 dp?可以用笛卡尔树啊(虽然麻烦了很多,但是我热爱)! 题目传送门. 笛卡尔树的介绍 笛卡尔树,是一种二叉搜索树,它满足如下条件: 每个节点的编号满足二叉搜索树的性质. 每个节点 ...

  5. 百万架构师第四十五课:并发编程的基础|JavaGuide

    课程目标 1. 多线程的发展历史 2. 线程的应用 3. 并发编程的基础 4. 线程安全的问题 特定的指令,计算机不会存储指令,把指令写下来,一次性读取指令,批处理. 然后我们需要把批处理进行隔离.保 ...

  6. php获取详细访客信息,获取访客IP,IP归属地,访问时间,操作系统,浏览器,移动端/PC端,环境语言,访问URL等信息

    问题描述:需要获取访客访问网站信息 1.代码示例与说明: <?php header("Content-Type: text/html; charset=utf-8");    ...

  7. 视频笔记软件JumpVideo技术解析一:Electron案例-调用VLC播放器

    大家好,我是TheGodOfKing,是 最强考研学习神器,免费视频笔记应用JumpVideo,可以快速添加截图时间戳,支持所有笔记软件,学习效率MAX!的开发者之一,分享技术的目的是想找到更多志同道 ...

  8. rust学习笔记(9)

    属性 属性是应用于某些模块.crate 或项的元数据(metadata). 可见性 分为整个crate可见和,使用#![] 例子 一个简单的例子,运行程序中存在未被使用的代码 #[allow(dead ...

  9. 玩three.js的一点心得

    契机: 3-4月份,有机会再次学了一遍高数,然后再一次从二,三重积分的坑里爬来爬去,其中有个直观的问题一直困扰着我就是一个函数在空间坐标系上的图像,所以当时就打算学完这些之后,自己在5月份的时候用th ...

  10. JMeter BeanShell 获取 HTTP Request 中的 Name

    场景:添加 JMeter log 输出,想输入自定义请求的名称 // 获取 response body prev.getResponseDataAsString(); // 获取 HTTP Reque ...