2-Prometheus监控主机

news/2024/5/18 22:21:53 标签: prometheus

文章目录

  • 1 介绍
  • 2 部署
    • 2.1 下载
    • 2.2 解压到指定目录
    • 2.3 配置进程管理
    • 2.4 程序启动参数
    • 2.5 启动和监听
  • 3 添加到 Prometheus
  • 4. 指标
    • 4.1 通过页面查看指标数据
    • 4.2 查看都有哪些指标
    • 4.3 指标数据规范
  • 5 程序运行参数

1 介绍

Prometheus 使用 node_exporter 服务程序监控 Linux 主机。

2 部署

2.1 下载

官方下载地址 https://prometheus.io/download/
找到 node-export 下载即可

curl -o node-exporter.tar.gz -L https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

2.2 解压到指定目录

tar -xf  node_exporter-1.7.0.linux-amd64.tar.gz -C  /usr/local/
ln -s /usr/local/node_exporter-1.7.0.linux-amd64/  /usr/local/node_exporter

2.3 配置进程管理

/etc/systemd/system/node-exporter.service

[Unit]
Description=The node-exporter 监控程序
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/node_exporter/node_exporter  --collector.textfile.directory=/usr/local/node_exporter/

KillSignal=SIGQUIT

Restart=always

RestartPreventExitStatus=1 6 SIGABRT

TimeoutStopSec=5
KillMode=process
PrivateTmp=true
LimitNOFILE=1048576
LimitNPROC=1048576

[Install]
WantedBy=multi-user.target

2.4 程序启动参数

  • –web.listen-address=:9111 指定监听端口为 任意主机地址的 9111端口
  • –collector.textfile.directory=/apps/exporterData 指定可以从目录 /apps/exporterData 中读取通过其他脚本程序获取的监控数据(注意是已经获取到的数据,不是其他脚本),比如使用脚本获取到的节点中的容器运行指标。

2.5 启动和监听

systemctl daemon-reload
systemctl enable --now node-exporter

默认监听端口9111

3 添加到 Prometheus

修改配置,增加被监控对象
vi /usr/local/prometheus/prometheus.yml

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
    # 如下新增
  - job_name: "beijing"
    static_configs:
      - targets:
          - 192.168.146.138:9111
        labels:
          dbs: mysql

检查配置文件语法

[root@mail prometheus]# ./promtool check config prometheus.yml
Checking prometheus.yml
 SUCCESS: prometheus.yml is valid prometheus config file syntax

重新加载配置文件

curl -X POST localhost:9090/-/reload

访问 Prometheus 查看是否生效
在这里插入图片描述

4. 指标

4.1 通过页面查看指标数据

在这里插入图片描述
上面的数据是服务器里每个分区的总容量信息。

4.2 查看都有哪些指标

也可以通过命令行获取原始指标数据

curl 192.168.146.138:9111/metrics

部分部署输出内容:

# HELP node_filesystem_free_bytes Filesystem free space in bytes.
# TYPE node_filesystem_free_bytes gauge
node_filesystem_free_bytes{device="/dev/mapper/centos-root",fstype="xfs",mountpoint="/"} 1.5382708224e+10
node_filesystem_free_bytes{device="/dev/sda1",fstype="xfs",mountpoint="/boot"} 9.19621632e+08
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/run"} 1.03346176e+08
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/run/user/0"} 2.269184e+07

上面的数据是关于服务器的分区容量的一组信息。

4.3 指标数据规范

从上面的数据可以发现,一组指标数据有三部分组成:

1 HELP
格式要求是 指标名和指标的说明信息。

2 TYPE
格式要求是 指标名称和指标数据类型。

后面高级部分会详细介绍数据类型的含义。

3 指标数据本身
指标数据包含了指标名称,标签已经对应的值。
一组相同特征,相同类型的指标数据可以有多条。

node_filesystem_free_bytes{device="/dev/mapper/centos-root",fstype="xfs",mountpoint="/"} 1.5382708224e+10
node_filesystem_free_bytes{device="/dev/sda1",fstype="xfs",mountpoint="/boot"} 9.19621632e+08
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/run"} 1.03346176e+08
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/run/user/0"} 2.269184e+07

5 程序运行参数

--web.listen-address=:9100 指定监听地址和端口。

--collector.filesystem.mount-points-exclude=正则表达式 不监控正则表达式中的挂载点。

如下示例,返回的挂载点信息中将不会再有这些挂载点:

/usr/local/node_exporter/node_exporter  --collector.filesystem.mount-points-exclude=^/(boot|sys|proc|dev|run)($|/)

如果是在 systemd 程序控制文件中,值不能加引号,如果在命令行里直接运行,值需要加引号。

效果如下:
在这里插入图片描述


http://www.niftyadmin.cn/n/5462025.html

相关文章

WPF上使用MaterialDesign框架---下载与配置

一、介绍: Material Design语言的一些重要功能包括 系统字体Roboto的升级版本 ,同时颜色更鲜艳,动画效果更突出。杜拉特还简要谈到了新框架的一些变化。谷歌的想法是让谷歌平台上的开发者掌握这个新框架,从而让所有应用就有统一的…

Appium基础操作元素定位实操入门

一、基础操作 1、安装和配置:包括安装 Appium 服务器、设置环境变量等。2、启动服务器:使用命令行或相关工具启动 Appium 服务器。3、连接设备或模拟器:将测试设备或模拟器连接到计算机上。4、识别应用程序:指定要测试的应用程序的相关信息,如包名和活动名。上述1~4内容可…

redis学习-主从复制和哨兵模式

目录 1. 主从复制,读写分离 1.1 介绍 1.2 使用命令介绍 1.3 实现 1.4全量复制和增量复制 2.哨兵模式 1. 主从复制,读写分离 1.1 介绍 指的是将一台redis服务器中的数据复制到其他redis服务器,前者称为主机,后者称为从机&#xf…

基于spark的大数据分析预测地震受灾情况的系统设计

基于spark的大数据分析预测地震受灾情况的系统设计 在本篇博客中,我们将介绍如何使用Apache Spark框架进行地震受灾情况的预测。我们将结合数据分析、特征工程、模型训练和评估等步骤,最终建立一个预测模型来预测地震造成的破坏程度,同时使用可视化大屏的方式展示数据的分布…

OpenCV的图像颜色空间转换、缩放、裁剪与旋转

OpenCV的图像颜色空间转换 一、引言 在数字图像处理中,颜色空间转换是一个常见的操作。OpenCV作为一个强大的计算机视觉库,提供了丰富的函数来支持颜色空间转换。本文将围绕OpenCV的颜色空间转换展开,帮助读者理解颜色空间的基本概念、转换…

pytest中文使用文档----10skip和xfail标记

1. 跳过测试用例的执行 1.1. pytest.mark.skip装饰器1.2. pytest.skip方法1.3. pytest.mark.skipif装饰器1.4. pytest.importorskip方法1.5. 跳过测试类1.6. 跳过测试模块1.7. 跳过指定文件或目录1.8. 总结 2. 标记用例为预期失败的 2.1. 去使能xfail标记 3. 结合pytest.param方…

【SpringBoot】-- Spring Validation参数校验框架

SPringle Validation是Spring提供的一个参数校验框架&#xff0c;使用预定义的注解完成参数校验。 一、自定义参数校验 1、引入Spring Valiation依赖 <!-- validation依赖--><dependency><groupId>org.springframework.boot</groupId><arti…

数据结构——优先级队列及多服务台模拟系统的实现

一、优先级队列的定义和存储 优先级队列定义&#xff1a;优先级高的元素在队头&#xff0c;优先级低的元素在队尾 基于普通线性表实现优先级队列&#xff0c;入队和出队中必有一个时间复杂度O(n),基于二叉树结构实现优先级队列&#xff0c;能够让入队和出队时间复杂度都为O(log…