应用监控可视化工具 Grafana&Kibana 对比
在智能化无法做到闭环的全自动风险管理前提下,应用运维系统采集的数据、智能算法分析出的信息需要高效传输到人脑才能发挥价值。高效的人机交互界面可以让机器智能与人脑更紧密地连接,达到事半功倍的效果。数据可视化是提高人机信息交互效率的主要手段,尤其是在随时面临海量数据分析、筛选的复杂应用系统运维场景下,应用服务质量目标和关键 KPI 可通过易于理解的图表以实时监控仪表盘大屏或报表的形式展现。应用运维人员通过观察仪表盘数据可以随时掌控应用全局的健康状态;利用生成的数据可视化图表,运维主管能够更快理解应用的历史运行情况和未来趋势。 目前,用于运营数据分析场景的数据可视化工具已经非常普遍,如 Tableau、Qlik 等。在运维监控数据可视化场景下,也有专用的工具和平台来对接运维监控平台或运维数据存储常用的时间序列数据库,比较有代表性的是 Grafana、Kibana。
一、Grafana
1、简介
Grafana 是一款专门面向监控运维场景的优秀的运维数据可视化软件。Grafana 项目由 Torkel Ödegaard 于 2014 年启动,在过去几年中已成为 GitHub 上最受欢迎的开源项目之一。它支持通过图形化界面自助式查询数据,支持定义可视化仪表盘,并支持对接指标数据、告警数据和日志数据。Grafana 具有可插拔的数据源模型,支持对接 Graphite、Prometheus、InfluxDB、ElasticSearch 等十余种监控工具和监控数据存储数据库。无论指标存储在何处,Grafana 提供查询、可视化、提醒和理解指标的功能。用户可创建、浏览仪表板并与团队共享仪表板,实现数据驱动的运维模式。Grafana 还为云监控供应商(如 Google Stack 驱动程序、亚马逊云、微软 Azure、MySQL 和 Postgres)提供了内置支持。
2、主要功能
Grafana 专注于运维监控场景下的数据可视化、分析和风险告警展现,主要特点是可以将来自众多位置的数据合并到单个仪表板。其提供的主要功能包括以下几项。
运维数据可视化。 Grafana 提供快速灵活的用户端图表,并提供多种选项供用户自定义配置展示风格,支持用于可视化指标和日志的多种不同方式的面板插件。Grafana 支持使用模板变量创建动态和可重用仪表板,这些变量在仪表板顶部显示为下拉列表。
探索指标浏览日志。 Grafana 使用了标签筛选器,支持运行期从指标快速切换到日志。利用 Grafana 提供的交互式界面,用户能够快速搜索所有日志或实时流式传输日志。Grafana 提供了 Loki 日志聚合系统,它是在 Grafana 平台做日志浏览的首选数据源,但很快 Grafana 会支持更多类型的日志数据。
对接第三方平台及仪表盘。 为及时将发现的风险通知责任人,Grafana 支持对接多种第三方平台及仪表盘以发送告警数据。一旦配置为对接第三方平台,Grafana 将持续监测并推送通知到第三方系统(如 Slack、PagerDuty、VictorOps、OpsGenie 等)。为方便配置,Grafana 支持将定义好对接规则的数据可视化仪表盘或全屏面板共享,仪表盘中自动包括当前的时间范围和变量,支持创建公共快照或内部快照。
支持多源混合数据源。 新版的 Grafana 支持在同一图表中混合不同的数据源数据,并支持基于每个查询指定数据源。我们甚至可以通过 Grafana 的扩展插件对接自定义类型的数据源数据,结合 Grafana 现有数据源数据融合展现,并直观显示在一个可视化图表中。通过 Grafana 提供的数据临时查询和动态向下钻取能力,我们可以随需浏览底层原始指标数据,拆分视图来并排比较不同的时间范围数据,以便发现数据中隐藏的潜在风险。
插件机制的第三方数据源定制对接。 Grafana 具有可扩展插件机制,支持对接第三方的监控数据源,其中包括自定义数据源或 ZABBIX、ElasticSearch、Prometheus 等常用监控系统数据源。对接之后,Grafana 支持在仪表盘中直接配置对应的查询语句来过滤、统计、聚合数据。这种插件机制为企业规划的建设应用智能运维系统提供了一种不需要同构底层存储即可统一展现多源、异构数据的运维可视化策略。
二、Elastic Kibana
1、简介
Kibana 是 Elastic 公司提供的一系列运维工具套件中的数据可视化模块,可以直接对接 ElasticSearch 来实现仪表盘和报表的可视化配置。通过 Kibana,用户可以对自己的 ElasticSearch 进行可视化,还可以在 Elastic Stack 中进行导航。
2、主要功能
Kibana 的核心功能是实现监控运维数据的可视化。Kibana 应用流量监控仪表盘其默认支持一批经典图表,如柱状图、线状图、饼状图、旭日图等。当然,我们还可以基于 Kibana 与底层 ElasticSearch 数据存储索引平台交互,搜索自己的所有文档。在日常运维过程中,我们可能希望跟踪自己网站的运行状态,或者希望查看分布式痕迹,通过 Kibana 内置应用,如 Logs、Infrastructure、APM、Uptime 及其他应用,无须离开 Kibana,便能轻松完成这一切。
结合位置数据分析应用监控数据。 借助 Elastic Maps,Kibana 支持分析采集到的位置相关数据。结合地图类图表,其可以对定制图层和矢量形状进行可视化,并进行交互式数据探索、过滤和定位。
实现时间序列监控数据的可视化。 借助 Kibana 的时间序列数据可视化探索与分析 UI 界面,可对 ElasticSearch 中的数据执行高级时间序列分析。可以利用功能强大、简单易学的表达式来描述查询、转换和可视化。有了 Kibana,命令行不再是管理安全设置、监测堆栈、采集和汇总数据或配置其他 Elastic Stack 功能的唯一途径。与此同时,得益于出色的 API,用户可以通过可视化 UI 轻松地管理 ElasticStack 并确保其安全性,这种方式更加直观,也能让更多的人上手使用。
实现机器学习算法输出结果的可视化。Kibana 支持借助非监督型机器学习功能来检测隐藏在 ElasticSearch 数据中的异常情况,并探索那些对它们有显著影响的属性。凭借搜索引擎的相关性功能,结合 Graph 关联分析,Kibana 可以分析发现 ElasticSearch 数据中常见的数据关系。
版权声明: 本文为 InfoQ 作者【阿泽🧸】的原创文章。
原文链接:【http://xie.infoq.cn/article/822dbe44bdf7a41d196aab259】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论