prometheus 中文文档
v2.17
v2.17
  • Prometheus 中文文档
  • introduction
    • 概述
    • 初识 Prometheus
    • 与替代品比较
    • 常见问题
    • 路线图
    • 相关资源
    • 相关术语
  • concepts
    • 数据模型
    • 数据指标类型
    • 作业和实例
  • prometheus
    • 快速开始
    • 安装
    • 配置
      • 配置
      • 定义记录规则
      • 告警规则
      • 模板示例
      • 模板参考
      • 规则的单元测试
    • 查询
      • Prometheus 查询
      • 运算符
      • 函数
      • 查询示例
      • HTTP API
    • 存储
    • 联合
    • 管理 API
    • Prometheus 2.0 迁移指南
    • API 稳定性保证
  • visualization
    • 表达式浏览器
    • Grafana 对 Prometheus 的支持
    • 控制台模板
  • operating
    • 安全模型
    • 集成
  • instrumenting
    • 客户端库
    • 编写客户端库
    • 推送数据指标
    • 数据导出及相关集成
    • 编写数据导出器
    • 公开的格式
  • alerting
    • 告警概述
    • Alertmanager
    • 配置
    • 发送告警
    • 通知模板参考
    • 通知模板示例
    • 管理 API
  • practices
    • 指标和标签命名
    • 控制台和仪表盘
    • 工具
    • Histogram and Summary
    • 告警
    • 记录规则
    • 什么时候使用 Pushgateway
    • 远程写调试
  • guides
    • 使用 cAdvisor 监控 docker 容器数据指标
    • 使用基于文件的服务发现来发现数据采集目标
    • 实现一个 Go 应用
    • 使用 Node Exporter 监控 Linux 主机指标
    • 使用基本身份验证保护 Prometheus API 和 UI 端点
    • 理解并使用 multi-target exporters 模式
    • 使用 TLS 加密 Prometheus API 和 UI 端点
    • 使用 Prometheus 查询日志
由 GitBook 提供支持
在本页
  • 指标名称
  • 标签
  • 基本单位

这有帮助吗?

  1. practices

指标和标签命名

上一页管理 API下一页控制台和仪表盘

最后更新于2年前

这有帮助吗?

使用 Prometheus 不需要本文档中介绍的度量标准和标签约定,但是可以用作风格指南和最佳实践的集合。各个组织可能希望采用其中的一些做法,如命名约定,有所不同。

指标名称

指标名称...

  • ...必须符合中的有效字符

  • ...应具有与度量标准所属域相关的(单个单词)应用程序前缀。客户端库有时将该前缀称为namespace。对于特定于应用程序的数据指标,前缀通常是应用程序名称本身。但是,有时数据指标更为通用,例如客户端库导出的标准化数据指标。例如:

    • prometheus_notifications_total(特指 Prometheus 服务)

    • process_cpu_seconds_total(由许多客户端库导出)

    • http_request_duration_seconds(对于所有的 HTTP 请求)

  • ...必须由一个单位(如,不要将秒与毫秒或秒与字节混合)

  • ...应当使用基本单位(如. seconds, bytes, meters - 而不是 milliseconds, megabytes, kilometers).参见以下基本单位列表.

  • ...应以单位的复数形式进行描述。请注意,如果适用,除单位外,累加计数还具有total作为后缀

    • http_request_duration_seconds

    • node_memory_usage_bytes

    • http_requests_total(用于无单位的累计计数)

    • process_cpu_seconds_total(用于带单位的累加计数)

    • foobar_build_info

      (用于提供有关正在运行的二进制文件的的伪度量)

  • ...应该在所有标签维度上表示相同的逻辑事物

    • 请求时长

    • 数据传输字节

    • 瞬时资源使用率(百分比)

根据经验,给定指标所有维度上的sum()或avg()都应该有意义(尽管不一定有用)。如果没有意义,请将数据分成多个指标。 如,在一个数据指标中具有各种队列的容量是好的,而将队列的容量与队列中当前元素的数量混合则不行。

标签

使用标签来区分被测物的特征:

  • api_http_requests_total - 区分请求类型: operation="create|update|delete"

  • api_request_duration_seconds - 区分请求阶段: stage="extract|transform|load"

不要将标签名称放在度量标准名称中,这会引入冗余,且如果将各个标签汇总在一起会引起混淆。

警告: 请记住,键值标签对的每个唯一组合都代表一个新的时间序列,这可以大大增加存储的数据量。请勿使用标签存储具有高基数(许多不同的标签值)的维度,例如用户 ID,电子邮件地址或其他无限制的值集。

警告: 请记住,键值标签对的每个唯一组合都代表一个新的时间序列,这可以大大增加存储的数据量。请勿使用标签存储具有高基数(许多不同的标签值)的维度,例如用户 ID,电子邮件地址或其他无限制的值集。

基本单位

Prometheus没有任何单位的硬编码。为了获得更好的兼容性,应使用基本单位。以下列出了一些数据指标序列及其基本单位。该列表并不详尽。

Family

Base unit

Remark

Time(时间)

seconds(秒)

Temperature(温度)

celsius(摄氏温度)

由于实践原因,celsius 优于 kelvin

Length(长度)

meters(米)

Bytes(字节数)

bytes(字节)

Bits(位)

bytes(字节)

为了避免混淆不同的度量标准,请始终使用 bytes,即使 bits 看起来更常见

Percent(百分比)

ratio(比率)

值是 0-1(而不是0-100). ratio 仅用作 disk_usage_ratio 之类的后缀。常用指标名称遵循模式 A_per_B

Voltage(电压)

volts(伏特)

Electric current(电流)

amperes

Energy(能量)

joules(焦耳)

Mass(质量)

grams(克)

grams 比 kilograms 更可避免 kilo 前缀出现问题.

元数据
数据模型