logs-analyzer/signoz/README.zh-cn.md
2024-09-02 22:47:30 +03:00

9.0 KiB
Raw Permalink Blame History

SigNoz-logo

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

Downloads GitHub issues tweet

文档中文ReadMe德文ReadMe葡萄牙语ReadMeSlack 社区Twitter

SigNoz 帮助开发人员监控应用并排查已部署应用的问题。你可以使用 SigNoz 实现如下能力:

👉 在同一块面板上,可视化 Metrics, Traces 和 Logs 内容。

👉 你可以关注服务的 p99 延迟和错误率, 包括外部 API 调用和个别的端点。

👉 你可以找到问题的根因,通过提取相关问题的 traces 日志、单独查看请求 traces 的火焰图详情。

👉 执行 trace 数据聚合,以获取业务相关的 metrics

👉 对日志过滤和查询,通过日志的属性建立看板和告警

👉 通过 PythonjavaRuby 和 Javascript 自动记录异常

👉 轻松的自定义查询和设置告警

应用 Metrics 展示

application_metrics

分布式追踪

distributed_tracing_2 2 distributed_tracing_1

日志管理

logs_management

基础设施监控

infrastructure_monitoring

异常监控

exceptions_light

告警

alerts_management



加入我们 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 会在添加部分索引后到达最大上限。

  • 相较于 SigNozLoki 在搜索大量数据下既困难又缓慢。

我们已经发布了基准测试对比 Loki 和 SigNoz 性能。请点击 这里



贡献

我们 ❤️ 你的贡献,无论大小。 请先阅读 CONTRIBUTING.md 再开始给 SigNoz 做贡献。

如果你不知道如何开始? 只需要在 slack 社区 通过 #contributing 频道联系我们。

项目维护人员

后端

前端

运维开发



文档

你可以通过 https://signoz.io/docs/ 找到相关文档。如果你需要阐述问题或者发现一些确实的事件, 通过标签为 documentation 提交 Github 问题。或者通过 slack 社区频道。



社区

加入 slack 社区 去了解更多关于分布式追踪、可观测性系统 。或者与 SigNoz 其他用户和贡献者交流。

如果你有任何想法、问题、或者任何反馈, 请通过 Github Discussions 分享。

不管怎么样,感谢这个项目的所有贡献者!