博客
关于我
Prometheus 云原生 - Prometheus 数据模型、Metrics 指标类型、Exporter 相关
阅读量:796 次
发布时间:2023-03-04

本文共 1626 字,大约阅读时间需要 5 分钟。

Prometheus 指南

数据类型

简单理解

安装 Prometheus 后会暴露一个 /metrics 的 HTTP 服务(相当于安装了 prometheus_exporter),通过配置(默认会加上 /metrics),Prometheus 可以采集到这个 /metrics 里面的所有监控样本数据。例如:

prometheus_http_requests_total{code="200",handler="/api/v1/label/:name/values"} 3

时序样本

Prometheus 存储的是时序数据,也就是按照时间的维度存储连续的数据集合(指标名称和标签来做唯一标识)。样本格式如下:

prometheus_http_requests_total{code="200",handler="/api/v1/label/:name/values"} @133734964723510 3

其中:

  • 时间戳:一个毫秒级的 Unix 时间戳
  • :一个 float64 值

格式与命名要求

Prometheus 时序格式中包含指标名称和标签。指标名称和标签名/标签值可以包含 ASCII 字母、数字、下划线、冒号,但必须匹配正则表达式 [a-zA-Z_:][a-zA-Z0-9_:]*,即开头的第一个字符不能是数字。

例如:

prometheus_http_requests_total{code="200",handler="/api/v1/label/:name/values"}

指标类型

Counter 计数器

Counter 是一个单调递增的数值,主要用于记录某段时间内 HTTP 请求的增长率。通过 rate 和 irate 函数可以生成样本数据的变化状况。

Gauge 灵活数值

Gauge 是一种用于记录可以任意上下变化的数值指标类型,与 Counter 不同,Gauge 适合用来监控瞬时值或频繁变化的值。

Histogram 数据分布

Histogram 用于记录数据分布,通过将数据划分成多个桶(buckets),统计每个桶中的样本数量。例如:

prometheus_http_request_duration_seconds_bucket{handler="/metrics",le="0.1"} 612

Summary 分位数

Summary 用于观察和聚合时间持续性或大小的指标类型,与 Histogram 类似,但更关注分位数。Summary 会自动计算请求延迟、响应时间等的分位数,同时还会维护时间的总数和。

Exporter 相关

概述

所有可以向 Prometheus 提供监控样本数据的程序都可以被称为一个 Exporter。Prometheus 通过轮询的方式,定期从这些目标(Target)中获取样本数据。

类型

  • 直接采集型:如 MySQL Exporter、RabbitMQ Exporter 等,直接内置了对应的应用程序。
  • 简洁采集型:如 Node Exporter,需要编写监控采集程序。
  • 规范

    所有 Exporter 程序都需要按照 Prometheus 的规范返回监控样本数据。例如,Node Exporter 访问 http://env-base:9100/metrics 会返回如下内容:

    # HELP prometheus_tsdb_wal_fsync_duration_seconds_count 1# TYPE: countprometheus_tsdb_wal_fsync_duration_seconds_count 2

    样本数据规范:

    • metric_namelabel_name 必须遵循 PromQL 格式规范。
    • value 是一个 float 格式的数据。
    • timestamp 类型为 int64(从 1970-01-01 00:00:00 以来的毫秒数)。

    转载地址:http://ahxfk.baihongyu.com/

    你可能感兴趣的文章
    POI解析Excel【poi的坑——空行处理】
    查看>>
    POI:POI+JXL实现xls文件添加水印
    查看>>
    POI:POI实现docx文件添加水印
    查看>>
    POJ 1006
    查看>>
    Quartz中时间表达式的设置-----corn表达式
    查看>>
    poj 1035
    查看>>
    POJ 1061 青蛙的约会 (扩展欧几里得)
    查看>>
    Quartz2.2.1简单使用
    查看>>
    POJ 1080 Human Gene Functions(DP:LCS)
    查看>>
    Quant 开源项目教程
    查看>>
    POJ 1088 滑雪
    查看>>
    POJ 1095 Trees Made to Order
    查看>>
    POJ 1113 Wall(计算几何--凸包的周长)
    查看>>
    poj 1125Stockbroker Grapevine(最短路)
    查看>>
    Qualitor processVariavel.php 未授权命令注入漏洞复现(CVE-2023-47253)
    查看>>
    poj 1151 (未完成) 扫描线 线段树 离散化
    查看>>
    POJ 1151 / HDU 1542 Atlantis 线段树求矩形面积并
    查看>>
    poj 1163 数塔
    查看>>
    POJ 1177 Picture(线段树:扫描线求轮廓周长)
    查看>>
    Qualitor checkAcesso.php 任意文件上传漏洞复现(CVE-2024-44849)
    查看>>