搭建最新版开源监控平台SigNoz踩的坑

发布于:2025-06-02 ⋅ 阅读:(30) ⋅ 点赞:(0)

 转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权并注明出处。感谢您喜爱本文,请文明转载,谢谢。


一、前言

SigNoz 是一款开源应用程序性能监控工具,在往期相关文章(文末有链接)中有相关介绍与使用测试。但当时还是v0.16.2版本,有些功能不是很好用,比如和Prometheus的Dashboards兼容不是很好、日志查看不是很友好等。

近期发现已经升级到了0.81.0(截止发文,已更新到v0.82.1),跟着官网重新搭建一套试用看看有哪些新变化。

二、离线环境搭建

采用方式为docker-compose方式的纯离线搭建。先下载docker镜像清单:

docker pull clickhouse/clickhouse-server:24.1.2-alpine
docker pull bitnami/zookeeper:3.7.1
docker pull signoz/signoz:v0.82.0
docker pull signoz/signoz-otel-collector:v0.111.41
docker pull signoz/signoz-schema-migrator:v0.111.41
docker pull jaegertracing/example-hotrod:1.61.0
docker pull signoz/locust:1.2.3
docker pull otel/opentelemetry-collector-contrib:0.111.0
docker pull gliderlabs/logspout:v3.2.14

如下载不了镜像,可使用代理https://dockerhub.azk8s.cn:

使用docker-compose方式启动部署:

git clone -b main https://github.com/SigNoz/signoz.git
cd signoz/deploy/docker
docker-compose up -d --remove-orphans

三、遇到的错误

1. 启动失败

官网给的启动命令为:

图片

启动命令改成docker-compose up -d --remove-orphans,启动成功。

2. docker-compose版本太低,启动失败

启动signoz报错如下:

图片

解决方法:

重装高级版本的docker-compose解决,我装的是v2.35.1版本。

3. 部署中下载histogram-quantile失败

在docker-compose.ha.yaml和docker-compose.yaml两个文件都有如下命令:


wget -O histogram-quantile.tar.gz "https://github.com/SigNoz/signoz/releases/download/histogram-quantile%2F$${version}/histogram-quantile_$${node_os}_$${node_arch}.tar.gz"
tar -xvzf histogram-quantile.tar.gz
mv histogram-quantile /var/lib/clickhouse/user_scripts/histogramQuantile

如果是离线部署,可手动下载histogram-quantile_linux_amd64.tar.gz后,解压后将文件histogram-quantile放到目录signoz/deploy/docker/common/clickhouse/user_scripts下,然后注释掉yaml文件中上面几条命令。

4. signoz容器报错

启动signoz报错runtime/cgo: pthread_create failed: Operation not permitted,具体如下:

[root@test102 docker]# docker-compose up -d --remove-orphans
WARN[0000] /home/app/signoz/deploy/docker/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 8/8
 ✔ Network signoz-net Created 0.1s 
 ✔ Container signoz-init-clickhouse Exited 1.5s 
 ✔ Container signoz-zookeeper-1 Healthy 31.5s 
 ✔ Container signoz-clickhouse Healthy 63.3s 
 ✔ Container schema-migrator-sync Exited 152.1s 
 ✘ Container signoz Error 154.7s 
 ✔ Container schema-migrator-async Started 152.6s 
 ✔ Container signoz-otel-collector Created 0.0s 
dependency failed to start: container signoz is unhealthy
[root@test102 docker]#

查看日志:

[root@test102 user_scripts]# docker logs signoz
runtime/cgo: pthread_create failed: Operation not permitted
SIGABRT: abort
PC=0x22d9f1c m=0 sigcode=18446744073709551610
goroutine 0 gp=0x4b27900 m=0 mp=0x4b28de0 [idle]:
runtime: g 0 gp=0x4b27900: unknown pc 0x22d9f1c
stack: frame={sp:0x7ffc81550c10, fp:0x0} stack=[0x7ffc80d52000,0x7ffc81551090)

解决方案:

在docker-compose.yaml文件的signoz模块添加privileged: true

 signoz:
 !!merge <<: *db-depend
 image: signoz/signoz:${VERSION:-v0.81.0}
 container_name: signoz
 command:
 - --config=/root/config/prometheus.yml
 - --use-logs-new-schema=true
 - --use-trace-new-schema=true
 privileged: true  #添加这一行
 ports:

--END--

老版本相关文章:

​开源可观测性平台Signoz系列(一)【开篇】​

​开源可观测性平台Signoz(二)【日志采集篇】​

​开源可观测性平台Signoz(三)【服务器主机监控篇】​

开源可观测性平台Signoz(四)【链路监控及数据库中间件监控篇】

更多精彩欢迎关注SRE成长记一起探讨学习!↓↓↓