SuperAPI AI 工具集

signoz

部署与运维

查看项目

更新于 10-15 15:06

技能介绍

SigNoz 是一个开源可观测性平台,将链路追踪、指标和日志统一在一个由 ClickHouse 驱动的单一后端中。它原生构建于 OpenTelemetry 之上,提供 APM 仪表盘、带火焰图的分布式追踪、带管道的日志管理、自定义指标、覆盖所有信号类型的告警以及异常监控,且无厂商锁定。SigNoz 可以以托管云服务方式使用,也可通过 Docker 或 Kubernetes 自托管。

用途

该技能在以下场景触发:用户想要设置或配置 SigNoz(云或自托管);需要为应用埋点以向 SigNoz 发送链路追踪、日志或指标;询问 SigNoz 的 OpenTelemetry Collector 配置;想要在 SigNoz 中创建仪表盘、面板或可视化;需要配置告警(基于指标、日志、链路追踪或异常);询问 SigNoz 查询构建器语法、聚合或过滤器;想要监控异常或将链路追踪与日志关联;正在从 Datadog、Grafana、New Relic 或 ELK 迁移到 SigNoz。以下场景不应触发:无 SigNoz 上下文的通用可观测性概念;不以 SigNoz 为后端的 OpenTelemetry 埋点。

主要能力

SigNoz 的数据模型包含三大支柱:链路追踪(Traces),即分布式请求流,可视化为火焰图和甘特图,每个追踪包含带属性、事件和状态码的 span;指标(Metrics),来自应用埋点(p99 延迟、错误率、Apdex)和基础设施(通过 hostmetrics receiver 获取 CPU、内存、磁盘、网络)的时序数据;日志(Logs),通过 OTel SDK、FluentBit、Logstash 或基于文件的采集方式摄入的结构化日志记录,经过日志管道进行解析和丰富。三类信号相互关联:链路追踪通过 trace ID 关联日志,异常嵌入在 span 中。查询构建器提供统一界面,用于对所有信号类型进行过滤、聚合和可视化。

平台提供 APM 仪表盘、分布式追踪火焰图、日志管道(可解析、转换、丰富、丢弃日志或在存储前脱敏 PII)、自定义指标、告警(六种类型:基于指标、基于日志、基于追踪、基于异常、基于异常监控、Apdex 告警)以及异常监控。通知渠道包括 Slack、PagerDuty、邮件和 webhook,支持路由策略和维护窗口,并提供 Terraform provider 用于告警的基础设施即代码管理。

使用方式

SigNoz Cloud:在 https://signoz.io/teams/ 注册获取云实例,将获得区域端点(如 ingest.us.signoz.cloud:443)和用于鉴权的 SIGNOZ_INGESTION_KEY。

自托管部署:

Docker Standalone(本地/开发最快) git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/ docker compose -f docker/clickhouse-setup/docker-compose.yaml up -d

Kubernetes via Helm helm repo add signoz https://charts.signoz.io helm install my-release signoz/signoz

自托管支持 Docker Standalone、Docker Swarm、Kubernetes(AWS/GCP/Azure/DigitalOcean/OpenShift)以及原生 Linux 安装。

环境变量(云) SIGNOZ_INGESTION_KEY=your-ingestion-key OTEL_EXPORTER_OTLP_ENDPOINT=https://ingest.<region>.signoz.cloud:443 OTEL_EXPORTER_OTLP_HEADERS=signoz-ingestion-key=<your-ingestion-key>

所有遥测数据(traces、metrics、logs)流经 OTel Collector,通过 OTLP 接收(gRPC 端口 4317,HTTP 端口 4318),经批处理和资源检测处理后导出到 SigNoz 的 ClickHouse 存储后端。

支持的埋点语言:Java、Python、Go、.NET、Ruby、PHP、Rust、Elixir、C++、Deno、Swift,以及移动端(React Native、Android、iOS、Flutter)和前端。

发送日志的三种方式:OTel SDK(直接在应用代码中埋点)、基于文件(使用 FluentBit 或 Logstash 追踪日志文件并通过 OTLP 转发)、Stdout/collector(将容器 stdout 管道到 OTel Collector 的 filelog receiver)。

适用场景

适用于需要统一可观测性平台的应用监控、分布式追踪、日志管理、指标采集、告警配置、异常监控,以及从其他可观测性产品迁移的场景。

限制与注意事项

OTel SDK 必须在所有其他导入之前初始化,否则数据库驱动、HTTP 客户端或框架将不会被自动埋点。许多云防火墙默认阻止 gRPC(4317)出站流量,如果追踪数据未到达,可先将导出器切换为 OTLP/HTTP(端口 4318)。缺少 service.name 属性会导致所有数据无法识别,应在部署前设置 OTEL_SERVICE_NAME。自托管 ClickHouse 存储会静默填满,SigNoz 自托管部署没有内置磁盘告警,应配置磁盘利用率告警并设置数据保留策略(追踪默认 15 天)。高基数 span 属性会破坏仪表盘,基数应存在于属性值而非键中。

关于本技能的具体收费、价格与更多使用步骤,资料中暂未提供。