应用监控可视化工具Grafana&Kibana对比

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用监控可视化工具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数据中常见的数据关系。

对比了解Grafana与Kibana的关键差异,一个即可还是两者共用?

作者 | Asaf Yigal

译者 | 冬雨
我们身处海量数据的包围之中已成众所周知的事实。在此情况下,日志的管理、可视化和度量面临着更多的挑战。Kibana 和 Grafana 是两个开源工具,能可视化和推断大量日志数据内的趋势。本文将向你简单介绍一下每个工具,并主要比较一下它们之间的关键不同。

对比了解Grafana与Kibana的关键差异,一个即可还是两者共用?我们身处海量数据的包围之中已成众所周知的事实。即使你管理的是一个单独的Linux服务器,那么带着问题一发生就能检测出来并采取措施的目的去管理所有日志时也会遇到问题。问题有多大取决于环境的规模、每台主机的职责、已经安装的服务以及正在使用的协议。当然,日志数据能让我们更好地洞察检测模式,当信息以可视化的形式呈现出来时让我们可以更快速地采取措施。这种分析方法使IT运维团队可以创建透明度,要清楚任何时间点正在发生什么时正需要这种透明度。Kibana 和 Grafana 是两个开源工具,能可视化和推断大量日志数据内的趋势。本文将向你简单介绍一下每个工具,并主要比较一下它们之间的关键不同。

Kibana概述  

Kibana 是一个分析和可视化平台,它可以让你浏览、可视化存储在Elasticsearch集群上排名靠前的日志数据,并构建仪表盘。你可以执行深入的数据分析并以多种图表、表格和地图方式可视化这些数据。

对比了解Grafana与Kibana的关键差异,一个即可还是两者共用?许多诸如Netflix 和 Linkedin之类的现代IT组织使用流行的 ELK栈 (Elasticsearch、Logstash 和 Kibana) 进行日志管理。通过使用这个栈中的Kibana可简化部署,并可以将其用于可视化。一旦安装了ELK栈,你就可以使用平台的“发现(Discover)”部分内的强大工具去浏览和可视化你的日志数据了。Kibana的仪表盘非常简单易用,任何人都可以使用它,甚至IT技能和知识很少的业务人员也可以使用。

Grafana概述  

Grafana 是一个开源仪表盘工具,它可用于Graphite、InfluxDB与 OpenTSDB 一起使用。最新的版本还可以用于其他的数据源,比如Elasticsearch。从本质上说,它是一个功能丰富的Graphite-web 替代品,能帮助用户更简单地创建和编辑仪表盘。它包含一个独一无二的Graphite目标解析器,从而可以简化度量和函数的编辑。Grafana快速的客户端渲染默认使用的是 Flot ,即使很长的时间范围也可应对,这样用户就可以创建具有智能轴格式(比如线和点)的复杂图表了。

对比了解Grafana与Kibana的关键差异,一个即可还是两者共用?

Kibana 和 Grafana的异同点  
1. 日志与度量  

这方面的主要的不同在于,Grafana专注于根据CPU和IO利用率之类的特定指标提供时间序列图表。Kibana则专注于另一方面,它运行于Elasticsearch的上层,能创建一个复杂的日志分析仪表盘。举个例子,Grafana无法进行数据的检索和浏览。

2. 基于角色的访问  

默认情况下,Kibana的仪表盘是公开的,没有进行基于角色的访问控制。如果你需要针对多个用户设置不同的权限级别,就得增加额外的配置预算采购 Shield 了。比较而言,Grafana内置的RBA允许你维护用户和团队访问仪表盘的权限。另外,Grafana的富API可能用于保存特定仪表表、创建用户用户和更新数据源的任务。你还可以创建特定的API关键字并赋予它们新的职责。

3. 仪表盘灵活性  

虽然Kibana有大量内置的图表类型,但它们之上的控制仍是最初的限制,Grafana包括更多的选择,可以更灵活地浏览和使用图表,如果要选择一个指定的时间序列,可以使用Y-Bar之类的工具。然而,随着 Kibana 4中展示的增强特性,比如可以保存元素并拖曳到新的仪表盘中,我们可以预期Kibana能快速地弥补这一差距。

4. 数据源的集成  

Grafana支持许多不同的存储后端。Grafana针对每个数据源都有一个特定的查询编辑器,它是针对数据源所具备的特性和能力特别定制的。然而,正如上文所说,Kibana原生集成进了ELK栈,这使安装极为简单,对用户非常友好。

5. 开源社区  

这两个开源工具都很强大。如果密切观察一下Github上的Grafana,你将发现大概有7000次代码提交,而Kibana更有12000次。而如果要了解Kibana开源社区真正的优势,可以看看谷歌趋势,它把ELK作为一个整体进行了相关信息的揭示:

对比了解Grafana与Kibana的关键差异,一个即可还是两者共用?

即使把Graphite也算进来,ELK仍保持着快速的增长,并有潜力在不久的将来保持领先。

共同协作  

Kibana和Grafana都是强大的可视化工具。然而,Grafana和InfluxDB组合是用于度量数据的,反之,Kibana是流行的ELK栈的一部分,它可以更为灵活地浏览日志数据。

这两个平台都是好的选择,甚至有时还可以互补。首先,用Kibana去分析你的日志。然后,把数据导入到Grafana作为可视化层。这些的前提是需要同一个Elasticsearch库。Logz.io是一个预言性的、基于云的日志管理平台,它处于开源的ELK栈(Kibana是其中的一部分)的上层。你不妨动手试用一下免费版!

注:InfoQ已获得作者授权翻译并传播。

唱吧的一个业务中已经将Grafana和Kibana协同使用了,点击文章,请看《 》--2.3 监控,日志与报警 一节中的内容。
作者介绍

Asaf Yigal,是Logz.io的联合创始人和产品副总裁。在 Logz.io之前,Asaf联合创办了Currensee,这是一个社区交易平台,此后被OANDA(奥安达公司)于2013年收购。而在Currensee之前,Asaf负责管理在Akorri的端到端性能监控平台的开发和在Onaro的存储资源管理平台的开发。 Akorri 和 Onaro均已被NetApp收购。在Onaro之前,Asaf带领以色列海军的一支研究团队,用一个人工智能系统进行军队调度。

查看英文原文:Grafana vs. Kibana: The Key Differences to Know

今日荐文
                               

     



QCon北京2017将于4月16日~18日北京·国家会议中心举行,会务组(操劳准备半年)精心设计了智能化运维、支撑海量业务的互联网架构、大规模网关系统、微服务实践等30来个专题;将邀请来自Google、Facebook、阿里巴巴、腾讯、百度、美团点评、爱奇艺等典型互联网公司的技术专家,分享技术领域最新成果。目前票价处于8折期。感兴趣的小伙伴请识别下面二维码跳转了解详情。

以上是关于应用监控可视化工具Grafana&Kibana对比的主要内容,如果未能解决你的问题,请参考以下文章

对比了解Grafana与Kibana的关键差异,一个即可还是两者共用?

Kibana或Grafana,时间序列可视化如何选择?

Zabbix vs grafana vs kibana

kibana是啥工具

性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控

性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控