kibana4学习笔记
文章目录
以下是学习Kibana时做的笔记
介绍
Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。
Kibana 是 Elasticsearch 分析和搜索仪表板。已经历经了 v1, v2, v3, v4 个版本,分别采用了 PHP,Ruby,AngularJS,JRuby,NodeJS 等不同语言编写。我们主要关注v3 和 v4 的区别。实际项目中尽量用v4
Kibana 非常容易安装和使用。整个项目都是用 HTML 和 Javascript 写的,所以 Kibana 不需要任何服务器端组件,一个纯文本发布服务器就够了
ELK 这一套体系,不应该和 Hadoop 体系同质化。定期的离线报表,不是 Elasticsearch 专长所在.
Kibana 的使用场景,应该集中在两方面:
- 实时监控
- 通过 histogram 面板,配合不同条件的多个 queries 可以对一个事件走很多个维度组合出不同的时间序列走势。时间序列数据是最常见的监控报警了。
- 问题分析
关于 elk 的用途,可以参照其对应的商业产品 splunk 的场景:使用 Splunk 的意义在于使信息收集和处理智能化。而其操作智能化表现在:
- 搜索,通过下钻数据排查问题,通过分析根本原因来解决问题;
- 实时可见性,可以将对系统的检测和警报结合在一起,便于跟踪 SLA 和性能问题;
- 历史分析,可以从中找出趋势和历史模式,行为基线和阈值,生成一致性报告。
v3 / v4对比
Kibana4 在使用 Aggregation
接口提供更复杂功能和更高性能的同时,彻底改变了用户的使用形式。用户必须明确了解 ES 各个 aggs 接口的意义,请求和响应体的数据情况;还要想清楚可视化的展现形式,充分理解数据字段的作用。然后才能实现想要的结果。毫无疑问,这是有学习成本的。
metric 和 bucket是什么
知识点
- 你可以在 Visualization页为你的搜索结构构造可视化。每个可视化都是跟一个搜索关联着的
- 本地安装:跨平台,无依赖
- 5601端口
- 默认情况下,Kibana 会连接运行在 localhost 的 Elasticsearch。要连接其他 Elasticsearch 实例,修改 kibana.yml 里的 Elasticsearch URL,然后重启 Kibana。如何在生产环境下使用 Kibana,阅读 [Using Kibana in a Production Environment].
- 索引:
- 默认情况下,Kibana 认为你要访问的是通过 Logstash 导入 Elasticsearch 的数据。这时候你可以用默认的 logstash-* 作为你的 index pattern。
- 选择一个包含了时间戳的索引字段,可以用来做基于时间的处理。Kibana 会读取索引的映射,然后列出所有包含了时间戳的字段(译者注:实际是字段类型为 date 的字段,而不是“看起来像时间戳”的字段)。如果你的索引没有基于时间的数据,关闭 Index contains time-based events 参数。
- 默认的时间过滤器设置为最近 15 分钟
- 发挥:意味着这是一个real-time展示
- discover
- 你可以直接输入简单的请求字符串,也就是用 Lucene query syntax,也可以用完整的基于 JSON 的 Elasticsearch Query DSL。
- 当你提交搜索的时候,直方图,文档表格,字段列表,都会自动反映成搜索的结果。hits(匹配的文档)总数会在直方图的右上角显示。文档表格显示前 500 个匹配文档。
- 默认的,文档倒序排列,最新的文档最先显示
- 发挥:要搜素课程太容易了,探索课程和学生staff
- 使用 Lucene query syntax就可以做简易搜索
- 你可以在 Discover 页加载已保存的搜索,也可以用作 visualizations 的基础。保存一个搜索,意味着同时保存下了搜索请求字符串和当前选择的索引模式。
- Visualize
- 你可以保存可视化,以后再用,或者合并到 dashboard 里。一个可视化可以基于以下几种数据源类型:
- 一个新的交互式搜索
- 一个已保存的搜索
- 一个已保存的可视化
- 可视化是基于 Elasticsearch 1 引入的聚合(aggregation) 特性。
- 可以通过Settings > Edit Saved Objects 来管理已存的可视化。
- 用页面左侧的聚合构建器配置你的可视化要用的 metric 和 bucket 聚合。
桶(Buckets) 的效果类似于 SQL GROUP BY
语句。
- 你可以保存可视化,以后再用,或者合并到 dashboard 里。一个可视化可以基于以下几种数据源类型:
- dashboard
- 要用仪表板,你需要至少有一个已保存的 visualization。
- 分享仪表板
- 你可以分享仪表板给其他用户。可以直接分享 Kibana 的仪表板链接,也可以嵌入到你的网页里。
- 用户必须有 Kibana 的访问权限才能看到嵌入的仪表板。
认证鉴权
v3
v4
- oauth2:k4的oauth2插件
- kibana-authentication-proxy:kibana的认证机制(cas)
Todo:思考
关于可视化 , 二维平面在展示什么 每种图表的特性。
一些概念:向量,特征值,降维,桶(Buckets)
关于图表的可视化,推荐阅读《数据可视化的基本原理与方法》
参考
- Elasticsearch 官方指南 Kibana 部分
- kibana:Kibana analytics and search dashboard for Elasticsearch
文章作者 种瓜
上次更新 2016-04-16