关注上方 云原生CTO 更多云原生干货等你来探索
专注于 云原生技术
分享
提供优质 云原生开发
视频技术培训
面试技巧
,及技术疑难问题 解答

云原生技术分享不仅仅局限于Go
、Rust
、Python
、Istio
、containerd
、CoreDNS
、Envoy
、etcd
、Fluentd
、Harbor
、Helm
、Jaeger
、Kubernetes
、Open Policy Agent
、Prometheus
、Rook
、TiKV
、TUF
、Vitess
、Argo
、Buildpacks
、CloudEvents
、CNI
、Contour
、Cortex
、CRI-O
、Falco
、Flux
、gRPC
、KubeEdge
、Linkerd
、NATS
、Notary
、OpenTracing
、Operator Framework
、SPIFFE
、SPIRE
和 Thanos
等
Kibana 替代方案:Grafana、Splunk 和 Knowi
您应该考虑用于日志数据分析的顶级 Kibana
替代方案。

目录:
介绍 Kibana
的优势Kibana
的局限性最佳 Kiban
替代品Grafana
Knowi
Splunk
结论
介绍
Kibana
是一个可视化界面工具,可用于探索、可视化和构建 Elasticsearch
集群生成的日志数据的仪表板。它是由一家名为 Elastic
的荷兰公司与另外两个开源工具 Elasticsearch
和 Logstash
共同开发的。Elasticsearch
是一个用于半结构化和面向文档的数据的数据库。Logstash
有助于收集、解析和存储日志。
这三个工具统称为 ELK
或 Elastic stack
。
Kibana
为您提供了多种可视化数据的方法,包括折线图、热图、饼图和直方图,以根据您的 Elasticsearch
数据构建和共享仪表板。
Kibana 的优势
以下是 Kibana
用户享受的好处:
开源
Kibana
是一个开源工具。您可以使用它来分析您的日志,而无需支付任何费用。
与 Elasticsearch
的强大集成
Kibana
与 ELK
堆栈紧密耦合,并且与 Elasticsearch
集成良好。因此,如果您的项目使用 Elasticsearch
作为数据库,Kibana
将为您提供最佳性能。
交互式图表
Kibana
提供交互式图表和报告,可帮助您以交互方式浏览大量日志数据。它允许您放大和缩小特定数据集、动态拖动时间窗口以及深入报告以从您的数据中提取有价值的见解。
映射支持
Kibana
具有强大的地理空间功能,可帮助您在数据之上分层地理信息,然后在地图上可视化结果。Elastic Maps
服务提供了 baseman
切片、shapefile
和其他有利于地理数据可视化的关键功能,从而实现了这一点。
预建过滤器和聚合
Kibana
带有预构建的过滤器和聚合,您只需点击几下即可运行不同类型的分析,如前N
个查询、直方图和趋势。
易于访问的仪表板

在 Kibana
中设置仪表板并与他人共享很容易。您只需要一个 Web 浏览器即可查看仪表板和探索数据。它还通过限制信息查看以保护数据泄漏的选项促进仪表板和可视化的安全共享。
自定义可视化
Kibana
为其用户提供基本的可视化工具,如饼图、直方图和折线图,以及允许他们设计自己的图像的选项。这使得 Kibana
用户可以满足自己的需求和偏好。这是使用 Vega Grammar
实现的,这是Kibana
完全集成的可视化语言。
Kibana 的局限性
以下是与 Kibana
相关的限制:
只能可视化 Elasticsearch
数据
尽管 Kibana
与 Elasticsearch
紧密集成,但它不支持与其他数据源的集成。因此,您只能使用它来可视化 Elasticsearch
数据。如今,大多数组织都跨不同的数据源(SQL
数据库、NoSQL
数据库、REST API
等)存储/检索数据。因此,仅使用 Elasticsearch
的 Kibana
可能会成为问题。
没有开箱即用的警报系统
Kibana
没有开箱即用的警报系统。他们只能通过实施 Elastalert
、使用X-Pack
插件或使用托管的 ELK
堆栈(例如 Logz.io
)来配置警报。他们可以通过 API
或使用称为观察者的函数在 Elasticsearch
中配置警报。
无用户管理功能
Kibana
确实带有任何用户管理功能。因此,任何拥有仪表板链接的个人都可以查看数据。要将用户管理功能添加到Kibana
,您必须依赖与第三方工具的集成。不适合非技术业务用户
Kibana
有一个陡峭的学习曲线,它需要具有ELK
堆栈先验知识的个人。因此,对于非技术业务用户来说,它可能会让人不知所措。
最佳 Kibana 替代品
市场上有很多数据可视化工具可以代替Kibana
使用。在本节中,我们将讨论 Kibana
的前 3
个最佳替代方案。
Greafana
Grafana
是一种开源数据可视化工具,可用于可视化任何数据。它主要由InfluxDB
、Graphite
和 Elasticsearch
使用。
Grafana
用户还可以从头开始编写自己的插件,并将它们用于与不同数据源的集成。它也是时间序列分析的好工具,允许您在一段时间内研究、分析和监控您的数据。它还支持用户可以用来可视化其数据的不同类型的可视化。Grafana
具有自定义选项,用户可以使用这些选项以他们想要的方式对数据进行切片和切块。Grafana
用户还可以使用不同的颜色、可视化大小、标签等。
Grafana 功能
以下是常见的 Grafana
功能:
可视化
Grafana
提供了不同类型的可视化,从图形到直方图,您可以使用它们来可视化和理解您的数据。每个单独的可视化都称为面板。组合后,这些面板构成了一个仪表板。显示仪表板

借助 Grafana
,您可以使用预构建的模板和自定义报告来可视化您的数据。您还可以与其他用户共享您的报告。
警报
Grafana
允许您配置应接收警报的阈值和条件。然后,您可以通过 PagerDuty
、Slack
、Webhooks
和 Gmail
接收通知。
注释
使用 Grafana
,您可以在图表上注释或添加注释。这使您可以在可视化上标记重要点。这些笔记可以作为未来行动的提醒,在您的可视化上标记一个特殊事件,或为入职团队成员提供指导。
Grafana 的优势
以下是使用 Grafana
的好处:
开源
Grafana
是一个完全开源的数据可视化工具。它还拥有一个充满活力的用户社区。Grafana
用户可以创建自己的插件或使用其他用户开发的插件。
对许多集成的原生支持
与 Kibana
不同,Grafana
本身支持与各种数据库的集成。如果 Grafana
没有连接到数据库的本机连接器,您可以创建一个插件,Grafana
可以通过该插件与您的数据库进行交互。
可定制的仪表板
Grafana
以直方图、热图和图表的形式提供了广泛的可视化数据,用于可视化数据。您还可以使用插件创建自定义可视化以满足您的特定需求。
有利于用户管理
Grafana
具有良好的用户管理功能。您可以创建角色和用户以允许您控制和监视访问您的数据和仪表板的用户。
Grafana 的缺点
以下是 Grafana
的限制:
对非技术人员不友好
Grafana
不是面向非技术人员的用户友好型日志分析工具。它需要你编写插件来连接一些数据源,或者得到一些可视化,这需要编码知识。
无法加入数据
Kibana
缺乏聚合或连接来自多个来源的数据的能力,因为它不是自己的数据存储。它无法处理跨多种数据类型的相关性。
不支持机器学习
Grafana
不支持机器学习。这意味着您无法使用 Grafana
构建机器学习模型。
不支持日志搜索和分析
Grafana
不支持查询文本数据,因此您无法使用它来搜索日志。
Knowi
Knowi
是一个数据分析平台,可原生连接到 Elasticsearch
和其他 NoSQL
、SQL
和 REST-API
数据源。它通过数据虚拟化来实现这一点,该技术允许它实时连接到任何数据源,而无需耗时的 ETL
过程。这允许用户快速连接到他们的 Elasticsearch
索引并对其运行分析。Knowi
能够处理非结构化数据,这是目前市场上许多 BI
工具所不具备的功能。
Knowi
成立于 2015
年,如今已为世界上许多公司提供 BI
服务,包括财富 500
强公司和初创公司。
知识特点
以下是 Knowi
提供的最受欢迎的功能:
可视化
Knowi
支持 30
多种可视化,您可以使用这些可视化来直观地呈现您的数据。Knowi
还允许其用户使用 JavaScript
创建自定义可视化,以帮助他们满足特定需求。
与数据源的集成

您可以将 Knowi
与 36
多个结构化和非结构化数据源集成。它还具有与 NoSQL
数据库(包括 Elasticsearch
)集成的本机支持。Knowi
还提供强大的 REST API
集成来连接到 API
并连接来自不同来源的数据。
日志搜索和分析
Knowi
支持对文本数据进行查询,因此您可以使用它来搜索日志。
警报
Knowi 允许您配置警报以在您的数据或业务发生变化时收到通知。它在检测到数据中的配置条件、异常或阈值后实时发送警报。Knowi 可以通过 Slack、Webhooks 或电子邮件发送警报。
基于搜索的分析
Knowi
具有由人工智能提供支持的基于搜索的分析功能。它允许非技术用户用简单的英语输入问题(类似于Google
搜索)并以表格、图表和图形的形式返回答案。Knowi
还在 Slack
和 Microsoft Teams
上引入了基于搜索的分析。
机器学习
您可以使用 Knowi
执行机器学习任务,例如分类、回归分析和时间序列异常检测。它还允许用户通过引导式数据准备向导准备他们的数据、创建和训练机器学习模型。
多源连接
Knowi
允许用户跨 Elasticsearch
索引连接数据,以及包括 NoSQL
、SQL
和 REST-API
在内的不同数据源。它支持 INNER JOIN
、LEFT OUTER JOIN
、FULL OUTER JOIN
、RIGHT OUTER JOIN
和 LOOP JOIN
。
Knowi的优势
以下是用户在使用Knowi
时所享受到的好处:
支持多种集成
Knowi
支持与许多数据源的集成。它还允许用户在不依赖第三方工具的情况下连接到 NoSQL
数据源。
适用于非结构化数据
Knowi
使用数据虚拟化来处理任何类型的数据,包括非结构化数据,而无需考虑底层数据结构。
支持多索引和多源Join
当您达到 Kibana
的局限性时,Knowi
就会发挥作用,主要是因为它无法执行多索引联接或与其他数据库的联接。使用 Knowi
,您可以在同一个可视化小部件或仪表板中可视化来自多个Elasticsearch
索引或其他完全不同的数据源的不同数据类型的数据。
适合非技术用户
Knowi
基于搜索的分析功能使其成为即使非技术用户也能使用的合适工具。他们可以使用自然语言从他们的数据中提问并得到答案,而无需事先了解底层查询语言
用户授权
Knowi
具有开箱即用的用户管理功能。您可以创建角色和用户,然后授予他们访问您的仪表板的权限。这将帮助您控制谁查看您的数据和仪表板。
Knowi的缺点
以下是使用Knowi
的缺点:不支持桌面安装
虽然 Knowi
支持云和内部部署,但它不支持桌面安装。
复杂的用户界面
Knowi
有一个直观的商业用户界面。但是,它的数据工程师用户界面很复杂,用户可能需要一些时间来习惯。
没有“最漂亮”的开箱即用的可视化
Knowi
开箱即用的可视化效果不是很漂亮,但它允许用户在了解 CSS/JavaScript
的情况下对其进行自定义。
不开源
Knowi
是一个商业工具。
Splunk
Splunk
是一个软件平台,可让您轻松收集和管理大量机器生成的数据并搜索其中的特定信息。它用于应用程序管理、业务和 Web 分析、安全性和合规性。
Splunk
是一种可扩展的软件,可索引和搜索系统生成的日志文件,并分析其数据以获得操作智能。Splunk
捕获、关联和索引实时数据。然后根据数据创建可视化、警报、报告和仪表板。这有助于企业识别常见数据模式、识别潜在问题并将智能应用于业务运营。
Splunk
提供了一个类似浏览器的界面,您可以使用它来检查、监控和搜索机器生成的大数据。Splunk
不需要数据库来存储数据,因为它使用索引来存储数据。
Splunk
功能
以下是 Splunk
提供的核心功能:
数据摄取
Splunk
可以从设备和应用程序(如数据库、网站、操作系统、服务器等)收集任何形式的数据(如 XML
、JSON
、CSV
)和非结构化机器数据(如应用程序和 Web
日志)。然后可以根据用户要求将非结构化数据建模为数据结构。
数据索引
Splunk
对收集的数据建立索引并维护相关的元数据,以加快使用不同条件的搜索和查询。
数据搜索
Splunk
具有强大的搜索功能,可让您浏览数据。您可以使用搜索从索引中检索事件、计算指标、搜索特定时间窗口内的特定条件、从数据中识别模式并预测未来趋势。
警报
您可以将 Splunk
配置为在实时和历史搜索的搜索结果满足特定条件时向您发送通知。您还可以配置警报以触发不同的操作,例如将警报信息发送到特定电子邮件地址、在 RSS
源上发布警报以及执行自定义脚本。
仪表盘

Splunk
仪表板由模块面板组成,例如字段、搜索框、图表等。仪表板面板通常连接到已保存的搜索。它们以图表、数据透视表和报告的形式显示来自实时搜索的完整搜索结果和数据。
数据模型
您可以根据专业领域知识将 Splunk
中的索引数据建模为一个或多个数据集。这有助于最终用户轻松导航,因为他们可以分析业务案例,而无需了解 Splunk
使用的搜索处理语言的技术细节。
Splunk 的优势
以下是 Splunk
提供的好处:
强大的搜索功能
Splunk
具有强大的搜索功能,可帮助您轻松快速地搜索日志中所需的数据。
集成机器学习
Splunk
具有内置的机器学习功能,因此您可以将机器学习应用于数据流,而无需依赖第三方工具或编写代码。
预配置模块
Splunk
附带一个预配置模块库,可帮助您从数据中快速获得洞察力。这些模块是仪表板、指标和警报的集合,可为您提供最需要的即时洞察。
Splunk 的缺点
以下是使用 Splunk
的缺点:
非常贵 与其他日志数据分析工具相比,
Splunk
是一个非常昂贵的平台,尤其是在管理大量数据时。难以优化搜索
Splunk
用户优化搜索以提高速度可能很困难且不切实际。
陡峭的学习曲线
Splunk
的学习曲线非常陡峭,因此,您可能会花太多时间学习如何使用该工具。
结论
Kibana
是一个数据可视化工具,可以帮助您将 Elasticsearch
集群生成的日志数据可视化。Kibana
与 Elasticsearch
和 Logstash
一起构成了 ELK
堆栈。因此,Kibana
与 Elasticsearch
紧密集成。Kibana
具有强大的数据可视化功能,可以帮助您将日志数据可视化。它还使您能够创建自定义可视化。
虽然 Kibana
提供了强大的日志数据可视化功能,但它也有很多限制,最大的限制是它只能用于可视化 Elasticsearch
数据。因此,如果您的日志数据存储在另一个数据库而不是 Elasticsearch
中,您将不得不寻找 Kibana
的替代工具来进行数据可视化。
Kibana
有很多替代品,但最重要的是 Grafana
、Knowi
和 Splunk
。
Grafana
是一个开源工具,适用于数据可视化。它主要由 InfluxDB
、Graphite
和Elasticsearch
使用。Grafana
允许用户从头开始创建自己的插件,并使用它们来执行与数据源的集成。它有一个强大的警报系统,并允许用户注释他们的图表。
Knowi
是一款功能强大的 BI
工具,可让您可视化数据并缩短原始数据与操作之间的距离。它可以连接到任何数据源,包括 NoSQL
数据库,而无需依赖第三方工具并连接来自多个源的数据。它支持不同类型的可视化,并使用户能够创建自定义可视化。Knowi
是非技术 BI
用户的好工具,因为其基于搜索的分析功能允许用户以自然语言提问并以图表和图形的形式获得响应。
Splunk
是一个 BI
平台,您可以使用它来收集和管理大量机器生成的数据并搜索其中的特定信息。Splunk
可以帮助您收集任何类型的数据并配置警报以在您的搜索结果满足特定条件时获得通知。它为您的数据编制索引,以便在数据中进行快速搜索。Splunk
还带有内置的机器学习功能,允许您在不使用第三方工具的情况下将机器学习应用于原始数据。
5.3 参考资料
参考地址 [1]
参考资料
参考地址: https://medium.com/geekculture/kibana-alternatives-c697aef14e00