Hello folks,我是 Luga,今天我们来分享一下与云原生体系有关的话题- 云原生可观测性平台-SigNoz。 作为一个“核心”体系,可观测性在监控分布式微服务应用程序和云基础设施的可见性和控制自动化层面具有举足轻重的意义。
— 01—
可观测性背景概述
可观察性工具或平台应该具备哪些关键功能才能快速解决问题。在我们看来,好的可观察性工具应该具备如下特性:
1、开箱即用的应用程序指标
2、从指标到跟踪以找出某些问题发生的原因的方法
3、可观察性的三大支柱:指标、跟踪和日志平台集成性
4、根据不同的标签和过滤器过滤追踪
5、能够为警报设置动态阈值
6、若商业化,定价尽可能透明
在实际的项目开发活动中,随着云原生生态的日渐成熟,越来越多的企业开始将自身的业务迁移至云生态环境下,然而,随之而来的可观测性成为推动检测体系的一大难题。
我们发现:虽然有像 Prometheus 和 Jaeger 这样的开源工具比比皆是,但它们并没有像 SaaS 产品那样提供出色的用户体验。例如,在一家企业中,可观察性的三大支柱之一的日志收集可能使用的是日志易系统,指标获取及监控则用 Zabbix 或 Prometheus ,而可观测性则可能采用 Jaeger、Skywalking 或商业产品等。这时,你会(X)疼,头疼的是:一旦遇到业务报障,我艹,三个不同的系统频繁切换,如果你想同时要指标和跟踪,这是不可能的,因为 Prometheus 指标和 Jaeger 跟踪有不同的格式。
What to do? Lie flat 或者大部分来一句:Fuck !
...
还不很简单嘛,喊保安,Where is 保安 ?~
— 02—
什么是 SigNoz?
I am here! DataDog 绝对满足你的一切幻想、需求、嗜好,如果大家使用过的话,就会深有体会。
DataDog 和 NewRelic 等 SaaS 工具在市场上的分量还是不容小觑的,毕竟,混迹“江湖”好多年,尤其在以下许多方面做得更好:
1、易于设置和入门
2、提供开箱即用的应用程序指标
3、提供指标和跟踪之间的关联
虽然,产品不错,功能也很屌,但其存在以下问题,尤其是针对中国人民来说,具体:
1、水土不服,这在今天的微服务架构中没有意义。任何在一个月内运行超过 8 小时的节点都会被收费。因此,不适合高的工作负载。
2、一个字“贵“。目前,市面上以 5/100 美元的指标收取自定义指标费用,确实有点坑爹。
3、场景受限,毕竟,仅适用于云,因此不适合担心将数据发送到其基础设施之外的公司。
4、定制性差,对于任何小功能的更新,我们都依赖于他们的路线图。我们认为这是对开发人员使用的产品的不必要限制,开发人员使用的产品应该是可扩展的。
还让人活不?
此时,一种名叫 “SigNoz” 开源应用程序性能监控工具闪亮登场,F 姐激动的笑了起来...
SigNoz 是一种开源应用程序性能监控工具,可帮助我们监控应用程序并解决问题。SigNoz 使用分布式跟踪来了解我们所构建的软件堆栈。
使用 SigNoz,我们可以执行以下操作:
1、监控应用程序指标,例如延迟、每秒请求数、错误率
2、监控基础架构指标,例如 CPU 利用率或内存使用率
3、跨服务跟踪用户请求
4、设置指标警报
5、通过转到导致问题的确切痕迹来找到问题的根本原因
6、查看各个请求跟踪的详细火焰图
是不是看起来很不错的样子,关键特性使 SigNoz 大大优于当前的开源产品并成为 DataDog 的绝佳替代品。相比 Datadog,绝对有碾压式优势,具体如下所示:
1、单一管理平台下的指标、跟踪和日志
2、遥测信号的相关性
3、开箱即用的应用程序指标
4、指标和跟踪之间的无缝流动
5、基于标签过滤
6、过滤跟踪的自定义聚合
7、详细的火焰图和甘特图
8、基础设施仪表板
9、异常监控
10、透明的使用数据
— 03—
为什么使用 SigNoz?
市面上类似的工具那么多,为何却钟情与这一个,无非如下几个核心原因,具体:
1、开源:由于 SigNoz 是完全开源的,我们可以在项目中试用它,而无需担心合规性或安全性。我们可以访问其产品路线图并可以直接支持其开发。它可以免费使用这一事实对于许多刚刚开始涉足可观测性和监控领域的小型初创公司来说是一个推动因素。
2、易于使用的用户界面:作为开源工具,SigNoz 的用户界面感觉非常流畅和先进。我们所需要的一切都可以轻松访问,只需单击几下即可深入研究问题或事件。
3、强大的过滤和聚合选项:SigNoz 为跟踪和指标提供了非常强大的过滤和聚合体验。它与市场上的许多付费工具不相上下。
4、增强的灵活性和隐私:由于 SigNoz 是开源的,我们可以自行托管或2开,因此我们可以完全控制应用程序数据,而无需担心 GDPR 或 CPRA 等隐私法。
5、最为至关紧要的:SigNoz 将日志(Log)、指标(Metrics)以及追踪( Tracing)无缝整合,作为一个统一的入口进行维护,使得使用较为便捷。
— 04—
战略意义
作为一个全栈开源 APM,SigNoz 本机构建以支持 OpenTelemetry。在 SigNoz,我们相信 OpenTelemetry 将成为检测云原生应用程序的世界标准。
SigNoz 支持 OpenTelemetry 语义约定,并为 OpenTelemetry 支持的所有三种不同类型的信号(日志管理正在积极开发中)提供可视化。
将遥测数据发送到 SigNoz 的步骤包括:
1、使用特定语言的 OpenTelemetry 库检测应用程序代码
2、配置 OpenTelemetry Exporters 以将数据发送到 SigNoz
3、使用 SigNoz 仪表板可视化和分析遥测数据
如下为一张描述 OpenTelemetry 如何适合应用程序和 SigNoz 的拓扑结构图,具体参考:
越来越多的公司正在转向微服务和无服务器等复杂架构,而那些确实发现跨大量分布式组件跟踪应用程序性能和健康状况的公司变得更加复杂。依靠传统、分散的平台 [SNMP 监控和 tracedump 来了解我们的应用程序中发生的事情的日子已经一去不复返了。
如果处于这种情况,我们需要一个复杂、足智多谋的应用程序性能监控 (APM) 工具,它将监控的多个方面(如检测、指标收集、仪表板和分析)整合到一个易于使用的平台中,或许 SigNoz 是一种最佳的开源 APM 工具首选,围绕可观察性的三大支柱紧密构建,在一个地方提供强大的指标和跟踪,并且可以轻松自托管,因此可以完全控制我们的操作。
更多关于 SigNoz 的技术文章,将在后续文章中讲述,谢谢!
Adiós !