首页 > 代码库 > 针对Elasticsearch的开源分析及可视化平台——Kibana

针对Elasticsearch的开源分析及可视化平台——Kibana

Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。

   Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。

   在云市不需要复杂部署安装,一键使用Kibana。设置Kibana也非常简单,无需编码或者额外的基础架构,一分钟只能就能启动Elasticsearch索引监测。


技术分享


Kibana不是一个统计工具

   Kibana 因其丰富的图表类型和漂亮的前端界面,被很多人理解成一个统计工具。而我个人认为,ELK 这一套体系,不应该和 Hadoop 体系同质化。定期的离线报表,不是 Elasticsearch 专长所在(多花费分词、打分这些步骤在高负载压力环境上太奢侈了),也不应该由 Kibana 来完成(每次刷新都是重新计算)。Kibana 的使用场景,应该集中在两方面:

   1.实时监控

   通过 histogram 面板,配合不同条件的多个 queries 可以对一个事件走很多个维度组合出不同的时间序列走势。时间序列数据是最常见的监控报警了。


技术分享


   2.问题分析

   通过 Kibana 的交互式界面可以很快的将异常时间或者事件范围缩小到秒级别或者个位数。期望一个完美的系统可以给你自动找到问题原因并且解决是不现实的,能够让你三两下就从 TB 级的数据里看到关键数据以便做出判断就很棒了。

   这时候,一些非 histogram 的其他面板还可能会体现出你意想不到的价值。全局状态下看似很普通的结果,可能在你锁定某个范围的时候发生剧烈的反方向的变化,这时候你就能从这个维度去重点排查。而表格面板则最直观的显示出你最关心的字段,加上排序等功能。入库前字段切分好,对于排错分析真的至关重要。


技术分享


主要功能

Elasticsearch无缝之集成

   Kibana架构为Elasticsearch定制,可以将任何结构化和非结构化数据加入Elasticsearch索引。Kibana还充分利用了Elasticsearch强大的搜索和分析功能。

整合你的数据

   Kibana能够更好地处理海量数据,并据此创建柱形图、折线图、散点图、直方图、饼图和地图。

复杂数据分析

   Kibana提升了Elasticsearch分析能力,能够更加智能地分析数据,执行数学转换并且根据要求对数据切割分块。


技术分享


让更多团队成员受益

   强大的数据库可视化接口让各业务岗位都能够从数据集合受益。

接口灵活,分享更容易

   使用Kibana可以更加方便地创建、保存、分享数据,并将可视化数据快速交流。

可视化多数据源

   Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats或第三方技术的数据整合到Elasticsearch,支持的第三方技术包括Apache Flume、Fluentd等。


技术分享



简单数据导出

   Kibana可以方便地导出感兴趣的数据,与其它数据集合并融合后快速建模分析,发现新结果。

与Elasticsearch REST API实现可视化交互

   Sense是一个可视化终端,通过Kibana插件支持自动补全、自动缩进和语法检查功能。提升了与Elasticsearch API交互的体验。


技术分享


注意事项

Kibana 目前不支持对保存在 Elasticsearch 中的 dashboard 做这个事情

   所以一定得保存成 yourname.json 文件放入 app/dashboards/ 目录里才行。


技术分享



静态的 JSON 文件其实是利用模板技术

   所以直接导出得到的 JSON 文件还不能直接起作用。需要稍微做一点修改。

   你可以打开默认可用的 logstash.json 文件,看看有什么奇特的地方,没错,就是下面这样:

  "query": "{{ARGS.query || ‘*‘}}"

   而你自己保存下来的 JSON,这里都会是具体的数据。所以,要让自己的 JSON 布局也支持动态仪表板的话,按照这个写法也都加上 ARGS.query 就好了!

   从 logstash.json 里还可以看到,除了 ?query= 以外,其实还支持 from= 参数,默认是 24h。


技术分享


用 JSON 的局限

   动态仪表板其实有两种用法,这里只用到了 file/logstash.json 静态文件方式,这种方式只支持一个 query 条件,也没有太多的附加参数支持。而 script/logstash.js 方式,支持多个 query 条件,以及 index、pattern、interval、timefield 等更多的参数选项。

   当然,研究一下 angularjs 的用法,给 JSON 文件里也加上 ARGS.query 的 split 方法,也不算太难。


技术分享



   如果你想试用Kibana,那就扫一下上方二维码,或者点击“阅读全文”前往「好雨云市」网站查看Kibana详情,一键即可使用。而且在云市,你会发现不只Kibana一款有料的云应用……


本文出自 “12109981” 博客,请务必保留此出处http://12119981.blog.51cto.com/12109981/1863939

针对Elasticsearch的开源分析及可视化平台——Kibana