JQ的日常使用

本文介绍如何利用jq工具高效分析JSON格式的Nginx日志,包括筛选特定字段、重组JSON结构、添加过滤条件及使用正则表达式等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理关于jq分析nginx日志的使用例子

jq的使用

在日常的使用过程中,我们可能会遇到nginx 日志格式为json,在分析过程中,就需要专业的工具对其进行格式化过滤处理,给大家推荐一下jq这个工具.
下面我就列举一下常用的jq 命令
1、筛选出指定的字段值:

cat test.log | jq -c '.upstream_addr,.upstream_response_time’  

2、 重新组合为新的一个json格式

cat test.log | jq -c '{"upstream":.upstream_addr,"time":.upstream_response_time}’

3、添加过滤条件,筛选出响应时间大于10秒的请求连接,使用到jq的if...then...else...end 表达式,tonumber目的是把字符串转化成数字类型

cat test.log | jq 'if (.request_time|tonumber) >= 10  then .request_time,.url else empty end' | more
cat test.log| jq 'if (.request_length|tonumber) >= 10000  then {"r":.request_length,"q":.body_bytes_sent,"u":.request_uri,"t":.time_local} else empty end' | more

4、使用正则表达式

cat  test.log | jq -c  'if(.upstream_response_time|capture("(?<a>\\d+\\.\\d+)")|.a|tonumber)>5  then .  else empty end'

后期继续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值