Kibana 查询和过滤器

编辑

本主题简要介绍了一些用于搜索 Packetbeat 数据的实用查询。有关查询语法的完整描述,请参阅 Kibana 用户指南 中的 搜索您的数据

在 Kibana 中,您可以通过输入搜索查询或单击可视化图表中的元素来筛选事务。

创建查询

编辑

Discover 页面上的搜索字段提供了一种从选定时间范围内查询特定事务子集的方法。它允许布尔运算符、通配符和字段筛选。例如,如果要查找 HTTP 重定向,可以搜索 http.response.status_code: 302

Kibana query

字符串查询

编辑

一个查询可能由一个或多个单词或短语组成。短语是用双引号括起来的一组单词,例如 "test search"

要搜索由 Mozilla Web 浏览器 5.0 版本发起的所有 HTTP 请求

"Mozilla/5.0"

要搜索包含以下消息的所有事务

"Cannot change the info of a user"

要搜索完全匹配的字符串,您需要将字符串括在双引号中。如果没有引号,示例中的搜索将匹配包含以下单词之一的任何文档:“Cannot” OR “change” OR “the” OR “info” OR “a” OR “user”。

要搜索所有使用 “chunked” 编码的事务

"Transfer-Encoding: chunked"

基于字段的查询

编辑

Kibana 允许您搜索特定字段。

仅查看 HTTP 事务

type: http

仅查看失败的事务

status: Error

仅查看 INSERT 查询

method: INSERT

正则表达式查询

编辑

Kibana 支持用于过滤器和表达式的正则表达式。例如,要搜索所有返回值为 JSON 的 HTTP 响应

http.response_headers.content_type: *json

有关语法的更多详细信息,请参阅 Elasticsearch 正则表达式查询

范围查询

编辑

范围查询允许字段的值在下限和上限之间。间隔可以包含或排除边界,具体取决于您使用的括号类型。

要搜索响应时间大于或等于 10 毫秒的慢事务

event.duration: [10000000 TO *]

要搜索响应时间大于 10 毫秒的慢事务

responsetime: {10000000 TO *}

布尔查询

编辑

布尔运算符(AND、OR、NOT)允许通过逻辑运算符组合多个子查询。

AND、OR 和 NOT 等运算符必须大写。

要搜索除 MySQL 事务之外的所有事务

NOT type: mysql

要搜索所有带有错误的 MySQL INSERT 查询

type: mysql AND method: INSERT AND status: Error

Kibana 查询语言 (KQL) 还支持使用括号对子查询进行分组。

要搜索响应时间大于或等于 30 毫秒的 INSERT 或 UPDATE 查询

(method: INSERT OR method: UPDATE) AND event.duration >= 30000000

创建过滤器

编辑

在 Kibana 中,您还可以通过单击可视化图表中的元素来筛选事务。例如,要筛选来自特定 IP 和端口的所有 HTTP 重定向,请单击事务详细信息表中 client.ipclient.port 字段旁边的 为值筛选 filterforval icon 图标。要排除来自 IP 和端口的 HTTP 重定向,请改为单击 排除值筛选 filteroutval icon 图标。

Filter from context

选定的筛选器将显示在搜索框下方。

Kibana filters