转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权并注明出处。感谢您喜爱本文,请文明转载,谢谢。
一、前言
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(四)【链路监控及数据库中间件监控篇】