1 概述

很多系统的日志都会放在 Kibana 供查询,就是所谓的 ELK。Kibana 除了可以使用界面供的一些 tab 或者 button 去筛选日志,也可以在搜索栏中使用 Lucene 的语法简单的交互式查询。可以做基于字段的特定搜索,过滤数据,也可以查看索引号的文档。
查询的语法可以参考官方文档,非常易读,非常容易,包括正则语法和其他模糊匹配方法。

2 Lucene 语法查询

2.1 简易查询

如果查询的时候没有明确查询的字段,会默认为 _all 字段,也就是全文查询。也可以指定一个字段,又称为 field 来查询。

  1. # 全文查询 Exception
  2. Exception
  3. # 指定查询字段 message 里的 Exception
  4. message: Exception
  5. # 查询短语
  6. message: "java.lang.NullPointerException"
  7. # 任何 message 字段都包含 Exception
  8. message\*: Exception
  9. # 通配符的使用,? 代替单个字符,* 代替零个或者多个字符
  10. message: Exceptio*
  11. # 正则表达式通过使用 / 包围,可以植入到查询的字符串中
  12. message: /Ex?(cep[tion])/
  13. # 另一个正则的使用,匹配的含义是「两位非abc的任意字符」
  14. info.recallId: /[^abc]{2}/

2.2 多字段查询

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

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

2.3 范围操作

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

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

2.4 转义

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

  1. # 例子
  2. message: "domain\=jobmd_ent4ent"
  3. # 转义符
  4. +-=&&||><!(){}[]^"~*?:\/

2.5 模糊查询

使用"~”字符以及一个紧随其后的整数值,当使用该修饰符修饰一个词项的时候,意味着我们想搜索那些包含该此项近词项的文档。"~"字符后的整数值确定了近似词项与原始词项的最大编辑距离。

  1. # mastering book Elasticsearch 也会被认为匹配
  2. title: "mastering Elasticsearch"~2

3 Kibana 中一些好用的功能

3.1 Save Search

可以保存之前的 query,通过历史记录可以查找最近的使用。

3.2 时间过滤器

可以设置相对 relative 或者绝对 absolute 时间过滤器,前者是相对于当前时间的时间,后者是绝对时间。

3.3 自动刷新

固定的查询条件的情况下,可以设置自动刷新的时间来刷新可视区域。

3.4 直方图选择区域

选择区域可以出发时间过滤器。

3.5 字段列表搜索字段

可以通过 add 添加不同组合。

3.6 share 功能

导航栏处有一个 share 按钮,将查询的语句通过链接的方式进行分享,分别团队成员一起查询。

4 应用例子-某用户的推荐 bad case

  • 确定这个 bad case 的请求参数,拿到 id 和 domain
  • 确定请求发生的时间或者时间段
  1. # 已知 domain 为 bbs_app_recomm,并且用户名为「oscar」的请求,在2017年11月7日 下午4点前后,有一次推荐的 bad case,需要这次推荐的过程,了解为何会产生这次推荐的结果。
  2. # 通过查询到的结果上下浏览,得到该用户的 recall 和 rerank 结果,大致可以找到 bad case 的原因。
  3. message: "oscar" AND @timestamp: 1510042056000

Kibana 日志查询的更多相关文章

  1. Mysql慢日志查询

    MYSQL慢查询配置: 查看是否启用慢日志查询: show VARIABLES like '%quer%'; 没有配置的情况下慢查询是关闭的:

  2. MySQL慢日志查询全解析:从参数、配置到分析工具【转】

    转自: MySQL慢日志查询全解析:从参数.配置到分析工具 - MySQL - DBAplus社群——围绕数据库.大数据.PaaS云,运维圈最专注围绕“数据”的学习交流和专业社群http://dbap ...

  3. day43 mysql 基本管理,[破解密码以及用户权限设置]以及慢日志查询配置

    配置文件:详细步骤, 1,找到mysql的安装包,然后打开后会看到一个my.ini命名的程序,把它拖拽到notepad++里面来打开,(应该是其他文本形式也可以打开,可以试一下),直接拖拽即可打开该文 ...

  4. kettle 6.1 日志查询

    SELECT JB.ID_JOB, ---作业ID JB.NAME, ---作业名称 to_char(JB.DESCRIPTION) as JOB_DESCRIPTION , --作业描述 case ...

  5. jt项目日志查询流程

    jt项目日志查询流程

  6. 阿里云 oss实时日志查询

    实时日志查询 更新时间:2019-01-29 10:31:49 编辑 · 本页目录 开启实时日志查询 查询实时日志 参考文档 用户在访问 OSS 的过程中,会产生大量的访问日志.实时日志查询功能将 O ...

  7. 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询

    MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...

  8. MySQL慢日志查询实践

    慢日志查询作用 慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句.例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间超过了1s,则将被写入到慢查询配置的日志 ...

  9. linux日志查询技巧

    问题描述: 18803959896用户反馈,通讯录备份失败,提示“身份验证失败,请注销账号后重新登录”,不管用账号密码登录还是一键登录,都是提示这个.请协助查询.谢谢~ 备注:三星note3最新版本彩 ...

随机推荐

  1. 基于JT/T808协议的车辆监控平台架构方案

    技术支持QQ:78772895 1.接入网关应用采用mina/netty+spring架构,独立于其他应用,主要负责维护接入终端的tcp链接.上行以及下行消息的解码.编码.流量控制,黑白名单等安全控制 ...

  2. offsetof与container_of宏[总结]

    1.前言 今天在看代码时,遇到offsetof和container_of两个宏,觉得很有意思,功能很强大.offsetof是用来判断结构体中成员的偏移位置,container_of宏用来根据成员的地址 ...

  3. 在Linux下锁住键盘和鼠标而不锁屏

    假如在你正看着屏幕上的某些重要的事情时,你不想让你的小猫或者小狗在你的键盘上行走,或者让你的孩子在键盘上瞎搞一气,那我建议你试试 xtrlock 这个工具. 假如在你正看着屏幕上的某些重要的事情时,你 ...

  4. Java:双向链表反转实现

    有个小需求要求实现一个双向链表的反转于是就有了下边代码: 链表元素结构定义: package com.util; public class LinkedNode<T>{ private T ...

  5. Flask刷新问题

    修改页面中内容,特别是图片后,总是刷新不了.调试时,我常常通过修改端口来解决,从80-99不断改. 服务器部署,也遇到同样问题,重启web服务器,重启计算机都不行,网页已经改过来了,但是图片还是老图片 ...

  6. css 下边框

    float: left; width: 1200px; height: 42px; background-color: #fff0; /* background-color: #4f4aff; */ ...

  7. hdu 5411 CRB and Puzzle (矩阵高速幂优化dp)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5411 题意:按题目转化的意思是,给定N和M,再给出一些边(u,v)表示u和v是连通的,问走0,1,2... ...

  8. 快讯:微软安卓版个人助理(Cortana)在美国境内进行公測

    8月24日,"Microsoft starts public test of Cortana app for Android smartphones"(此文8月24日发表),此事意 ...

  9. js获取对象值的方式

    js获取对象值的方式 var obj = {abc:"ss",nn:90}; var v1 = obj.abc;//使用点的方式 var v2 = obj["abc&qu ...

  10. Python爬虫实战(三):爬网易新闻

    代码: # _*_ coding:utf-8 _*_ import urllib2 import re #import sys #reload(sys) #sys.setdefaultencoding ...