我们身处海量数据的包围之中已成众所周知的事实。即使你管理的是一个单独的 Linux 服务器,那么带着问题一发生就能检测出来并采取措施的目的去管理所有日志时也会遇到问题。问题有多大取决于环境的规模、每台主机的职责、已经安装的服务以及正在使用的协议。
当然,日志数据能让我们更好地洞察检测模式,当信息以可视化的形式呈现出来时让我们可以更快速地采取措施。这种分析方法使 IT 运维团队可以创建透明度,要清楚任何时间点正在发生什么时正需要这种透明度。
Kibana 和 Grafana 是两个开源工具,能可视化和推断大量日志数据内的趋势。本文将向你简单介绍一下每个工具,并主要比较一下它们之间的关键不同。
Kibana
Kibana 是一个分析和可视化平台,它可以让你浏览、可视化存储在 Elasticsearch 集群上排名靠前的日志数据,并构建仪表盘。你可以执行深入的数据分析并以多种图表、表格和地图方式可视化这些数据。
许多诸如 Netflix 和 Linkedin 之类的现代 IT 组织使用流行的 ELK 栈 (Elasticsearch、Logstash 和 Kibana) 进行日志管理。通过使用这个栈中的 Kibana 可简化部署,并可以将其用于可视化。一旦安装了 ELK 栈,你就可以使用平台的“发现(Discover)”部分内的强大工具去浏览和可视化你的日志数据了。Kibana 的仪表盘非常简单易用,任何人都可以使用它,甚至 IT 技能和知识很少的业务人员也可以使用。
Grafana
Grafana 是一个开源仪表盘工具,它可用于 Graphite 、 InfluxDB 与 OpenTSDB 一起使用。最新的版本还可以用于其他的数据源,比如 Elasticsearch。
从本质上说,它是一个功能丰富的 Graphite-web 替代品,能帮助用户更简单地创建和编辑仪表盘。它包含一个独一无二的 Graphite 目标解析器,从而可以简化度量和函数的编辑。Grafana 快速的客户端渲染默认使用的是 Flot ,即使很长的时间范围也可应对,这样用户就可以创建具有智能轴格式(比如线和点)的复杂图表了。
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 作为一个整体进行了相关信息的揭示:
即使把 Graphite 也算进来,ELK 仍保持着快速的增长,并有潜力在不久的将来保持领先。
共同协作
Kibana 和 Grafana 都是强大的可视化工具。然而,Grafana 和 InfluxDB 组合是用于度量数据的,反之,Kibana 是流行的 ELK 栈的一部分,它可以更为灵活地浏览日志数据。
这两个平台都是好的选择,甚至有时还可以互补。首先,用 Kibana 去分析你的日志。然后,把数据导入到 Grafana 作为可视化层。这些的前提是需要同一个 Elasticsearch 库。
Logz.io 是一个预言性的、基于云的日志管理平台,它处于开源的 ELK 栈(Kibana 是其中的一部分)的上层。你不妨动手试用一下免费版!
关于作者
Asaf Yigal 是 Logz.io 的联合创始人和产品副总裁。在 Logz.io 之前,Asaf 联合创办了 Currensee,这是一个社区交易平台,此后被 OANDA(奥安达公司)于 2013 年收购。而在 Currensee 之前,Asaf 负责管理在 Akorri 的端到端性能监控平台的开发和在 Onaro 的存储资源管理平台的开发。 Akorri 和 Onaro 均已被 NetApp 收购。在 Onaro 之前,Asaf 带领以色列海军的一支研究团队,用一个人工智能系统进行军队调度。
评论