目录
- 一、Node Exporter 1.8.2安装步骤详解
- 1、下载 Node Exporter 安装包
- 2、解压下载的文件
- 3、将 Node Exporter 移动到 `/usr/local/bin/`
- 4、创建一个专用的系统用户
- 5、创建 `systemd` 服务文件
- 6、重新加载 `systemd` 配置
- 7、启动并启用 Node Exporter 服务
- 8、检查 Node Exporter 状态
- 9、访问 Node Exporter 的 Web 接口
- 二、使用脚本一键安装
- 三、在prometheus中配置获取node exporter指标
- 1、修改prometheus的配置文件
- 2、重启prometheus
- 3、验证能够正常获取到对应的指标
- 四、node exporter主要监控的指标
- 五、总结
一、Node Exporter 1.8.2安装步骤详解
1、下载 Node Exporter 安装包
首先,下载 Node Exporter 1.8.2 版本的 tar.gz 包。打开终端并运行以下命令:
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
2、解压下载的文件
下载完成后,解压缩下载的 tar.gz 文件:
tar -xzvf node_exporter-1.8.2.linux-amd64.tar.gz
这会解压出一个 node_exporter-1.8.2.linux-amd64
文件夹。
3、将 Node Exporter 移动到 /usr/local/bin/
为了便于管理,可以将解压后的 node_exporter
文件移动到 /usr/local/bin/
目录下:
sudo mv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/
4、创建一个专用的系统用户
为了以非特权用户身份运行 Node Exporter,创建一个 node_exporter
用户,并禁用其登录权限:
sudo useradd --no-create-home --shell /bin/false node_exporter
5、创建 systemd
服务文件
为了能够使用 systemd
管理 Node Exporter,创建一个 systemd
服务文件。
- 创建服务文件
/etc/systemd/system/node_exporter.service
:
sudo nano /etc/systemd/system/node_exporter.service
- 在文件中加入以下内容:
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
ExecStart=/usr/local/bin/node_exporter
Restart=always
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
保存并退出编辑器(Ctrl+X
,然后按 Y
确认保存)。
6、重新加载 systemd
配置
执行以下命令,重新加载 systemd
配置,使其识别新的服务文件:
sudo systemctl daemon-reload
7、启动并启用 Node Exporter 服务
启动 node_exporter
服务,并设置其开机自启:
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
8、检查 Node Exporter 状态
通过以下命令检查 node_exporter
是否正在运行:
sudo systemctl status node_exporter
如果一切正常,输出类似于以下内容,表示服务已经启动:
● node_exporter.service - Prometheus Node Exporter
Loaded: loaded (/etc/systemd/system/node_exporter.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2024-12-19 10:00:00 UTC; 1min 30s ago
9、访问 Node Exporter 的 Web 接口
Node Exporter 默认在 9100 端口提供监控数据,你可以通过浏览器访问:
http://<your-server-ip>:9100/metrics
或者使用 curl
命令验证服务是否正常运行:
curl http://localhost:9100/metrics
如果一切正常,你将看到大量的 Prometheus 指标数据。
二、使用脚本一键安装
install_node_exporter.sh
#!/bin/bash
# 定义 Node Exporter 版本和下载链接
NODE_EXPORTER_VERSION="v1.8.2"
NODE_EXPORTER_TAR="node_exporter-1.8.2.linux-amd64.tar.gz"
NODE_EXPORTER_URL="https://github.com/prometheus/node_exporter/releases/download/$NODE_EXPORTER_VERSION/$NODE_EXPORTER_TAR"
# 安装依赖(如果没有安装 wget)
echo "安装 wget..."
sudo yum install -y wget
# 下载 Node Exporter tar 包
echo "下载 Node Exporter $NODE_EXPORTER_VERSION..."
wget $NODE_EXPORTER_URL
# 解压 Node Exporter
echo "解压 Node Exporter..."
tar -xzvf $NODE_EXPORTER_TAR
# 将 Node Exporter 移动到 /usr/local/bin/
echo "将 Node Exporter 移动到 /usr/local/bin/..."
sudo mv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/
# 创建专用用户
echo "创建 node_exporter 用户..."
sudo useradd --no-create-home --shell /bin/false node_exporter
# 创建 systemd 服务文件
echo "创建 systemd 服务文件..."
cat <<EOL | sudo tee /etc/systemd/system/node_exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
ExecStart=/usr/local/bin/node_exporter
Restart=always
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOL
# 重新加载 systemd 配置
echo "重新加载 systemd 配置..."
sudo systemctl daemon-reload
# 启动 Node Exporter 服务并设置为开机自启
echo "启动 Node Exporter 服务并设置开机自启..."
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
# 检查 Node Exporter 服务状态
echo "检查 Node Exporter 服务状态..."
sudo systemctl status node_exporter
# 打印安装完成信息
echo "Node Exporter 安装完成!你可以通过以下方式查看指标:"
echo "http://<your-server-ip>:9100/metrics"
echo "或者使用 curl 命令:curl http://localhost:9100/metrics"
三、在prometheus中配置获取node exporter指标
1、修改prometheus的配置文件
[root@localhost ~]# vi /etc/prometheus/prometheus.yml
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
# 增加对localhost:9100的指标采集
- job_name: node
static_configs:
- targets: ['localhost:9100']
2、重启prometheus
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart prometheus
3、验证能够正常获取到对应的指标
访问http://:9090/targets,查看是否有新的端口出现。
能看到上图,证明node_exporter安装和配置没有问题
四、node exporter主要监控的指标
以下是 Node Exporter 主要监控的指标,以表格形式整理:
指标 | 描述 |
---|---|
node_cpu_seconds_total | 每个 CPU 核心的 CPU 时间统计(以秒为单位),按不同的 CPU 使用状态(用户、系统、空闲等)分类。 |
node_memory_MemTotal_bytes | 系统总内存(以字节为单位)。 |
node_memory_MemFree_bytes | 系统空闲内存(以字节为单位)。 |
node_memory_MemAvailable_bytes | 可用内存(以字节为单位)。 |
node_memory_Buffers_bytes | 内存缓冲区大小(以字节为单位)。 |
node_memory_Cached_bytes | 文件缓存大小(以字节为单位)。 |
node_disk_io_time_seconds_total | 磁盘 I/O 时间总计(以秒为单位)。 |
node_disk_read_bytes_total | 磁盘读取的总字节数。 |
node_disk_written_bytes_total | 磁盘写入的总字节数。 |
node_filesystem_size_bytes | 文件系统的总大小(以字节为单位)。 |
node_filesystem_free_bytes | 文件系统空闲空间大小(以字节为单位)。 |
node_network_receive_bytes_total | 网络接收字节总数。 |
node_network_transmit_bytes_total | 网络发送字节总数。 |
node_load1 | 1分钟负载平均值。 |
node_load5 | 5分钟负载平均值。 |
node_load15 | 15分钟负载平均值。 |
node_time_seconds | 系统当前时间的秒数。 |
node_vmstat_pgmajfault | 页面重大故障(major fault)的次数。 |
node_vmstat_pgpgin | 每秒从磁盘读入内存的页面数。 |
node_vmstat_pgpgout | 每秒写入磁盘的页面数。 |
node_uname_info | 系统的 uname 信息(如操作系统、内核版本等)。 |
node_boot_time_seconds | 系统启动时间(以秒为单位)。 |
node_systemd_unit_state | 系统d服务单元状态,包括正在运行的服务等。 |
node_cpu_utilization | CPU 使用情况,通常会分为用户、系统、空闲、等待等状态。 |
node_filefd_allocated | 分配的文件描述符数。 |
node_scrape_duration_seconds | 获取 node_exporter 指标所花费的时间。 |
node_scrape_samples_post_metric_relabeling | 经 metric_relabeling 后的指标数量。 |
五、总结
本文主要介绍node Exporter的安装方式、如何将其配置到prometheus中以及其一些重要的指标信息。