夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始 快速开始
黄埔营
安装部署 安装部署
升级
采集器 采集器
使用手册 使用手册
API API
数据库表结构 数据库表结构
FAQ FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵 第1章:天降奇兵
第2章:探索PromQL 第2章:探索PromQL
第3章:Prometheus告警处理 第3章:Prometheus告警处理
第4章:Exporter详解 第4章:Exporter详解
第5章:数据与可视化 第5章:数据与可视化
第6章:集群与高可用 第6章:集群与高可用
第7章:Prometheus服务发现 第7章:Prometheus服务发现
第8章:监控Kubernetes 第8章:监控Kubernetes
第9章:Prometheus Operator 第9章:Prometheus Operator
参考资料

Elasticserch 日志查询

ES 日志查询目前支持两个查询语法,下面分别介绍下

query string 语法

query string 查询语法支持以下几种常见的查询方式:

字段查询

可以指定字段名称进行查询:

  • status:active - 查询 status 字段包含 active 的记录
  • title:(quick OR brown) - 查询 title 字段包含 quick 或 brown 的记录
  • author:"John Smith" - 查询 author 字段包含完整短语 “John Smith” 的记录

通配符查询

支持使用 ?* 通配符:

  • qu?ck - ? 匹配单个字符
  • bro* - * 匹配零个或多个字符

模糊查询

使用 ~ 运算符进行模糊匹配:

  • quikc~ - 匹配与 quick 相似的词
  • "fox quick"~5 - 短语查询中的词之间可以相隔最多5个位置

范围查询

支持数值和日期范围:

  • count:[1 TO 5] - 闭区间,包含1和5
  • count:{1 TO 5} - 开区间,不包含1和5
  • date:[2022-01-01 TO 2022-12-31]
  • age:>10 - 大于10
  • age:>=10 - 大于等于10

布尔操作符

可以使用 AND、OR、NOT 等布尔操作符:

  • quick AND brown - 同时包含两个词
  • quick OR brown - 包含其中任意一个词
  • quick NOT fox - 包含 quick 但不包含 fox

更多详细语法可以参考 Elasticsearch 官方文档

KQL 语法

KQL (Kibana Query Language) 是一种简单的基于文本的查询语言。下面介绍几个常用的查询示例:

例子1:精确匹配

说明:查询 method 字段值为 GET 的日志

过滤条件:method: GET

例子2:使用通配符

说明:查询所有以 error 开头的日志级别

过滤条件:level: error*

例子3:范围查询

说明:查询响应时间在 1 秒到 5 秒之间的请求

过滤条件:response_time >= 1 and response_time <= 5

例子4:组合查询

说明:查询 method 为 POST 并且状态码为 500 或 502 的错误日志

过滤条件:method: POST and status_code: (500 or 502)

例子5:嵌套字段查询

说明:查询用户信息中名字为 Alice,姓氏为 White 的日志

过滤条件:user:{ first: "Alice" and last: "White" }

更多详细的 KQL 语法可以参考 Kibana 官方文档

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat