本文共 1287 字,大约阅读时间需要 4 分钟。
SigNoz 是一个开源的可观测性平台,旨在帮助开发者以最小的精力实现可观测性目标。它使用 React 和 Go 开发,专注于简化可观测性配置和数据采集。
SigNoz 的架构将多个关键组件整合在一起,提供了一个可扩展且松散耦合的系统。这些组件包括 OpenTelemetry Collector、Apache Kafka 和 Apache Druid。
OpenTelemetry Collector 负责收集可观测性数据,支持 Jaeger、Zipkin 和 OpenConsensus 等标准格式。收集的数据通过 Kafka 进行流处理,并最终存储在 Druid 中。Druid 擅长对这些数据进行实时分析和长期存储。
SigNoz 的查询服务能够根据需求从 Druid 中检索数据,并通过 React 前端生成直观的可视化图表,帮助用户更好地理解应用性能和状态。
SigNoz 的组件是松散耦合的,适合在 Kubernetes 或 Docker Compose 上运行。以下是基于 Kubernetes 安装的示例:
git clone https://github.com/SigNoz/signoz.gitcd signozhelm dependency updatehelm install signoz deploy/kubernetes/platformkubectl create namespace platformhelm -n platform install signoz deploy/kubernetes/platformkubectl -n platform apply -Rf deploy/kubernetes/jobskubectl -n platform apply -f deploy/kubernetes/otel-collector
安装完成后,可以通过 `kubectl port-forward` 命令访问 SigNoz 的用户界面。
为了展示可观测性数据,需要一个能够生成可观测性数据的应用。HotROD 是一个常用的示例应用,可以通过以下命令安装:
kubectl create namespace sample-applicationkubectl -n sample-application apply -Rf sample-apps/hotrod/
在 SigNoz 仪表盘上,你可以查看应用的指标、追踪数据以及资源使用情况。指标页面显示最近 15 分钟的延迟、吞吐量和错误率等关键指标。
追踪页面按时间顺序列出了每个请求的高层细节,支持下探模式,帮助开发者深入分析请求链。
SigNoz 还提供了用量资源管理器,帮助开发者规划数据存储时间,避免不必要的存储成本。
SigNoz 支持 OpenTelemetry 仪表库,支持多种编程语言的自动和手动度量。通过配置适当的度量库,可以向 SigNoz 发送可观测性数据。
要了解更多 SigNoz 的功能和使用方法,可以参考其官方文档、社区和 GitHub 仓库。
转载地址:http://zyxl.baihongyu.com/