【Prometheus 】【实战篇(四)】Node Exporter安装方式(含一键安装脚本)及重要监控指标一览

在这里插入图片描述

目录

    • 一、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 服务文件。

  1. 创建服务文件 /etc/systemd/system/node_exporter.service
sudo nano /etc/systemd/system/node_exporter.service
  1. 在文件中加入以下内容:
[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_load11分钟负载平均值。
node_load55分钟负载平均值。
node_load1515分钟负载平均值。
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_utilizationCPU 使用情况,通常会分为用户、系统、空闲、等待等状态。
node_filefd_allocated分配的文件描述符数。
node_scrape_duration_seconds获取 node_exporter 指标所花费的时间。
node_scrape_samples_post_metric_relabelingmetric_relabeling 后的指标数量。

五、总结

本文主要介绍node Exporter的安装方式、如何将其配置到prometheus中以及其一些重要的指标信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/940027.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt之串口设计-线程实现(十二)

Qt开发 系列文章 - Serial-port&#xff08;十二&#xff09; 目录 前言 一、SerialPort 二、实现方式 1.创建类 2.相关功能函数 3.用户使用 4.效果演示 5.拓展应用-实时刷新 总结 前言 Qt作为一个跨平台的应用程序开发框架&#xff0c;在串口编程方面提供了方便易用…

信号处理相关的东东(学习解惑)

信号处理相关的东东&#xff08;学习解惑&#xff09; 所有内容学习自知乎专栏&#xff0c;https://www.zhihu.com/column/xinhao&#xff0c;写的很好&#xff0c;值得反复学习 时频域分析的一些常用概念 FROM&#xff1a;https://zhuanlan.zhihu.com/p/35742606 1、相加性…

使用 UniApp 在微信小程序中实现 SSE 流式响应

概述 服务端发送事件(Server-Sent Events, SSE)是一种允许服务器向客户端推送实时更新的技术。SSE 提供了一种单向的通信通道,服务器可以持续地向客户端发送数据,而不需要客户端频繁发起请求。这对于需要实时更新的应用场景非常有用。 流式传输的特点是将数据逐步传输给客…

【数据结构】八大排序

目录 一、直接插入排序 二、希尔排序 三、选择排序 四、堆排序 五、冒泡排序 六、快速排序 七、归并排序 八、计数排序 稳定性结论 稳定性&#xff1a;排序后相同元素之间的相对顺序是否保持不变。 一、直接插入排序 基本思想&#xff1a;通过构建有序序列&#xff…

线程池ForkJoinPool详解

由一道算法题引发的思考 算法题&#xff1a;如何充分利用多核CPU的性能&#xff0c;快速对一个2千万大小的数组进行排序&#xff1f; 这道算法题可以拆解来看&#xff1a; 1&#xff09;首先这是一道排序的算法题&#xff0c;而且是需要使用高效的排序算法对2千万大小的数组…

python08-序列02-字典dict、集合set

一、字典&#xff08;dict&#xff09;&#xff1a;可变数据类型 1-1、字典的特点 字典是可变数据类型&#xff08;list也是&#xff09;&#xff0c;具有增、删、改等一系列的操作&#xff1b;字典中的元素是无序的&#xff08;hash&#xff09;key必须唯一&#xff0c;value…

【Java项目】基于SpringBoot的【旅游管理系统 】

【Java项目】基于SpringBoot的【旅游管理系统 】 技术简介&#xff1a;本系统使用JAVA语言开发&#xff0c;采用B/S架构、Spring Boot框架、MYSQL数据库进行开发设计。 系统简介&#xff1a;&#xff08;1&#xff09;管理员功能&#xff1a;可以管理个人中心、用户管理、景区分…

UE5 跟踪能力的简单小怪

A、思路 1、用素材的骨骼网格体创建小怪BP&#xff0c;绑定新的小怪控制器。 2、控制器的事件开始时&#xff0c;获取玩家状态&#xff0c;指定AI小怪自动向玩家移动。 复杂的AI需要用强大功能如黑板、行为树。 而简单的AI则可以用简单方法实现&#xff0c;杀鸡不用牛刀。视…

渗透测试学习笔记(五)网络

一.IP地址 1. IP地址详解 ip地址是唯一标识&#xff0c;一段网络编码局域网&#xff08;内网&#xff09;&#xff1a;交换机-网线-pcx.x.x.x 32位置2进制&#xff08;0-255&#xff09; IP地址五大类 IP类型IP范围A类0.0.0.0 到 127.255.255.255B类128.0.0.0 到191.255.25…

Windows 下 Anaconda的安装与配置 GPU 版

给之前的电脑安一下深度学习环境 判断是否有NVIDIA GPU Ctrl Shift Esc 打开任务管理器 带此字眼表示有 NVIDIA GPU 安装Anaconda anaconda 打开邮箱会看到下载链接 这里建议修改为其他盘,要不然下载的包和创建的环境都在C盘&#xff0c;占用空间 三个都打钩 取…

flutter --no-color pub get 超时解决方法

新建Flutter项目后&#xff0c;运行报错&#xff0c;需要执行pub get 点击Run ‘flutter pub get’ … … … 卡着&#xff0c;不动了&#xff0c;提示超时 是因为墙的问题 解决方案&#xff1a; 添加以下环境变量 变量名: PUB_HOSTED_URL 变量值: https://pub.flutter-io.cn …

Marin说PCB之POC电路layout设计仿真案例---06

我们书接上回啊&#xff0c;对于上面的出现原因我这个美女同事安娜说会不会你把POC电感下面的相邻两层的CUT_OUT的尺寸再去加大一些会不会变得更好呢&#xff1f;这个难道说是真的有用吗&#xff1f;小编我先自己算一卦看下结果。 本期文章我们就接着验证通过改善我们的单板POC…

Node.js 构建简单应用

在 Node.js 中构建一个简单应用通常包括以下几个步骤&#xff1a; 安装 Node.js设置项目目录初始化项目创建服务器并处理请求和响应 接下来&#xff0c;我们将一步步介绍如何用 Node.js 构建一个简单的 HTTP 应用程序。 1、安装 Node.js 首先确保系统上已安装 Node.js 和 n…

Cesium 无人机航线规划(航点航线)

航线规划实现定制航线&#xff0c;一键巡检功能 小镜头模拟的是此方向的拍照效果&#xff0c;觉得合适可以打个拍照印记 设置里可调控参数 保存后反显的样子&#xff0c;主要是为了区分航线

rfid标签打印开发指导

使用java连接斑马打印机&#xff0c;开发rfid标签打印功能 1.引用斑马打印机的SDKjar包 ZSDK_API.jar 将这个jar文件放到项目的lib目录下&#xff0c;没有就新建一个。 然后点击 File–Project Sreucture–Modules 点击加号 选择对应jar包即可 2.代码开发 1.打印机连接地址…

vue-office:Star 4.2k,款支持多种Office文件预览的Vue组件库,一站式Office文件预览方案,真心不错

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 vue-office 是一个支持多种文件格式&#xff08;docx、excel、pdf、pptx&#xff09;预览的Vue组件库&#xff0c;它不仅支持Vue2和Vue3&#xff0c;还…

Docker介绍、安装、namespace、cgroup、镜像-Dya 01

0. 容器简介 从生活上来说&#xff0c;容器是一种工具&#xff0c;可以装东西的工具&#xff0c;如衣柜、背包、行李箱等等。 从IT技术方面来说&#xff0c;容器是一种全新的虚拟化技术&#xff0c;它提高了硬件资源利用率&#xff0c;结合k8s还可以让企业业务快速横向扩容、业…

Kube-state-metrics 可观测性最佳实践

Kube-state-metrics 介绍 Kube-state-metrics 是 Kubernetes 生态系统中的一个开源项目&#xff0c;主要用来收集和报告集群中各种资源的实时状态信息。 工作原理 Kube-state-metrics 连接到 Kubernetes API 服务器&#xff0c;并公开一个 HTTP 端点&#xff0c;提供集群中各…

Pycharm配置Python开发环境

Pycharm配置Python开发环境 在之前的文章中,安装好了Pyhton和Pycharm。 打开Pycharm,如下图 配置完成之后,如下图所示:

scala中模式匹配的应用

package test34object test6 {case class Person(name:String)case class Student(name:String, className:String)// match case 能根据 类名和属性的信息&#xff0c;匹配到对应的类// 注意&#xff1a;// 1 匹配的时候&#xff0c;case class的属性个数要对上// 2 属性名不需…