kibana查询语法 使用教程

摘要:
当Kibana拆分字段时,它们可能会根据空格进行拆分。#MasteringbookElasticsearch也会被认为与标题中的一些有用函数相匹配:“masteringElasticearch”~213。Kibana 1)SaveSearch:可以保存以前的查询,并可以通过历史查找最近的使用情况。6) 共享功能:导航栏中有一个共享按钮,通过链接查询语句来共享查询语句,每个团队成员一起查询#通过上下浏览查询结果,您可以获得用户的召回和重新排名结果,并大致查找不良情况的原因。

Kibana拆分字段的时候,可能是根据空格拆分的。

例如:nested exception is java.net.SocketTimeoutException: Read timed out ,

单独搜索 nested ,exception  都可以,但单独搜索 SocketTimeoutException 是搜不到的。

但是java.net.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的任意字符」: info.recallId: /[^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,但不包含 apache...:+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); 这种格式的日志,如果运维没有特殊设置,可能导致日志显示不全。

参见:https://zhuanlan.zhihu.com/p/33791813

           https://segmentfault.com/a/1190000002972420

免责声明:文章转载自《kibana查询语法 使用教程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇技术基础 | 重要指标和告警Android有用的任务管理器—tractor下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

String源码详解

一、基本概念。     1、继承实现关系。因为被final修饰,因此是不可继承的String类,避免被他人继承后修改。实现了三个接口。可序列、可比较,有序。几个String兄弟类     2、本质就是字符数组,同时,它是不可变的。 二、成员变量。      1、字符数组value。访问权限私有,因此String类外具有不可访问特点,因为具有final...

算法训练 字符删除

算法训练 字符删除 时间限制:1.0s 内存限制:512.0MB 问题描述编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。输入格式:输入有两行,第一行是一个字符串(内部没有空格),第二行是一个字...

Java代码优化总结

  代码优化是一个很重要的课题。一般来说,代码优化的目标主要有两个,一个是减小代码的体积,另一个是提高代码运行的效率。   代码优化的细节有很多,此处列举部分:   1、尽量指定类、方法的final修饰符。   带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是fina...

【转】 JS实现HTML标签转义及反转义

原文地址:http://blog.600km.xyz/2015/12/15/js-encode-html-tags/ 简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中显示。 这时遇到一个问题,如果用户输入了html标签,则在div显示中,标签被解析。 由于是纯前端操作,不涉及后端,因此需要通过js对输入内容进行转义。 这里...

C#中去除String中的空格

第一种 Trim string中自带的方法Trim,可以去除行首行尾的空格,或将某一字符删除。如: var str = text.Trim(); 第二种 Regex类(正则表达式) 下面为转发 源地址:http://www.cnblogs.com/dudu/archive/2011/09/17/2179423.html 1. 匹配中文(全角)空格 Re...

Oracle实例解析:编码与字符集

字符集:人们根据需要把某些字符收集到一处,并赋以名称,于是便有了某某字符集。 编码:当前面收集的工作完成以后,为了让只认识数字的“愚蠢”的计算机也能够存储字符,人们不得不为集合里的每一个字符分配”身份证号码”,这就是编码,从此,终于可以以存储编码的方式在计算机中存储字符了。 在字符集与编码世界的漫漫历史长河里(伪),出现过若干个让计算机工作者们如雷贯耳的名...