76

0

SigNoz

SigNoz 是一个开源 APM。它帮助开发人员监控他们的应用程序和解决问题,是 DataDog、NewRelic 等的开源替代品。🔥 🖥.👉开源应用程序性能监控 (APM) 和可观察性工具

SigNoz-logo

监视你的应用,并可排查已部署应用中的问题,这是一个开源的可替代DataDog、NewRelic的方案

Downloads GitHub issues tweet

SigNoz帮助开发人员监控应用并排查已部署应用中的问题。SigNoz使用分布式跟踪来增加软件技术栈的可见性。

👉 你能看到一些性能矩阵,服务、外部api调用、每个终端(endpoint)的p99延迟和错误率。

👉 通过准确的跟踪来确定是什么引起了问题,并且可以看到每个独立请求的帧图(framegraph),这样你就能找到根本原因。

SigNoz Feature



加入我们的Slack社区

Slack 跟我们打声招呼👋



功能:

  • 应用总览矩阵(matrix),如RPS, 50/90/99百分比延迟率,错误率
  • 应用中最慢的终端(endpoint)
  • 查看准确的网络请求跟踪来分析下游服务问题、慢数据库查询问题 及调用第三方服务如支付网关的问题
  • 通过服务名称、操作、延迟、错误、标签来过滤跟踪
  • 对过滤后的跟踪数据做矩阵聚合。比如,获得过滤条件 customer_type: gold or deployment_version: v2 or external_call: paypal的错误率和p99延迟
  • 整合的矩阵和跟踪用户界面。不需要像从Prometheus切换到Jaeger才能调试问题



为何选择SigNoz?

作为开发人员,我们发现依赖闭源的SaaS厂商提供的每个小功能有些麻烦,闭源厂商通常会给你一份巨额月付账单,但不提供足够的透明度,你不知道你为哪些功能付费。

我们想做一个自服务的开源版本的工具,类似于DataDog和NewRelic,用于那些对客户数据流入第三方有隐私和安全担忧的厂商。

开源也让你对配置、采样和上线率有完整的控制,你可以在SigNoz基础上构建模块来满足特定的商业需求。

语言支持

我们支持OpenTelemetry库,你可以使用它来装备应用。也就是说SigNoz支持任何支持OpenTelemetry库的框架和语言。 主要支持语言包括:

  • Java
  • Python
  • NodeJS
  • Go

你可以在这个文档里找到完整的语言列表 - https://opentelemetry.io/docs/



入门

使用Docker部署

请按照这里列出的步骤使用Docker来安装

如果你遇到任何问题,这个排查指南会对你有帮助。

 

使用Helm在Kubernetes上部署

请跟着这里的步骤使用helm charts安装



Comparisons to Familiar Tools

SigNoz vs Prometheus

如果你只是需要矩阵,那Prometheus是不错的,但如果你要无缝的在矩阵和跟踪之间切换,那目前把Prometheus & Jaeger串起来的体验并不好。

我们的目标是在矩阵和跟踪之间提供整合的UI - 类似于Datadog这样的Saas厂提供的方案,能够对跟踪进行过滤和聚合,这是目前Jaeger缺失的功能。

 

SigNoz vs Jaeger

Jaeger只做分布式跟踪,SigNoz则是做了矩阵和跟踪两块,我们在计划中也有日志管理功能。

并且SigNoz有一些Jaeger没有的高级功能:

  • Jaegar UI无法在跟踪或过滤的跟踪基础上展示矩阵。
  • Jaeger不能在过滤的跟踪上进行聚合操作。例如,拥有tag为customer_type='premium'的所有请求的p99延迟,在SigNoz里这很容易实现。



贡献

我们 ❤️ 任何贡献无论大小。 请阅读 CONTRIBUTING.md 然后开始给Signoz做贡献。

还不清楚怎么开始? 只需在slack社区#contributing频道里ping我们。



文档

文档在这里:https://signoz.io/docs/. 如果你觉得有任何不清楚或者有文档缺失,请在Github里发一个问题,并使用标签 documentation 或者在社区stack频道里告诉我们。



社区

加入slack community,了解更多关于分布式跟踪、可观察性(observability),以及SigNoz。同时与其他用户和贡献者一起交流。

如果你有任何想法、问题或者反馈,请在Github Discussions分享给我们。

最后,感谢我们这些优秀的贡献者们。