Files
compose-anything/src/signoz/README.zh.md
2026-01-11 23:42:34 +08:00

4.3 KiB
Raw Blame History

SigNoz

English | 中文

SigNoz 是一个开源的可观测性平台,为分布式应用程序提供监控和故障排查能力。它在单一平台中提供追踪、指标和日志功能,类似于 DataDog 或 New Relic。

功能特性

  • 分布式追踪:跨微服务追踪请求
  • 指标监控:收集和可视化应用程序及基础设施指标
  • 日志管理:集中式日志聚合和分析
  • 服务地图:可视化服务依赖关系和性能
  • 告警:基于指标和追踪配置告警
  • OpenTelemetry 原生:构建在 OpenTelemetry 标准之上

快速开始

  1. 复制环境文件并根据需要调整:

    cp .env.example .env
    
  2. 创建所需的配置文件:

    mkdir -p query-service frontend
    # 根据需要下载或创建配置文件
    
  3. 启动服务:

    docker compose up -d
    
  4. 访问 SigNoz UIhttp://localhost:3301

默认端口

服务 端口 描述
Frontend UI 3301 SigNoz Web 界面
OTel Collector (gRPC) 4317 OTLP gRPC 接收器
OTel Collector (HTTP) 4318 OTLP HTTP 接收器

配置说明

环境变量

主要环境变量(完整列表请查看 .env.example

  • SIGNOZ_PORT_OVERRIDE:前端 UI 端口默认3301
  • SIGNOZ_OTEL_GRPC_PORT_OVERRIDEOTLP gRPC 接收器端口默认4317
  • SIGNOZ_OTEL_HTTP_PORT_OVERRIDEOTLP HTTP 接收器端口默认4318
  • SIGNOZ_CLICKHOUSE_VERSIONClickHouse 版本
  • SIGNOZ_QUERY_SERVICE_VERSION:查询服务版本
  • SIGNOZ_FRONTEND_VERSION:前端版本

必需的配置文件

此设置需要以下配置文件:

  1. clickhouse-config.xmlClickHouse 服务器配置
  2. clickhouse-users.xmlClickHouse 用户配置
  3. otel-collector-config.yamlOTel Collector 管道配置
  4. query-service/prometheus.yml:查询服务 Prometheus 配置
  5. frontend/nginx-config.conf:前端 Nginx 配置

您可以从 SigNoz 官方仓库 获取这些文件。

发送遥测数据

要向 SigNoz 发送遥测数据,请配置您的应用程序使用 OpenTelemetry 并使用以下端点:

  • gRPClocalhost:4317
  • HTTPlocalhost:4318

Node.js 示例:

const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { OTLPTraceExporter } = require('@opentelemetry/exporter-trace-otlp-grpc');

const exporter = new OTLPTraceExporter({
  url: 'http://localhost:4317',
});

架构说明

SigNoz 由以下组件组成:

  1. ClickHouse:用于存储追踪、指标和日志的时序数据库
  2. OTel Collector:接收、处理和导出遥测数据
  3. Query Service:从 ClickHouse 查询数据
  4. Frontend:用于可视化和分析的 Web UI
  5. Alert Manager:管理和发送告警

资源需求

最低推荐资源:

  • CPU4 核
  • 内存8GB RAM
  • 存储20GB 数据存储空间

数据持久化

数据持久化在 Docker 卷中:

  • clickhouse_dataClickHouse 数据库文件
  • signoz_dataSigNoz 应用程序数据
  • alertmanager_data:告警管理器数据

安全注意事项

  • 如适用,请更改默认凭据
  • 使用环境变量配置敏感信息
  • 生产环境部署时考虑使用密钥管理
  • 仅限制必要端口的网络访问
  • 生产环境请启用身份验证

健康检查

所有服务都包含健康检查以确保正确启动和依赖管理:

  • ClickHouseHTTP 健康端点
  • OTel CollectorHTTP 健康端点
  • Query ServiceHTTP 健康端点
  • FrontendHTTP 健康端点
  • Alert ManagerHTTP 健康端点

故障排查

  1. 服务未启动:使用 docker compose logs 检查日志
  2. 无数据显示:验证 OTel Collector 配置和应用程序仪器化
  3. 内存使用过高:调整 ClickHouse 内存限制或数据保留策略

许可证

SigNoz 采用 MIT 许可证。详情请参阅 官方仓库

参考资料