首页 > 其他分享 >prometheus federate特性(数据维度抽取)

prometheus federate特性(数据维度抽取)

时间:2023-12-01 14:23:10浏览次数:47  
标签:federate scrape metrics prometheus every 维度 底层

一、背景描述: prometheus存有大量的监控明细数据,但是报表或者大屏监控需要的是更高维度的数据统计。如果直接从明细数据统计,很可能会因为数据量 过大而导致查询缓慢,甚至prometheus发生OOM。   二、解决思路: 借助prometheus提供的federate特性和recording rule特性实现。   1.在底层prometheus,通过recording rule预计算需要统计的明细metrics,形成新的指标。metrics命名最好遵循prometheus的规范(规范参考:https://prometheus.io/docs/practices/naming/)   2.创建提供大屏查询的prometheus(暂且叫统计用prometheus),通过federate功能,从步骤1中的底层prometheus获取统计用metrics。   三、优势: 1.通过上述操作,即可将底层数据和统计数据分割。由于统计用prometheus只保存高维度数据,所以数据量会比底层prometheus少很多。可以设置更长的数据存留时间(比如一年),即可满足报表对历史数据统计的要求;   2.传统方式做法:利用定时器,将统计数据存到mysql。相比之下,prometheus federate方案对统计报表的时间精度可以细化到秒级。而且太久远的统计数据会自动清除(当然也可以存留5年、10年)。   四、实施步骤: 说明: a.为了便于聚焦federate特性,实施例中利用external_labels来区分metrics是来自底层prometheus还是统计用prometheus; b.实施例中不包括recording rule配置,通过external_labels验证是否抽取成功   4.1 底层prometheus配置文件(prometheus.yml)

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.
  external_labels:
    EXT_LABEL_LEVEL: 'base_prometheus'  # 设置外部label:EXT_LABEL_LEVEL=base_prometheus
scrape_configs:
- job_name: 'node-exporter'  # 采集node-exporter
  static_configs:
    - targets: ['node-exporter:9100']

 

4.2 统计用prometheus配置文件(prometheus.yml)

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.
  external_labels:
    EXT_LABEL_FEDERATE: 'true' # 有此label的数据,证明出自此prometheus
scrape_configs:
- job_name: 'federate'
  honor_labels: true # 避免原始数据中,因为label重复被覆盖
  metrics_path: '/prometheus/federate' # 因为我的prometheus配置文件中添加了前缀“/prometheus”

  params:
    'match[]':
      - '{__name__=~"^node_.*"}' # 抽取底层prometheus中,所有node开头的metrics

  static_configs:
    - targets: # 设置底层prometheus地址
        - 'prometheus:9090'  # 本实施例,底层prometheus安装在k8s中,所以这里写的是servcie名称

 

五、federate抽取验证

 

标签:federate,scrape,metrics,prometheus,every,维度,底层
From: https://www.cnblogs.com/danny-djy/p/17869610.html

相关文章

  • 安装redis_exporter 以及配置prometheus
    安装:1、下载redis_exporterwgethttps://github.com/oliver006/redis_exporter/releases/download/v1.29.0/redis_exporter-v1.29.0.linux-amd64.tar.gz2、解压/usr/local目录下,并重命名#tar-zxvfredis_exporter-v1.29.0.linux-amd64.tar.gz-C/usr/local/#cd/usr/local/#......
  • Prometheus时区问题说明
    背景:prometheus默认使用的时间戳是UTC,UTC代表"协调世界时"(CoordinatedUniversalTime),是国际标准时间。它是一种基于原子钟的时间标准,被认为是世界上最准确的时间标准 我想做的事情:修改prometheus程序里的时间修改为CTS(中国标准时间),"Asia/Shanghai" 时区 ......
  • Windows平台的prometheus和Grafana的学习与使用
    Windows平台的prometheus和Grafana的学习与使用背景最近没有了linux机器突然想捯饬一下Windows平台的监控与使用所以总结一一下.第一步下载https://prometheus.io/download/https://grafana.com/grafana/download注意需要下载windows平台的安装介质建议是选择zip包.zip包......
  • prometheus配置自己电脑ip查看指标
    1.使用ipconfig获取自己电脑ip,在服务器使用:curlip:1234 命令查看是否通,不通的话可能要关闭防火墙2.在服务器的Prometheus安装目录: 编辑:prometheus.yml文件 这里配置你的电脑ip,保存,使用:ps-ef|grepprometheus,杀掉当前Prometheus进程,然后使用:./prometheus&  进行重......
  • 性能测试监控--Prometheus
    随着业务的增长,服务器部署由单一架构向分布式集群架构转变,性能测试过程中指标监控也由单一服务器向集群服务器转变。 对于性能测试团队来说,需要建立起适用于测试的多机监控系统,以便后期顺利且高效地进行监控分析调优,从而保证整个测试过程的高可靠性。 因此,小编本期为大家讲......
  • 智慧博物馆视频监控设计,可视化AI智能分析技术助力博物馆多维度监管
    一、背景与需求博物馆视频智能监控系统是智慧博物馆建设的重要组成部分,传统的博物馆视频监控系统以模拟系统架构为主,存在监管效率低、各个系统独立运作形成数据孤岛、以“事后补救”为主要监管手段等管理弊病,无法满足互联网高速发展背景下对博物馆的智能化、可视化、数字化、科学化......
  • 3招解决时序数据高基数难题,性能多维度提升!
    本文分享自华为云社区《DTSETechTalk|3招解决时序数据高基数难题,性能多维度提升!》,作者:华为云开源。本期《openGemini全新列存引擎,为您解决时序数据高基数难题》的主题直播中,华为云开源DTSE技术布道师&数据库创新Lab技术专家黄飞腾,与开发者朋友们分享了时序数据库的特点和遥测......
  • 使用github rest api 按pr维度统计工作量思路
    1.准备组装必要参数1.基本参数在header中需要包含验证token2.功能参数#{baseApi}/#{org}/#{repo}/功能参数?since=#{date}&until=#{date}&per_page=#{num}&page=#{num}since和until用来确定时间范围,per_page和page组合用来翻页2.根据时间段获取pr对应commit的sha值......
  • 3招解决时序数据高基数难题,性能多维度提升!
    本文分享自华为云社区《DTSETechTalk|3招解决时序数据高基数难题,性能多维度提升!》,作者:华为云开源。本期《openGemini全新列存引擎,为您解决时序数据高基数难题》的主题直播中,华为云开源DTSE技术布道师&数据库创新Lab技术专家黄飞腾,与开发者朋友们分享了时序数据库的特点和遥测数......
  • Prometheus Go client library 详解
    介绍Prometheus支持4种指标类型,分别是Counter、Gauge、Histogram和Summary。Counter指标类型,指标值是只能递增,不能递减的数值。需要注意的是,当Prometheusserver重启时,指标值会被重置为0。该指标类型可用于统计接口的请求数、错误数等使用场景。Gauge指标类型,指标......