电子说
最近两年,可观测性比较火,各种大会、沙龙中经常能见到这类主题,国内也有公司专门从事可观测性相关的业务,许多公司正在采用数据可观测性工具预防线上故障、及时排除数据中心的问题,也有公司采用数据可观测性工具构建良好的可观测性以开展混沌工程。
数据可观察性不仅仅是监控和记录、收集指标,而且具有洞察力,能够随着时间跟踪指标,解释、理解跟踪和监视的数据以及在各种数据源之间创建的关系。而数据可观察性工具允许组织通过使用集成的、单一来源的真实数据存储来解决问题。这些工具使用自动化和人工智能技术来筛选大量看似不同的数据流,对其进行分析,并将结果集中并集成到一个统一的洞察数据库(能揭示问题的本质、真相)中。
随着不同数据源数量的增长,企业必须提供其环境的总体视图,并支持更快、更自动化的解决方案来识别和修复问题。今天数据可观察性工具使企业能够积极主动,而昨天,许多企业往往处在被动之中。
为什么选择数据可观测性开源工具?
企业有很多商业数据可观测性工具可供选择。商业工具在可伸缩性、自动化和支持方面具有一些关键优势。然而,数据可观测性的开源工具允许团队在没有前期购买(获得使用许可)成本的情况下试验数据可观察性功能,还可以更好地补充现有的数据工程工作流和工具。许多公司都有高度定制的可观测性需求,那么结合内部开发和开源资源通常是最容易满足这些需求的。
开源平台往往具有比商业选项更灵活的体系结构,但开源平台可能还需要更深入的业务知识和技能,以便随着时间的推移定制和发展平台。开源工具还允许企业试验基本的数据可观察性特性,以了解哪些功能提供了最大的价值,以及它们如何补充现有的工作流。随着时间的推移,人们更喜欢探索和构建自己的数据可观测性实践,也进一步证明了:业务变化的需求和开源解决方案比商业工具提供了更多的灵活性。
但是,单一的开源数据可观测性工具通常不具备对企业数据系统实现完整可观测性所需的所有功能。一些工具有助于日志和度量数据收集,而其他工具则专门用于日志和事件跟踪。类似地,有些工具擅长可视化,而另一些工具则有效地存储事件和度量数据。企业通常必须结合使用这些工具中的一些来获得可观测性。
以下是该领域专家所强调的六个用于设置数据可观测性功能的顶级开源工具。这些开源工具都支持数据可观测性实践的关键方面,如日志和度量数据的收集、事件跟踪或可观测性数据的可视化。这些工具也有支持社区,借助社区来帮助实现这些工具并长期维护它们。我们可以将这些工具视为组件,然后我们根据需要,结合多个工具来实现工作数据可观测性实践。1. Fluentd
站点: https://www.fluentd.org/
文档: https://docs.fluentd.org/
开源代码: https://github.com/fluent
Fluentd是一个开源的数据收集器,它还可以作为统一的日志记录层,以简化数据收集。日志层为到多个数据源的连接提供了一个抽象层。它支持与数据源和流媒体服务的500多个集成,所以当一个组织在许多不同的领域进行数据收集,管理员需要查看所有这些领域的数据以进行监控和优化时,它非常有用。 它使用可插拔的架构,允许团队将工具连接到新的资源。性能是其设计目标的关键标准。它可以在每个核心上每秒处理大约13000个事件,仅使用30- 40mb的内存。它还广泛使用JSON格式来简化收集、过滤、缓冲和输出日志的过程。
2. Loki
https://github.com/grafana/loki
https://grafana.com/docs/loki/
口号:like Prometheus, but for logs
Loki是一个通用日志聚合系统,它简化了各种日志记录过程,包括数据可观测性。它有助于简化跨各种应用程序、数据工具和云服务存储和查询日志的各种流程。 一个关键特性是能够摄取任何格式的日志。它可以将所有数据存储到持久对象存储中,在需要时可以处理pb级的数据。Loki还可以将来自Prometheus、Grafana和Kubernetes等不同来源的指标引入到普通用户体验中。它是Opstrace建立在Vector基础上并与Vector合作的另一个数据可观测性工具。 Grafana实验室负责维护项目,并为企业提供商业支持。
3. OpenTelemetry
https://github.com/open-telemetry
https://opentelemetry.io/docs/
OpenTelemetry(简写:OTel)提供了广泛的数据捕获、聚合和分析功能集合。它源于OpenCensus和OpenTracing的合并。它拥有一个由微软、谷歌、Dynatrace等公司支持的大型社区。尽管它开始于应用程序、性能和安全领域,但同样的组件也可以应用于数据可观测性。 OpenTelemetry使入门变得快速简单。数据工程师和开发人员可以使用系统提供的自动检测包将检测集成到他们的应用程序和数据管道中。这些工具帮助企业以与供应商无关的格式收集、处理和发布数据。这使企业不必支持和管理多种可观测性数据格式。 OpenTelemetry对于需要支持多种语言和框架的数据工程团队很有帮助。它使企业能够使用统一的规范来传输遥测数据,从而降低应用开销。 4. Opstrace
https://gitlab.com/gitlab-org/opstrace
https://opstrace.com/docs
Opstrace是一个通用的可观测性平台,也支持数据可观测性。它包括全面的安全功能、警报管理和收集集成从其他工具和服务收集数据。 Opstrace使入门变得非常简单。Opstrace集群可以在几分钟内建立并运行。如果企业已经建立了Prometheus,就会变得更简单。 企业可以在其谷歌Cloud或AWS帐户中安装Opstrace,将其用作功能齐全的基于云的可观测平台。与传输层安全(TLS)证书的集成简化了读写数据的安全配置。 5. Prometheus
https://github.com/prometheus
https://prometheus.io/docs/introduction/overview/
Prometheus是一个开源的监控工具,用于实现度量和触发警报,这对数据可观察性很有用。它包括分析时间序列数据并将其转换为基于各种标准的派生时间序列的重要功能。它带有PromQL查询语言,用于动态生成图形、表格和警报。它还支持各种可视化工具。
当企业已经安装了Prometheus时,安装Opstrace等其他工具就比较简单了。企业只需要对Prometheus配置文件做一些小的修改,就可以将数据从Prometheus传输到Opstrace集群。 6. Vector
https://github.com/vectordotdev/vector
https://vector.dev/docs/
Vector是一个帮助企业创建日志和分析数据管道的工具,帮助收集、处理和分配数据应用程序的跨度、轨迹、日志和指标到他们所选择的工具。
它使用基于有向无环图(Directed Acycling Graph,DAG)的方法来促进数据从一个阶段到另一个阶段的流动和转换。企业可使用TOML、YAML或JSON文件等格式定义DAG。矢量重映射语言(VRL)可以帮助转换可观察性事件,并为进一步过滤和路由事件设置标准。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !