下载对应版本
wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-amd64.tar.gz
解压并移动
# 解压
tar -zxvf node_exporter-1.9.1.linux-amd64.tar.gz
# 移动到 `/usr/local/bin`
mv node_exporter-1.9.1.linux-amd64/node_exporter /usr/local/bin
# 赋予执行权限
sudo chmod +x /usr/local/bin/node_exporter
创建 Systemd 服务文件
sudo vim /etc/systemd/system/node_exporter.service
粘贴以下内容
[Unit]
Description=Node Exporter # 描述服务
After=network.target # 依赖网络,确保网络启动后才启动 node_exporter
[Service]
User=node_exporter # 以 node_exporter 用户运行,防止 root 权限运行
Group=node_exporter # 以 node_exporter 用户组运行
Type=simple # 启动后不创建子进程,直接运行
ExecStart=/usr/local/bin/node_exporter # 运行 node_exporter,并启用相关采集器
[Install]
WantedBy=multi-user.target # 在 multi-user.target 级别(多用户模式)下启用
创建 node_exporter
用户
#创建系统账号
sudo useradd -r -s /bin/false node_exporter
#权限修改
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
重新加载 Systemd,并启动 node_exporter
# 重新加载 Systemd 配置
sudo systemctl daemon-reload
# 启动 node_exporter
sudo systemctl start node_exporter
# 设置开机自启
sudo systemctl enable node_exporter
检查9100端口
curl http://localhost:9100/metrics
根据以上,可以整合成一键安装脚本:
#!/bin/bash
# 设置版本变量
VERSION="1.9.1"
DOWNLOAD_URL="https://github.com/prometheus/node_exporter/releases/download/v$VERSION/node_exporter-$VERSION.linux-amd64.tar.gz"
TAR_FILE="node_exporter-$VERSION.linux-amd64.tar.gz"
EXTRACT_DIR="node_exporter-$VERSION.linux-amd64"
# 下载 node_exporter
echo "Downloading Node Exporter v$VERSION..."
wget $DOWNLOAD_URL
# 解压
echo "Extracting..."
tar -zxvf $TAR_FILE
# 移动到 /usr/local/bin
echo "Installing to /usr/local/bin..."
sudo mv $EXTRACT_DIR/node_exporter /usr/local/bin
sudo chmod +x /usr/local/bin/node_exporter
# 创建 node_exporter 用户
echo "Creating user node_exporter..."
sudo useradd -r -s /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
# 创建 systemd 服务文件
echo "Creating systemd service file..."
sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
# 重载 systemd 配置
echo "Reloading systemd..."
sudo systemctl daemon-reload
# 启动 node_exporter 服务
echo "Starting node_exporter..."
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
#检查服务
curl http://localhost:9100/metrics
Pingback引用通告: Prometheus 通过node_exporter监控服务进程 - 运维笔记(ywbj.cc)