使用 GPT 工具部署的 GitLab HA 集群会有些组件不安装 Omnibus 版本安装包,因此系统内无 Prometheus node_exporter 组件,无法正确获取节点监控数据。
手动部署
为了补全系统监控,手动部署 Node Exporter,为了最大化集群监控的兼容性,强烈建议组件版本和集群其他节点的 Node Exporter 版本保持一致,访问任意角色节点,检查其内置 Node Exporter 版本。
## 内置组件位于下述路径
/opt/gitlab/embedded/bin/node_exporter --version
## 如果无法定位,可以使用命令查找
sudo ps -ef | grep 'prometheus' | grep -Ev 'grep|svlogd' | grep '/prometheus'
然后到官网或者官方仓库下载同版本的安装包,以 v1.8.1 为例:
## 仓库下载
## https://github.com/prometheus/node_exporter/releases/tag/v1.8.1
wget --content-disposition https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz
部署到系统目录:
tar xf node_exporter-1.8.1.linux-amd64.tar.gz
cd node_exporter-1.8.1.linux-amd64/
sudo install -m 755 -o root -g root node_exporter /usr/local/bin/
添加守护进程:
sudo vim /etc/systemd/system/node_exporter.service
## 写入以下内容(如果需要修改端口或者监听地址请按需修改)
[Unit]
Description=Prometheus Node Exporter
Documentation=https://github.com/prometheus/node_exporter
After=network.target
[Service]
Type=simple
DynamicUser=yes
ExecStart=/usr/local/bin/node_exporter --web.listen-address=0.0.0.0:9100
ProtectSystem=strict
ProtectHome=yes
NoNewPrivileges=true
PrivateTmp=true
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
重载并启动服务:
sudo systemctl daemon-reload
sudo systemctl restart node_exporter.service
sudo systemctl status node_exporter.service
sudo ps -ef | grep 'node_exporter'
然后到 Prometheus 节点查看监控组信息是否正确,关键字 non_omnibus_node
。
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2025-10-10 18:28 PM