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

前言

我已经在我的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等的一些列的聚合,展现与治理。他是一个可观测体系平台的汇合,有着丰盛的能力。在本片中介绍到的仅仅是他的能力的一部分,有趣味的敌人能够本人去本地装一下体验一下。

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据