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