Prometheus节点node_exporter监控添加至system系统服务启动

✍️Auth:运维笔记       Date:2025/04/10       Cat:Linux服务器       👁️:218 次浏览

下载对应版本

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

打赏作者

Prometheus节点node_exporter监控添加至system系统服务启动》有1个想法

  1. Pingback引用通告: Prometheus 通过node_exporter监控服务进程 - 运维笔记(ywbj.cc)

发表评论