如何搭建node_exporter

2023-05-16

如何搭建node_exporter

1.观看条件

1.假设你已经看过上一篇文章 《如何搭建普罗米修斯 Prometheus》

2.假设你已经会搭建普罗米修斯(promethus)

3.上面两个假设,只要满足一个。那你看这篇文章就没什么压力了

2.node_exporter是啥

node_exporter的本质是一个轻量级的服务器。它监控着自己所部署的机器,并对普罗米修斯(promethus)提供HTTP接口。

当普罗米修斯定时(默认每15秒调用1次)调用它的时候,node_exporter就把当前机器的信息(内存/CPU/IO等等)源源不断的传回promethus。

PS1: 所以,每台要被监控的机器,都需要部署一个node_exporter。但是promethus可以只部署1个

PS2: 部署promethus机器的IP到部署node_exporter的IP和端口的防火墙要打通

PS3: 因为我这边只是在本机演示,所以不需要开防火墙

3.node_exporter如何搭建

进入下载页面

https://github.com/prometheus/node_exporter/releases

往下拉找到如下图所示
在这里插入图片描述

下载其中的一个文件

不同的系统下载不同的文件就可以

如果你的系统是那么你要下载的文件是备注
linux系统node_exporter-1.4.0.linux-amd64.tar.gz版本号可以是1.4.0的,也可以是其他的
mac系统node_exporter-1.4.0.darwin-amd64.tar.gz版本号可以是1.4.0的,也可以是其他的

PS: 因为我是mac,所以我就下载node_exporter-1.4.0.darwin-amd64.tar.gz了。

4.解压node_exporter

tar zxvf node_exporter-1.4.0.darwin-amd64.tar.gz
命令介绍含义
tar解压命令
z当要解压gz文件时需要携带该参数
x表示解包(如果去掉,只会显示而不解压)
vVerbose(冗长的; 啰唆的; 唠叨的;)表示解压时会打印详细信息
fFile 表示对文件进行解压
node_exporter-1.4.0.darwin-amd64.tar.gz被解压的文件名

5.进入解压后的目录

cd node_exporter-1.4.0.darwin-amd64
ls
LICENSE		NOTICE		node_exporter

前期使用时比较重要的文件介绍

文件文件作用
node_exporter可执行文件,用于启动node_exporter

6.启动

前台启动

./node_exporter 

前台启动,很容易就会关闭,建议后台启动

nohup ./node_exporter &

至此node_exporter已经搭建完毕

node_exporter如果不指定,默认会暴露9100端口

7.查看效果

无论你是前台启动,还是后台启动。

打开网页

http://localhost:9100/metrics

在这里插入图片描述

可以看到node_exporter监控得到的各种信息

8.promethus与node_exporter交互

至此node_exporter搭建好了,但是这还不够。我们不能让node_exporter自己玩。还需要让promethus可以知道该节点的存在。

因此还需要配置promethus的配置文件

首先我们要进入promethus的目录(不知道目录在哪里的,可以参考上一篇博客 《如何搭建普罗米修斯 Prometheus》)

修改prometheus.yml的配置。

vi prometheus.yml

这是原来的配置

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
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"]

由于里面有很多#表示注释,看着比较乱。简化后,大概如下所示:

global:
  scrape_interval: 15s 
  evaluation_interval: 15s 

alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"


scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

可以在末尾追加新的配置

  - job_name: "my_node_1"
    static_configs:
      - targets: ["localhost:9100"]
参数含义及作用
job_name监控任务名称,可以是中文
targets被监控的目标。为啥填localhost:9100。因为我们的node_exporter默认启动在9100端口。

最终完整的prometheus.yml配置如下:

global:
  scrape_interval: 15s 
  evaluation_interval: 15s 

alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"


scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: "my_node_1"
    static_configs:
      - targets: ["localhost:9100"]   

**PS: 切记!yml文件非常注重缩进,不要随意夹断 **

7.重启promethus

ps -ef|grep prometheus
  501  9571  2793   0  3:38下午 ttys000    0:00.17 ./prometheus
  501 10404  2793   0  3:40下午 ttys000    0:00.00 grep prometheus
kill -9 9571

后台启动prometheus

nohup ./prometheus &

8.验证是否有监控到

打开promethus页面

http://localhost:9090/graph

在这里插入图片描述

然后输入up并点击按钮执行

在这里插入图片描述

至此,promethus可以不断扫描node_exporter节点

9.小结

本章博客,我们完成了如下内容

  • node_exporter的搭建
  • 让node_exporter与promethus进行了联系。

但是这就完了吗?

我们其实还有很多问题没有解开。

比如:

  • 这个输入框中输入up到底是什么意思?
  • 这个输入框到底可以填哪些东西?
  • 监控页面需要如何制作?

那么就交给之后的博客来介绍啦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何搭建node_exporter 的相关文章

随机推荐

  • 交流电路红的视在功率VA数值上是电压与电流的乘积等于有功功率的平方加上无功功率的平方,再开平方。无功功率将电感或电容元件与交流电源往复交换的功率。虽然无功元件整体做功是0.吸收和释放相等

    一 有功功率 在交流电路中 xff0c 凡是消耗在电阻元件上 功率不可逆转换的那部分功率 xff08 如转变为热能 光能或机械能 xff09 称为有功功率 xff0c 简称 有功 xff0c 用 P 表示 xff0c 单位是瓦 xff08
  • 软件破解注册码

    写在破解之前 xff1a xff1a xff1a 软件破解的目的是 xff1a 有些需要注册的软件 xff0c 可是找不到注册码 xff0c 将其破解之后 xff0c 输入任何注册码都会提示注册成功 声明 xff1a 此贴适合从来没接触过软
  • keil中怎么添加自己的头文件,加入工程,保存路径。#include还用吗

    keil中怎么添加自己的头文件 xff0c 例如 xff1a 添加 include lt led h gt 要把它写在哪里 xff0c 保存在哪里 xff0c 才能编译后 xff0c 显示 include lt reg51 h gt inc
  • 面试题整理简历中深度学习机器学习相关的知识及linux操作系统命令

    深度学习与机器学习 都在整理关于后台的 xff0c 被问到后忘了 xff0c 尴尬 的确是我的问题 xff0c 基本的机器学习知识还是要整理一波 o inception 网络 xff1a 主要应用了深度可分离卷积 xff1a 主要用了大尺度
  • 面试可能遇到的问题野指针等解决方法

    空指针 xff1a 一般声明一个指针变量赋值为NULL xff0c 这就是空指针 xff0c 各个类型的空指针都存在确确实实的内存地址 xff0c 但是不会指向任何有效的值的内存地址 xff0c 对空指针操作 xff0c 例如访问属性和方法
  • 大规模分布式储存系统笔记(一)

    分布式储存系统的特性 xff1a 1 可扩展性 可按集群规模增长 xff0c 系统性能线性增长 xff1b 2 低成本 系统自动容错 xff0c 自动负载均衡 xff0c 运维方便 3 高性能 4 易用性 对外提供接口 数据类型 xff1a
  • 用MATLAB实现对运动物体识别与跟踪

    不得不说MATLAB的图像处理函数有点多 xff0c 但速度有时也是出奇的慢 还是想c的指针 xff0c 虽然有点危险 xff0c 但速度那是杠杠的 第二个MATLAB程序 xff0c 对运动物体的识别与追踪 这里我们主要运用帧差法实现运动
  • PS 开启GPU加速图片处理

    还认为你的电脑的速度效果比不上苹果吗 xff1f 还在嫌电脑渲染速度慢吗 xff1f 试一下 xff0c 电脑开启GPU硬件加速吧 xff01 只要有独显轻松加速 xff08 毕竟苹果笔记本要配独显电脑的价格基本上在15000以上 xff0
  • 管道鸟cortex-M4(TM4C1294)

    看到满屏的贪吃蛇 xff0c 我也来开源一个Ti开发板 xff08 TM4C1294 xff09 的游戏 将简化版的管道鸟 xff0c 根据自己玩的经历 xff0c 在cortexm4开发板上重新撸了一边 xff0c 设计思路 xff1a
  • C#连接MYSQL数据库并进行查询

    之前用MFC开发结果界面太难看被pass了 要求用C 重新来开发 gt lt 不过终于摆脱VC6 0的蛋疼操作了Y 先来连接数据库 xff08 1 xff09 用c 连接MYSQL数据库需要用到mysql connector net xff
  • binascii.Error: Incorrect padding 报错解决

    输入的base64编码字符串必须符合base64的padding规则 当原数据长度不是3的整数倍时 如果最后剩下两个输入数据 xff0c 在编码结果后加1个 61 xff1b 如果最后剩下一个输入数据 xff0c 编码结果后加2个 61 x
  • 通过过滤器链了解spring security + oauth2实现单点登录的过程

    一 系统 注意部署在同一机器 xff08 localhost xff09 上的三个应用 xff0c 为了防止存放在cookie中的JSESSIONID不被覆盖 xff0c 需要设置不同的path xff0c 可以在配置文件中指定不同的上下文
  • jetson tx2开箱上电

    期待已久的jetson tx2终于到了 xff0c 来做一个开箱 jetson tx2是英伟达的第三代GPU嵌入式开发板 前两代分别是jetson tk1和jetson tx1 jetson tk1 xff1a 绿色的版板子接口丰富 jet
  • Jetson tx2刷机过程中的坑

    暑假各种事忙得差不多后 xff0c 终于有时间拿出早就申请到的tx2 xff0c 开始刷机教程 xff0c 这两天几乎踩边了所有的坑 第一个坑 xff0c 虚拟机 一般在安装VMware虚拟机时 xff0c 建议的安装空间20GB xff0
  • python词云实现

    python的一个蛮酷炫的功能是可以轻松地实现词云 github上有关于这个项目的开源代码 xff1a https github com amueller word cloud 注意跑例程时要删除里面的wordcloud文件夹 词云的功能有
  • docker中accessTokens拉取私有git仓库

    背景 当需要git clone拉取私有库时 xff0c 传统的做法为将本机的ssh配置到gitlab中 但在docker中执行程序时需要拉取私有库 xff0c 此时无法为每个docker容器配置ssh 网上的一种方案为 xff0c 将配置好
  • Docker世界 -- 进阶篇(入门)

    一 Docker Compose 1 1 Docker Compose 介绍 1 1 1 简介 xff1a 传统的 docker 服务 xff0c 我们一般通过编写 Dockerfile 文件 xff0c 通过 build 命令创建一个镜像
  • 树莓派pico CMake工程 直接添加 .c .h文件

    假设工程名test1 xff0c 带main 的源代码文件 main c xff0c 要往工程里添加oled c oled h之类的源代码 直接添加为可执行文件 xff1a 编辑工程根目录的 CmakeLists txt add execu
  • 张量的通俗理解

    1 关于张量的四种定义 张量 在不同的运用场景下有不同的定义 xff08 1 xff09 张量是多维数组 xff0c 这个定义常见于各种人工智能软件 听起来还好理解 xff08 2 xff09 张量是某种几何对象 xff0c 不会随着坐标系
  • 如何搭建node_exporter

    如何搭建node exporter 1 观看条件 1 假设你已经看过上一篇文章 如何搭建普罗米修斯 Prometheus 2 假设你已经会搭建普罗米修斯 xff08 promethus xff09 3 上面两个假设 xff0c 只要满足一个