为非 Omnibus 节点部署 Prometheus node_exporter 监控
后知后觉 暂无评论

使用 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


附录

参考链接

如果遇到问题或者对文章内容存疑,请在下方留言,博主看到后将及时回复,谢谢!
回复 / 查看「历史评论
回答10+47=