JQ的日常使用

简介: 在日常的使用过程中,我们可能会遇到nginx 日志格式为json,在分析过程中,就需要专业的工具对其进行格式化过滤处理,给大家推荐一下jq这个工具.

整理关于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'

后期继续更新

目录
相关文章
|
2月前
|
JavaScript 前端开发 API
jq之选择器|2-2
jq之选择器|2-2
25 6
jq之选择器|2-2
|
2月前
|
JavaScript 前端开发
jq事件2-8
jq事件2-8
|
2月前
|
JavaScript 前端开发 API
jq修改dom|2-6
jq修改dom|2-6
|
2月前
|
JavaScript 前端开发 Java
jq操作dom|2-5
jq操作dom|2-5
|
3月前
|
JavaScript
将jq转为原生js格式
将jq转为原生js格式
34 2
|
Web App开发
|
前端开发
|
索引 数据安全/隐私保护
JQ 选择器大全
一、基本选择器  选择器  描 述  返回  示例  #id  根据给定id匹配一个元素  单个元素  $("#test") 选取id为test的元素  .class  根据给定类名匹配一个元素  集合元素  $(".
1134 0