10-1 基于Prometheus联邦收集Node指标数据

2023-05-16

文章目录

  • 前言
  • 环境准备
  • 安装prometheus
  • 安装node_exporter
  • Prometheus配置
    • 联邦节点1配置
    • 联邦节点2配置
    • 主节点配置

前言

在生产环境中,如果使用一个prometheus的话,随着监控数据的持续增长,将会导致压力越来越大,这时候可以采用prometheus的集群联邦模式。

部署多个prometheus的从节点,分别负责不同的监控数据采集,prometheus主节点负责汇总数据与grafana数据展示,可以很好地解决这种问题。



环境准备

需要准备5台机子,清单与架构图如下:

主机用途安装软件
主节点汇总联邦节点数据prometheus
联邦节点1采集node1节点数据prometheus
联邦节点2采集node2节点数据prometheus
node1工作节点1node_exporter
node2工作节点2node_exporter

在这里插入图片描述

安装prometheus

3个节点,同时安装prometheus。包括主节点,联邦节点1,联邦节点2。

# 下载 prometheus-2.37 LTS 长期稳定版
wget https://github.com/prometheus/prometheus/releases/download/v2.37.1/prometheus-2.37.1.linux-amd64.tar.gz

# 解压到指定目录
tar zxvf prometheus-2.37.1.linux-amd64.tar.gz
mv prometheus-2.37.1.linux-amd64 /apps/prometheus

创建prometheus.service服务文件:

vim /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target

[Service]
WorkingDirectory=/apps/prometheus/
ExecStart=/apps/prometheus/prometheus --config.file=/apps/prometheus/prometheus.yml
Restart=on-failure

[Install]
WantedBy=multi-user.target

开机启动,查看端口,prometheus默认端口9090

systemctl enable --now prometheus
systemctl status prometheus

netstat -lntp | grep prometheus
tcp6       0      0 :::9090                 :::*                    LISTEN      20797/prometheus

安装node_exporter

2个节点,同时安装node_exporter。包括node1,node2。

# 下载二进制文件
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz

# 解压到指定目录
tar zxvf node_exporter-1.4.0.linux-amd64.tar.gz
mv node_exporter-1.4.0.linux-amd64 /apps/node_exporter

创建node-exporter.service服务文件:

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

[Unit]
Description=Prometheus Node Exporter
After=network.target

[Service]
ExecStart=/apps/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

开机启动,查看端口,node-exporter默认端口9100

systemctl enable --now node-exporter
systemctl status node-exporter

netstat -lntp | grep exporter
tcp6       0      0 :::9100                 :::*                    LISTEN      980/node_exporter    

Prometheus配置

联邦节点1配置

在联邦节点1打开配置文件,targets为node1节点:

vim /apps/prometheus/prometheus.yml

scrape_configs:
  - job_name: "node-exporter-node1" 
    static_configs: 
      - targets: ["192.168.100.194:9100"]

重启prometheus服务:

systemctl restart prometheus

联邦节点2配置

在联邦节点2打开配置文件,targets为node2节点:

vim /apps/prometheus/prometheus.yml

scrape_configs:
  - job_name: "node-exporter-node2" 
    static_configs: 
      - targets: ["192.168.100.195:9100"]

重启prometheus服务:

systemctl restart prometheus

主节点配置

在主节点打开prometheus配置文件:关联到联邦节点1和联邦节点2:

vim /apps/prometheus/prometheus.yml

scrape_configs:

  - job_name: 'federate1' 
	scrape_interval: 15s
    
	honor_labels: true
	metrics_path: '/federate' 
	
	params:
	  'match[]': 
	    - '{job="prometheus"}' 
	    - '{__name__=~"job:.*"}' 
	    - '{__name__=~"node.*"}' 
	static_configs: 
	  - targets: 
	    - '192.168.100.191:9090'

  - job_name: 'federate2' 
	scrape_interval: 15s
    
	honor_labels: true
	metrics_path: '/federate' 
	
	params:
	  'match[]': 
	    - '{job="prometheus"}' 
	    - '{__name__=~"job:.*"}' 
	    - '{__name__=~"node.*"}' 
	static_configs: 
	  - targets: 
	    - '192.168.100.192:9090'	    
参数含义
job_name任务名称
scrape_interval每隔多久采集一次
honor_labels是否保留原始标签
metrics_path联邦节点的路径
match[]汇总所有匹配条件的数据
targets联邦节点的IP与Port

在主机点的prometheus管理页面,可以查看两个联邦节点的数据:

在这里插入图片描述



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

10-1 基于Prometheus联邦收集Node指标数据 的相关文章

  • prometheus基本介绍

    官网 https prometheus io docs introduction overview 中文 https www prometheus wang Prometheus 选择 Prometheus 并不是偶然 因为 Prometh
  • prometheus grafana nginx 安装配置和使用

    文章目录 前传 prometheus exporter容器 监控nginx nginx需要加载stub status监控 查看有没有 如果有 去配置下nginx 重要 需要重启nginx 测试监控是否成功 prome
  • 通过 Kafka 报告 (prometheus) 指标

    我正在寻找一种将 Prometheus 与应用程序解耦的方法 通过在中间放置 Kafka 来实现如下目标 Application metrics gt Kafka gt Prometheus 为了解决这个问题我有两个问题 是否有任何 Jav
  • 如何使用prometheus获取pod的CPU和内存使用百分比

    我想使用 promql Prometheus 以以下格式显示 pod 详细信息 此外 我想使用 promql 以以下格式显示应用程序 组件的 CPU 和内存利用率 promql 查询 sum container memory working
  • 使用 prometheus 统计 k8s 集群 cpu/内存使用情况

    我想用prometheus计算k8s集群cpu 内存使用情况 不是k8s pod使用情况 这样我就可以在grafana中显示 I use sum container memory usage bytes id 获取 k8s 集群使用的内存
  • 普罗米修斯上的多个目标

    我已经在Centos上配置了prometheus 版本详细信息如下 prometheus 2 5 0 linux 386 我在 prometheus yml 配置文件中添加了两个目标 所有服务器节点导出器都在运行 配置如下 scrape c
  • 如何使用 --set 来设置 Prometheus 图表的值?

    例如 设置alertmanager ingress annotations要添加两个项目 这两种方法都不起作用 helm install stable prometheus set alertmanager ingress enabled
  • Grafana“Node Exporter Full”仪表板在导入后不显示任何数据

    我正在尝试从这里导入节点导出器完整仪表板 https grafana com grafana dashboards 1860 https grafana com grafana dashboards 1860 但是当我导入仪表板时 它什么也
  • 如何在 Prometheus 中推送 Kubernetes 指标而不是拉取?

    我已经在我们的基础设施中配置了 Prometheus 进行监控 在我们的基础设施中 我们有一个正在运行的 EKS 集群 我必须在 Prometheus 中收集 EKS 指标 默认情况下 Prometheus 采用基于拉动的机制 这里我有一个
  • 每次出现错误时使用 prometheus 创建警报

    我是普罗米修斯和警报系统的新手 我开发了一个微服务并添加了指标代码 以便在出现错误时获取增量总数 现在我正在尝试创建一个警报 以便每当错误增加时 它应该标记出来并发送邮件 但我无法针对这种情况形成正确的查询 我使用了诸如 error tot
  • 使用 prometheus 和 grafana 跟踪事件

    有一篇文章 跟踪每个版本 https codeascraft com 2010 12 08 track every release 它讲述了如何在每个代码部署的图表上显示一条垂直线 他们正在使用石墨 我想用 Prometheus 2 2 和
  • Prometheus 按标签子字符串分组

    我正在尝试解决在 Prometheus 中按指标进行查询求和和分组的问题 其中分配给指标值的标签对于我的求和和分组要求是唯一的 我有 ElasticSearch 索引的度量采样大小 其中索引名称标记在度量上 索引的命名如下 并放置在标签 i
  • PromQL if then 语句等效

    我有一个执行计数的简单 PromQL 查询 sum up container name my container environment name env 这是 Grafana 仪表板的一部分 允许从下拉菜单中选择 env 我想根据环境执行
  • Prometheus - 监控容器中的命令输出

    我需要监控 eks 集群中具有 nfs 挂载路径的许多旧容器 使用 nfs client helm 图表映射容器 i 中的 nfs 目录 我需要监视我的安装路径何时由于某种原因丢失 而我发现做到这一点的唯一方法是在容器中执行命令 bin b
  • prometheus 节点实例列表

    是否可以使用 prometheus 获取节点实例列表 我有一个节点导出器 但我没有看到这样的指标 我们应该添加一个新的运算符吗 您可以使用kube 状态指标 https github com kubernetes kube state me
  • 我试图根据 Prometheus 黑盒导出器的成功响应来计算 Grafana 的正常运行时间

    我尝试计算probe success的数量 并将其乘以探测间隔 试图获得以秒为单位的正常运行时间 并将值类型设置为总数 问题是随着时间范围的变化 最小步骤发生变化 无法给我们正确的读数并使该选项无效 我们实际上想做的是根据仪表板设置的时间范
  • 如何在ubuntu中安装最新版本的prometheus/promtool?

    我下载的prometheus版本是2 3 2 wget https github com prometheus prometheus releases download v2 3 2 prometheus 2 3 2 linux amd64
  • 如何使用 re2 正则表达式否定字符串模式?

    我正在使用谷歌re2 https github com google re2 wiki Syntax用于查询目的的正则表达式普罗米修斯 https prometheus io docs prometheus latest querying
  • 获取 Pod 处于挂起状态的平均时间

    我正在尝试使用 prometheus 计算 pod 在 grafana 中处于挂起状态的平均时间 我可以使用此查询生成一个图表 以获取一段时间内处于挂起状态的 Pod 数量 sum kube pod status phase phase P
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe

随机推荐

  • 【Ubuntu】Linux文件系统简介

    Linux文件系统简介 Linux文件系统简介及类型1 Linux文件系统简介2 Linux文件系统类型 Linux文件系统结构文件操作指令创建新文件命令 touch创建文件夹命令 mkdir文件夹及目录删除命令 rm文件夹 目录 删除命令
  • 嵌入式实时操作系统(RTOS)

    一 项目准备工作 1 创建一个标准库项目 这里不用很麻烦 xff0c 项目能跑就行 xff0c 后面要以这个项目为基础移植 2 下载ucOS 源码 ucos 源码 百度网盘链接 xff1a 提取码 xff1a 1234 xff08 STM3
  • ROS环境安装与配置

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 实验环境一 ROS话题二 ROS消息三 C 43 43 编码实现小海龟圆周运动 提示 xff1a 以下是本篇文章正文内容 xff
  • solvepnp参数获取

    1 上参数 xff1a solvePnP 具体参数 xff1a objectPoints xff1a 特征点的世界坐标 xff08 3d点 xff09 xff0c 坐标值需为float型 xff0c 不能为double型 xff0c 可以为
  • 磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准

    磁力计校准椭球拟合使用篇 xff01 xff01 下方蓝色函数链接 xff01 xff01 matlab 椭球拟合函数链接 串口打印磁力计数据 xff0c 可以选择原始数据不进行任何缩放 xff08 前提是各轴向分辨率一致 xff09 sp
  • 数据结构与算法 — 希尔排序 和 快速排序

    目录 一 希尔排序 1 希尔排序的介绍 1 希尔排序的历史背景 2 插入排序的问题 3 希尔排序的做法 4 选择合适的增量 2 希尔排序的实现 3 希尔排序的效率 1 希尔排序的效率 2 Hibbard 增量序列 3 Sedgewick增量
  • MCU与MPU的区别

    CPU xff08 Central Processing Unit xff0c 中央处理器 xff09 发展出来三个分枝 xff0c 一个是DSP xff08 Digital Signal Processing Processor xff0
  • vue 自定义指令

    指令包含有四个生命周期的钩子函数 xff1a 可以局部注册 xff0c 也可以全局注册 注册一个全局自定义指令 96 v focus 96 Vue directive 39 focus 39 当被绑定的元素插入到 DOM 中时 insert
  • Ubuntu16.04下安装编译gcc10.1.0

    我自己这里有 xff0c 不过我要升级一下 xff0c 参考的这个网站 GCC编译器下载和安装教程 xff08 针对Linux发行版 xff09 首先确定一下自己当前使用的linux是否装有编译器 gcc version 可以看到我这里装了
  • Docker指令报错的解决方法:Got permission denied while trying to connect to the Docker daemon socket at unix:/

    安装完docker xff0c 运行指令时 xff0c 出现了以下错误提示 xff1a Got permission denied while trying to connect to the Docker daemon socket at
  • Ubuntu18.04上安装ROS的详细教程

    镜像下载 域名解析 时间同步请点击 阿里巴巴开源镜像站 前言 最近 xff0c 学习了胡老师的 ROS入门21讲 xff0c 在Ubuntu18 04上安装ROS过程中遇到了一些问题 xff0c 解决这些问题耗费了大半天 xff0c 故通过
  • ubuntu apt-get install xxx报错无法下载的解决方法

    镜像下载 域名解析 时间同步请点击 阿里云开源镜像站 由于我使用ubuntu20 04的火狐浏览器时 xff0c 总是播放不了视频 说是要下载Flash xff0c 但是我顺着网址进去 xff0c 发现并没有linux版本的 xff08 也
  • 【xshell连接不上ubuntu】

    如果xshell连不上ubuntu xff0c 不妨讲虚拟机ubuntu的虚拟网络编辑器还原默认设置 虚拟机 xff1e 编辑 xff1e 虚拟网络编辑器 xff1e 更改设置 xff1e 还原默认设置 记得改完连接xshell时别忘了更改
  • Linux系统上QQ闪退的问题

    Linux版本的QQ在登录后会自动退出登录 通过许多博客和多次实践发现 删除配置文件 config里面关于自己qq的文件夹 xff0c 具体命令如下 rm rf config tencent qq 自己的qq号 例如rm rf config
  • Linux离线安装Kafka(超级精简亲测安装)

    一 环境和安装包准备 首先安装jdk环境 xff0c 通过yum一键安装jdk java version 到官网下载离线安装包 zookeeper https zookeeper apache org releases html kafka
  • linux离线安装Mysql(详细步骤,亲测安装)

    链接 https pan baidu com s 1KtlYGHzKXjaXFqHP2easrQ pwd 61 k4u5 提取码 k4u5 复制这段内容后打开百度网盘手机App xff0c 操作更方便哦 tar xvf mysql 5 7
  • 【Linux面试常用问题】会了这些,去工作完全不用担心了

    Linux操作系统 如何统计一个文件占用大小 如何动态的查看日志文件 Tail f filepath 通常使用的查看日志命令是什么 说出几个常用的linux命令 1 你之前在公司使用linux命令做什么 我们公司之前测试系统搭建在linux
  • zabbix一键部署(亲测实用)

    链接 xff1a https pan baidu com s 1 NPKGDkUPktoGhV1DrrF8A pwd 61 g9p1 提取码 xff1a g9p1 下载安装包 xff0c 按照文件里的操作步骤进行部署 xff0c 非常实用
  • Socket编程-应用编程接口(API)--套接字(及其函数介绍)

    文章目录 Socket编程 应用编程接口 xff08 API xff09 套接字 网络程序设计接口 应用编程接口 API 几种典型的应用编程接口 Socket编程 Socket API概述 Socket API 套接字就像一个插销和插座 例
  • 10-1 基于Prometheus联邦收集Node指标数据

    文章目录 前言环境准备安装prometheus安装node exporterPrometheus配置联邦节点1配置联邦节点2配置主节点配置 前言 在生产环境中 xff0c 如果使用一个prometheus的话 xff0c 随着监控数据的持续