Signoz自托管版配置PostgreSQL追踪后仪表盘为空求助
问题排查:Signoz自托管PostgreSQL监控仪表盘为空
你提供的otel-collector-config.yaml配置存在格式与冗余问题,以下是具体问题及修正方案:
1. YAML缩进错误
YAML对缩进层级要求严格,你的配置有两处缩进问题:
username字段在transport: tcp下缩进过多,需与transport、password保持同级databases下的注释缩进不规范,要和列表项对齐
2. 冗余配置无效
开头无归属的endpoint、username、password配置段属于无效内容,需直接删除,这些参数已包含在postgresql/all块中。
修正后的配置示例
postgresql/all: endpoint: <POSTGRESQL_URL>:<POSTGRESQL_PORT> transport: tcp username: <POSTGRESQL_USERNAME> password: <POSTGRESQL_PASSWORD> databases: - <YOUR DATABASE 1> - <YOUR DATABASE 2> # ... 所有你要监控的数据库 collection_interval: 10s tls: insecure: true insecure_skip_verify: true
额外排查点
- 确认PostgreSQL用户权限:需授予
pg_monitor角色,或至少拥有SELECT权限访问pg_stat_activity、pg_stat_database等系统视图 - 查看Collector容器日志:执行
docker logs <collector容器名>,检查是否有PostgreSQL连接错误(如认证失败、连接超时) - 验证网络连通性:在Collector容器内测试能否连通PostgreSQL地址,排除防火墙、端口映射问题
- 检查仪表盘时间范围:确认Signoz仪表盘选择的时间范围覆盖数据采集时段,避免因时间筛选导致无数据显示
内容的提问来源于stack exchange,提问作者danyalutsevich
相关产品推荐
相关产品推荐

