kibana查询语法使⽤教程
Kibana拆分字段的时候,可能是根据空格拆分的。
例如:nested exception is java.SocketTimeoutException: Read timed out ,
单独搜索 nested ,exception  都可以,但单独搜索 SocketTimeoutException 是搜不到的。
但是java.SocketTimeoutException可以搜索到。
1. 使⽤双引号包起来作为⼀个短语搜索: "like Gecko"
2. ? 匹配单个字符; * 匹配0到多个字符(貌似精确搜索的时候,不能使⽤?和*,使⽤双引号括起来的时候⽆效)
例如:kiba?a, el*search
? * 不能⽤作第⼀个字符,例如:?text *text
3. 限定字段全⽂搜索:field:value;匹配的是整个单词,否则可能匹配不了。key只能是json的最外层的。
4. 精确搜索:关键字加上双引号 filed:"value" , key只能是json的最外层的。
5. 模糊搜索:
quikc~ brwn~ foks~
~:在⼀个单词后⾯加上~启⽤模糊搜索,可以搜到⼀些拼写错误的单词。first~ 这种也能匹配到 frist、
还可以设置编辑距离(整数),指定需要多少相似度
cromm~1 会匹配到 from 和 chrome
默认2,越⼤越接近搜索的原始值,设置为1基本能搜到80%拼写错误的单词
6. 可以通过左侧添加filter选项,限制服务器、时间、字段等
7. ⿏标放在搜索结果上,会有放⼤符号和缩⼩符号,点击可以作为筛选条件,包含或者不包含某些值
8. 如果查询的时候没有明确查询的字段,会默认为 _all 字段,也就是全⽂查询。也可以指定⼀个字段,⼜称为 field 来查询。
简易查询:
# 全⽂查询 Exception: Exception
# 指定查询字段 message ⾥的 Exception: message: Exception
# 查询短语: message: "java.lang.NullPointerException"
# 任何 message 字段都包含 Exception: message\*: Exception
# 通配符的使⽤,? 代替单个字符,* 代替零个或者多个字符: message: Exceptio*
# 正则表达式通过使⽤ / 包围,可以植⼊到查询的字符串中: message: /Ex?(cep[tion])/
# 另⼀个正则的使⽤,匹配的含义是「两位⾮abc的任意字符」: allId: /[^abc]{2}/
9. 多字段查询正则匹配到第一个关键字就停止
可以通过⼀些布尔操作符来使⽤,如果查询中没有任意的操作符号,那么默认使⽤ OR 操作符。
# ⽀持 AND, OR, NOT,也可以写成&&, ||, !操作符: message: ((Exception AND Error) OR (Error AND Exception) OR Error) AND NOT Exception、
# 包含 lucene 但不包含 elasticsearch : lucene NOT elasticsearch (NOT 必须⼤写)
# + 必须包含,其他可有可⽆,lucene 必须包含,apache 可有可⽆...:+lucene apache  (如果限定字段,需要加单引号)
# 不能出现的操作符号"-",包含了 lucence,但不包含 :+lucene-apache        (如果限定字段,需要加单引号)
⼀个字段内查询多个内容,⽤&&或者and连接:msg:"更新每⽇"&&"19041112210104855593"  ,msg:"更新每⽇" AND "19041112210104855593"
10. 范围操作,可以指定⽇期、数字或者字符串字段的范围:
# [min TO max] 是闭区间
# {min TO max} 是开区间
@timestamp: [1510536210000 TO 1510550000000]
# * 表⽰⼀端不限制范围
count:[10 TO *]
11. 转义,保留字符包括以下,需要使⽤转义符来进⾏转义:
# 例⼦:message: "domain\=jobmd_ent4ent"
# 转义符:+-=&&||><!(){}[]^"~*?:\/
12. 模糊查询
使⽤"~”字符以及⼀个紧随其后的整数值,当使⽤该修饰符修饰⼀个词项的时候,意味着我们想搜索那些包含该此项近词项的⽂档。"~"字符后的整数值确定了近似词项与原始词项的最⼤编辑距离。
# mastering book Elasticsearch 也会被认为匹配
title: "mastering Elasticsearch"~2
13. Kibana 中⼀些好⽤的功能
1) Save Search:可以保存之前的 query,通过历史记录可以查最近的使⽤。
2)时间过滤器:可以设置相对 relative 或者绝对 absolute 时间过滤器,前者是相对于当前时间的时间,后者是绝对时间。
3)⾃动刷新:固定的查询条件的情况下,可以设置⾃动刷新的时间来刷新可视区域。
4)直⽅图选择区域:选择区域可以出发时间过滤器。
5)字段列表搜索字段:可以通过 add 添加不同组合。
6)share 功能:导航栏处有⼀个 share 按钮,将查询的语句通过链接的⽅式进⾏分享,分别团队成员⼀起查询。
7)应⽤例⼦-某⽤户的推荐 bad case: 确定这个 bad case 的请求参数,拿到 id 和 domain, 确定请求发⽣的时间或者时间段
# 已知 domain 为 bbs_app_recomm,并且⽤户名为「oscar」的请求,在2017年11⽉7⽇下午4点前后,有⼀次推荐的 bad case,需要这次推荐的过程,了解为何会产⽣这次推荐的结果。
# 通过查询到的结果上下浏览,得到该⽤户的 recall 和 rerank 结果,⼤致可以到 bad case 的原因。
message: "oscar" AND @timestamp: 1510042056000
14. kibana ⽇志可能延迟,如果看到,直接登录服务器去看
15. 在⼀些情况下kibana⽇志可能显⽰不全
LOGGER.warn("invoke error,ex=", e); 这种格式的⽇志,如果运维没有特殊设置,可能导致⽇志显⽰不全。
参见:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。