Skip to content

Kibana 使用方法(简)

Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

Kibana 是基于 index 进行数据分析和可视化,所以在进入 Kibana 平台后首要的工作就是创建 index pattern,然后在创建 Visualization 或者 Alerting 的时候用上 index。

创建 Index pattern

First Step:

进入 Management > Index Patterns,点击Create Index PatternsCreate Index Patterns 01

说明:

  • 需要输入一个 index 的全称才能被选中
  • 支持使用 * 通配符选择多个 index
  • 选择好 index 后点击Next step会进入下一步

Second Step:

Create Index Patterns 02

说明:

  • 可以选择添加作为时间过滤的字段
  • 如不添加,选择“I don't want to use the Time Filter”
  • 选择好 Time filter field name 后点击Create index pattern 会创建 Index Pattern

查看 Index pattern

进入 Discover,选择需要查看的 index pattern,如果查看到的是空白,需要注意选择的时间段(index 的数据是根据时间进行过滤的)。

View Index Pattern 01

添加更多字段到列表

页面左侧的Available fields,点击字段旁的add可以选择添加更多字段,添加后在页面右侧的数据列表可以即时查看。

View Index Pattern 02

保存搜索

View Index Pattern 03

创建 Visualization

First Step

进入 Visualize ,点击按钮。

visualize-1

Second Step

在弹出的 Dialog 中选择要使用的可视化类型。

visualize-2

Third Step

选择要进行可视化观察的 index pattern,或者也可以直接选择 Saved search。

visualize-3

Fourth Step

选择好之后会出来对应的可视化结果,如要保存需要点击页面中左上角的Save按钮。 visualize-4

创建 Alerting

First Step

进入 Alert,点击Create monitor进入创建 Monitor 的页面。

Create Alert 01

Second Step

在创建 Monitor 页面,填写 Monitor_name 、Index 等信息,然后点击底部的Create按钮即创建成功。

alert-2

使用 SQL on ES 功能

如果你希望直接通过 Kibana 对你已经存储的数据进行简单的 SQL 查询,可以使用侧边栏的 Dev-Tool 功能来完成:

Dev-Tool Console 中的语法如下:

POST /_opendistro/_sql?format=csv
{
  "query": "select country, user_segment, event_id FROM marsk* limit 5"
}

其中:

  • POST /_opendistro/_sql 为执行 SQL 入口点
  • ?format=csv 是指定查询的结果形式,可选的格式有 txt/csv/json
  • "query" 字段是查询的 SQL 语句:
    • from 之后需要指定 index pattern, 如此例中的 marsk*
    • 为了保护系统的不会因为不合理的查询而导致集群不稳定,请对你的查询语句作出限制,切勿对整个 index pattern 做全量的查询

查询的结果一般如下以 csv 格式返回

country,user_segment,event_id
CN,66,e28158700744139
CN,66,e282474602929324
CN,66,e10087239540291
CN,66,e14513082360858
CN,66,e115745583976608

方便进行后续的分析。

SQL 的支持

  • SQL Select
  • SQL Delete
  • SQL Where
  • SQL Order By
  • SQL Group By
  • SQL Having
  • SQL Inner Join
  • SQL Left Join
  • SQL Show
  • SQL Describe
  • SQL AND & OR
  • SQL Like
  • SQL COUNT distinct
  • SQL In
  • SQL Between
  • SQL Aliases
  • SQL Not Null
  • SQL(ES) Date
  • SQL avg()
  • SQL count()
  • SQL max()
  • SQL min()
  • SQL sum()
  • SQL Nulls
  • SQL isnull()
  • SQL floor
  • SQL trim
  • SQL log
  • SQL log10
  • SQL substring
  • SQL round
  • SQL sqrt
  • SQL concat_ws
  • SQL union and minus

SQL 的限制

  1. 在表连接并且查询多个索引时, group by 无法作用与多索引的字段,例如下面 users* 的 u.id
❎ select * FROM users* u join company c on u.company_id=c.id group by u.id

✅ select * FROM users* u join company c on u.company_id=c.id group by c.id
  1. 查询时,索引名包含 ‘.’ 的不可查询,‘-’是可以查询的
❎ select os_type FROM marsk-event-2020.*
  1. 不可查询数组字段

更多

更多关于 Kibana 的使用介绍可以查看 官方文档

京ICP备19011570号-2