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

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


一、前言

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成长记一起探讨学习!↓↓↓

相关推荐
YCY^v^1 小时前
centos 7 开启80,443端口,怎么弄?
linux·运维·centos
北南京海1 小时前
[Linux]进程地址空间
linux·运维·服务器
yzx9910132 小时前
服务器生成图片
运维·服务器
小阳睡不醒6 小时前
小白成长之路-部署Zabbix7(二)
android·运维
草梅友仁6 小时前
草梅 Auth 1.1.0 发布与最新动态 | 2025 年第 30 周草梅周报
开源·github·ai编程
杰克逊的日记6 小时前
GPU运维常见问题处理
linux·运维·gpu
caolib6 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
奇舞精选6 小时前
k8s基本概念初探
运维
誰能久伴不乏7 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔7 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器