Kibana 使用方法(简)
# Kibana 使用方法(简)
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
Kibana 是基于 index 进行数据分析和可视化,所以在进入 Kibana 平台后首要的工作就是创建 index pattern,然后在创建 Visualization 或者 Alerting 的时候用上 index。
# 创建 Index pattern
First Step:
进入 Management > Index Patterns,点击Create Index Patterns
说明:
- 需要输入一个 index 的全称才能被选中
- 支持使用 * 通配符选择多个 index
- 选择好 index 后点击
Next step
会进入下一步
Second Step:
说明:
- 可以选择添加作为时间过滤的字段
- 如不添加,选择“I don't want to use the Time Filter”
- 选择好 Time filter field name 后点击
Create index pattern
会创建 Index Pattern
# 查看 Index pattern
进入 Discover,选择需要查看的 index pattern,如果查看到的是空白,需要注意选择的时间段(index 的数据是根据时间进行过滤的)。
添加更多字段到列表
页面左侧的Available fields
,点击字段旁的add
可以选择添加更多字段,添加后在页面右侧的数据列表可以即时查看。
保存搜索
# 创建 Visualization
First Step
进入 Visualize ,点击+
按钮。
Second Step
在弹出的 Dialog 中选择要使用的可视化类型。
Third Step
选择要进行可视化观察的 index pattern,或者也可以直接选择 Saved search。
Fourth Step
选择好之后会出来对应的可视化结果,如要保存需要点击页面中左上角的Save
按钮。
# 创建 Alerting
First Step
进入 Alert,点击Create monitor
进入创建 Monitor 的页面。
Second Step
在创建 Monitor 页面,填写 Monitor_name 、Index 等信息,然后点击底部的Create
按钮即创建成功。
# 使用 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 的限制
- 在表连接并且查询多个索引时, 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
- 查询时,索引名包含 ‘.’ 的不可查询,‘-’是可以查询的
❎ select os_type FROM marsk-event-2020.*
- 不可查询数组字段
更多
更多关于 Kibana 的使用介绍可以查看 官方文档。