在Linux上安装和配置SigNoz的方法

本文介绍在Linux上安装SigNoz的方法,并配置使用SigNoz。使用者可在Docker上安装SigNoz,当前在Docker上安装SigNoz有两种方法,以下将做介绍。

使用自动安装脚本

Ubuntu、Debian、OpenSuse、CentOS和SUSE Linux Enterprise Server(SLES)支持安装程序。首先使用以下命令克隆SigNoz存储库:

git clone -b main https://github.com/SigNoz/signoz.git

导航到目录:

cd signoz/deploy/

现在执行安装程序:

sudo ./install.sh

样本输出:

在Linux上安装和配置SigNoz的方法

在Linux上安装和配置SigNoz的方法

将系统用户添加到docker组:

sudo usermod -aG docker $USER

newgrp docker

验证安装情况:

$ docker ps

会返回signoz/frontend:0.11.2、signoz/alertmanager:0.23.0-0.2等运行的相关信息。

使用Docker Compose

这里,您需要手动安装系统上安装的Docker。以下指南可用于在Linux上安装docker:

如何在Ubuntu 22.04系统上安装Docker CE:https://www.hmxthome.com/linux/4941.html

安装后,请确保服务已启动并启用:

sudo systemctl start docker && sudo systemctl enable docker

将系统用户添加到docker组。

sudo usermod -aG docker $USER

newgrp docker

此外,使用指南中提供的帮助安装docker compose:

在Ubuntu 22.04/Debian 11上安装Docker Compose:https://www.hmxthome.com/linux/4942.html

安装后,克隆存储库:

git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/

现在使用以下命令运行容器:

docker-compose -f docker/clickhouse-setup/docker-compose.yaml up -d

检查容器是否已运行:

$ docker ps

会返回signoz/query-service:0.11.2、signoz/signoz-otel-collector:0.55.3等运行的相关信息。

访问SigNoz仪表板

一旦容器被部署,允许端口3301通过防火墙:

##对于UFW

sudo ufw allow 3301

##对于Firewalld

sudo firewall-cmd --add-port=3301/tcp --permanent

sudo firewall-cmd --reload

现在使用URL访问SigNoz仪表板,地址是http://IP_Address:3301,然后在创建帐户后就可以进入到仪表板中了:

在Linux上安装和配置SigNoz的方法

至此,安装SigNoz完成。

现在就可以使用SigNoz测量和监控应用程序了。比如可创建简单NodeJS应用程序。

确保系统上安装了NodeJS。例如NodeJS 16:

##在Debian/Ubuntu上

curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -

sudo apt -y install nodejs

##在RHEL/CentOS/Rocky Linux上

curl -sL https://rpm.nodesource.com/setup_16.x | sudo -E bash -

sudo dnf install nodejs

验证安装:

$ node -v

v16.18.0

$ npm -v

8.19.2

克隆一个简单的NodeJS应用程序repo:

git clone https://github.com/SigNoz/sample-nodejs-app.git

导航到目录:

cd sample-nodejs-app

你会发现这里有两个文件:

在端口9090上运行的简单HelloWorld应用程序的index.js。

遥测采集的tracing.js。

安装所有必需的软件包:

npm i

允许所需端口通过防火墙:

##对于UFW

sudo ufw allow 4317

sudo ufw allow 9090

##对于Firewalld

sudo firewall-cmd --add-port=4317/tcp --permanent

sudo firewall-cmd --add-port=9090/tcp --permanent

sudo firewall-cmd --reload

要启动应用程序和度量收集,我们将使用以下命令:

OTEL_EXPORTER_OTLP_ENDPOINT="<IP of SigNoz>:4317" OTEL_RESOURCE_ATTRIBUTES=service.name=nodeJsApp node -r ./tracing.js index.js

在上述命令中,替换:

IP of SigNoz:localhost(因为我们在本地主机上运行SigNoz)。

service.name:nodeJsApp(您可以给出任何适合您的名称)。

因此,命令将是:

OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" OTEL_RESOURCE_ATTRIBUTES=service.name=nodeJsApp node -r ./tracing.js index.js

现在应用程序应该在端口9090上运行,可以使用URL访问,地址格式为http://IP_Address:9090/hello,如下图:

在Linux上安装和配置SigNoz的方法

分别命中此端点以生成一些数据。一段时间后,访问SigNoz仪表板,打开Services选项卡,然后单击Refresh。您将看到如下所示的应用程序:

在Linux上安装和配置SigNoz的方法

现在,您可以查看应用程序的图形,并通过单击应用程序来确定导致高延迟的事件、关键操作和错误百分比。您还可以在SigNoz上创建仪表板并配置警报,还可以为其他语言配置仪表:

在Linux上安装和配置SigNoz的方法

关于其他的SigNoz应用,使用者可以自由的摸索。

栏目相关文章