9.0 KiB
监控你的应用,并且可排查已部署应用的问题,这是一个可替代 DataDog、NewRelic 的开源方案
文档 • 中文ReadMe • 德文ReadMe • 葡萄牙语ReadMe • Slack 社区 • Twitter
SigNoz 帮助开发人员监控应用并排查已部署应用的问题。你可以使用 SigNoz 实现如下能力:
👉 在同一块面板上,可视化 Metrics, Traces 和 Logs 内容。
👉 你可以关注服务的 p99 延迟和错误率, 包括外部 API 调用和个别的端点。
👉 你可以找到问题的根因,通过提取相关问题的 traces 日志、单独查看请求 traces 的火焰图详情。
👉 执行 trace 数据聚合,以获取业务相关的 metrics
👉 对日志过滤和查询,通过日志的属性建立看板和告警
👉 通过 Python,java,Ruby 和 Javascript 自动记录异常
👉 轻松的自定义查询和设置告警
应用 Metrics 展示
分布式追踪
日志管理
基础设施监控
异常监控
告警
加入我们 Slack 社区
来 Slack 和我们打招呼吧 👋
特性:
-
为 metrics, traces and logs 制定统一的 UI。 无需切换 Prometheus 到 Jaeger 去查找问题,也无需使用想 Elastic 这样的日志工具分开你的 metrics 和 traces
-
默认统计应用的 metrics 数据,像 RPS (每秒请求数), 50th/90th/99th 的分位数延迟数据,还有相关的错误率
-
找到应用中最慢的端点
-
查看准确的请求跟踪数据,找到下游服务的问题了,比如 DB 慢查询,或者调用第三方的支付网关等
-
通过 服务名、操作方式、延迟、错误、标签/注释 过滤 traces 数据
-
通过聚合 trace 数据而获得业务相关的 metrics。 比如你可以通过
customer_type: gold
或者deployment_version: v2
或者external_call: paypal
获取错误率和 P99 延迟数据 -
原生支持 OpenTelemetry 日志,高级日志查询,自动收集 k8s 相关日志
-
快如闪电的日志分析 (Logs Perf. Benchmark)
-
可视化点到点的基础设施性能,提取有所有类型机器的 metrics 数据
-
轻易自定义告警查询
为什么使用 SigNoz?
作为开发者, 我们发现 SaaS 厂商对一些大家想要的小功能都是闭源的,这种行为真的让人有点恼火。 闭源厂商还会在月底给你一张没有明细的巨额账单。
我们想做一个自托管并且可开源的工具,像 DataDog 和 NewRelic 那样, 为那些担心数据隐私和安全的公司提供第三方服务。
作为开源的项目,你完全可以自己掌控你的配置、样本和更新。你同样可以基于 SigNoz 拓展特定的业务模块。
支持的编程语言:
我们支持 OpenTelemetry。作为一个观测你应用的库文件。所以任何 OpenTelemetry 支持的框架和语言,对于 SigNoz 也同样支持。 一些主要支持的语言如下:
- Java
- Python
- NodeJS
- Go
- PHP
- .NET
- Ruby
- Elixir
- Rust
你可以在这里找到全部支持的语言列表 - https://opentelemetry.io/docs/
让我们开始吧
使用 Docker 部署
请一步步跟随 这里 通过 docker 来安装。
这个 排障说明书 可以帮助你解决碰到的问题。
使用 Helm 在 Kubernetes 部署
请一步步跟随 这里 通过 helm 来安装
比较相似的工具
SigNoz vs Prometheus
Prometheus 是一个针对 metrics 监控的强大工具。但是如果你想无缝的切换 metrics 和 traces 查询,你当前大概率需要在 Prometheus 和 Jaeger 之间切换。
我们的目标是提供一个客户观测 metrics 和 traces 整合的 UI。就像 SaaS 供应商 DataDog,它提供很多 jaeger 缺失的功能,比如针对 traces 过滤功能和聚合功能。
SigNoz vs Jaeger
Jaeger 仅仅是一个分布式追踪系统。 但是 SigNoz 可以提供 metrics, traces 和 logs 所有的观测。
而且, SigNoz 相较于 Jaeger 拥有更对的高级功能:
-
Jaegar UI 不能提供任何基于 traces 的 metrics 查询和过滤。
-
Jaeger 不能针对过滤的 traces 做聚合。 比如, p99 延迟的请求有个标签是 customer_type='premium'。 而这些在 SigNoz 可以轻松做到。
SigNoz vs Elastic
-
SigNoz 的日志管理是基于 ClickHouse 实现的,可以使日志的聚合更加高效,因为它是基于 OLAP 的数据仓储。
-
与 Elastic 相比,可以节省 50% 的资源成本
我们已经公布了 Elastic 和 SigNoz 的性能对比。 请点击 这里
SigNoz vs Loki
-
SigNoz 支持大容量高基数的聚合,但是 loki 是不支持的。
-
SigNoz 支持索引的高基数查询,并且对索引没有数量限制,而 Loki 会在添加部分索引后到达最大上限。
-
相较于 SigNoz,Loki 在搜索大量数据下既困难又缓慢。
我们已经发布了基准测试对比 Loki 和 SigNoz 性能。请点击 这里
贡献
我们 ❤️ 你的贡献,无论大小。 请先阅读 CONTRIBUTING.md 再开始给 SigNoz 做贡献。
如果你不知道如何开始? 只需要在 slack 社区 通过 #contributing
频道联系我们。
项目维护人员
后端
前端
运维开发
文档
你可以通过 https://signoz.io/docs/ 找到相关文档。如果你需要阐述问题或者发现一些确实的事件, 通过标签为 documentation
提交 Github 问题。或者通过 slack 社区频道。
社区
加入 slack 社区 去了解更多关于分布式追踪、可观测性系统 。或者与 SigNoz 其他用户和贡献者交流。
如果你有任何想法、问题、或者任何反馈, 请通过 Github Discussions 分享。
不管怎么样,感谢这个项目的所有贡献者!