美文网首页ELK
Kibana 日志查询

Kibana 日志查询

作者: runzhliu | 来源:发表于2018-06-03 08:20 被阅读0次

    1 概述

    很多系统的日志都会放在 Kibana 供查询,就是所谓的 ELK。Kibana 除了可以使用界面供的一些 tab 或者 button 去筛选日志,也可以在搜索栏中使用 Lucene 的语法简单的交互式查询。可以做基于字段的特定搜索,过滤数据,也可以查看索引号的文档。

    查询的语法可以参考 官方文档 非常易读,非常容易,包括正则语法和其他模糊匹配方法。


    2 Lucene 语法查询

    2.1 简易查询

    如果查询的时候没有明确查询的字段,会默认为 _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}/
    
    

    2.2 多字段查询

    可以通过一些布尔操作符来使用,如果查询中没有任意的操作符号,那么默认使用 OR 操作符。

    
    # 支持 AND, OR, NOT,也可以写成&&, ||, !操作符
    
    message: ((Exception AND Error) OR (Error AND Exception) OR Error) AND NOT Exception
    
    # 包含 lucene 但不包含 elasticsearch
    
    lucene NOT elasticsearch
    
    # + 必须包含,其他可有可无,lucene 必须包含,apache 可有可无...
    
    +lucene apache
    
    # 不能出现的操作符号"-",包含了 lucence,但不包含 apache...
    
    +lucene-apache   
    
    

    2.3 范围操作

    可以指定日期、数字或者字符串字段的范围

    
    # [min TO max] 是闭区间
    
    # {min TO max} 是开区间
    
    @timestamp: [1510536210000 TO 1510550000000]
    
    # * 表示一端不限制范围
    
    count:[10 TO *]
    
    

    2.4 转义

    保留字符包括以下,需要使用转义符来进行转义:

    
    # 例子
    
    message: "domain\=jobmd_ent4ent"
    
    # 转义符
    
    +-=&&||>

    相关文章

      网友评论

        本文标题:Kibana 日志查询

        本文链接:https://www.haomeiwen.com/subject/jzndsftx.html