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 的使用介绍可以查看 官方文档。