关于开源:开源可观测性平台SigNoz

46次阅读

共计 1732 个字符,预计需要花费 5 分钟才能阅读完成。

前言

我已经在我的 OpenTelemetry 系列文章中介绍了应用 OpenTelemetry 社区提供的一系列工具和来实现可观测性的能力。然而从理论的应用角度来说,每一个环节都不是简略的配置就可能释怀在生产环境应用的。包含数据的大量产生后的并发解决,collector的多实例部署,数据的存储问题等等。这些都没法间接在 OpenTelemetry 社区找到现成的解决方案。对于应用的人来说须要的是一个残缺的解决方案,而不是一个一个的开源我的项目。明天就在这里介绍一个开源的性能监控平台SigNoz

SigNoz 介绍

SigNoz是一个开源的性能监控工具,能够用来监控应用程序。SigNoz应用分布式跟踪取得可见性。

SigNoz在很多中央是基于 OpenTelemetry 体系的,他的 collector 是基于 OpenTelemetry Collector 的,他的客户端采样形式也是基于OpenTelemetry

从架构图咱们能够看到 SigNoz 基于 OpenTelemetry Collector 研发了本人的 collector,这个collector 能够接管 app 的数据上报,也能接管 OpenTelemetry Collector 的二次散发。SigNoz的存储应用的 ClickHouse,后端 API 和告警服务应用的Golang 开发,前端则应用的是React

SigNoz 应用

为了体验 SigNoz 提供的能力,咱们就先来本地进行一下装置。

本地装置

本地装置有多种形式,然而在此处倡议应用 docker 来进行装置。装置前须要确保 3301 4317 4318 三个端口是可用的。
首先,执行:

git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/

signoz 我的项目 clone 下来并进入 deploy 目录。

而后执行:

docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d

装置实现后能够看到如下的一系列镜像:

拜访 http://localhost:3301/ 就可能看到页面,之后发动注册

实现登陆:

应用

SigNoz体系曾经搭建实现,当初咱们就可能开始进行应用了。首先咱们须要接入 OpenTelemetry 的 SDK,这个在我的 OpenTelemetry 系列文章中有提到过,这里就不赘述了。大家能够选用本人的语言匹配的 SDK。在此处我应用的是 OpenTelemetry Java Instrumentation 即 Java Agent 模式。

我在此应用了两个基于 SpringBoot 的测试利用:spring-providerspring-receiver。这两个利用仅仅蕴含了一般的申请和OpenFeign 申请。

Trace 看板中,咱们自定义筛选条件,自定义图标的选项来查看不同维度的 Trace 数据,在下方的列表页中抉择一行点进去会跳转到 Trace 的详情页,在详情页中能够看到链路的具体调用信息,Span 等维度的数据。

Service 中找到一个具体的服务进入其详情页就能看到一些 Metrics 的数据:

在 metrics 的图表中会有 99 线,95 线等维度。

Logs 中能够查看服务的日志信息,目前 Logging 维度在 OpenTelemetry 中还未齐全的 GA,配套的 collector 等都还在疾速迭代中,因而 SigNoz 的这部分也还是在 Beta 中。

ServiceMap 中能够看到服务的调用图谱

SigNoz也提供了告警的能力,在 Alert 面板中能够配置不同类型的告警

在这里配置一个 Trace 的告警须要有如下的三个步骤:

  1. 应用数据库查问语句定义度量指标
  2. 定义告警条件
  3. 其余告警配置

配置结束后保留就可能看到配置的告警了。

总结

总的来说相比本人搭建 OpenTelemetry 的整个采集体系,而后别离用 jaeger 来查看 trace,用 prometheus 来查问 metrics,SigNoz整合了 TraceMetricsLogging 等的一些列的聚合,展现与治理。他是一个可观测体系平台的汇合,有着丰盛的能力。在本片中介绍到的仅仅是他的能力的一部分,有趣味的敌人能够本人去本地装一下体验一下。

正文完
 0