searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Prometheus指标命名规则

2023-05-29 08:54:38
31
0

指标


指标名称必须符合数据模型
指标名称前缀应该表明度量所属领域相关应用程序。前缀有时被客户端库称为命名空间。对于特定于应用程序的指标,前缀通常是应用程序名称本身。然而,有时候指标更通用,比如客户端库导出的标准化指标。例如:

prometheus_notifications_total (针对Prometheus 服务器)
process_cpu_seconds_total (由客户端库导出)
http_request_duration_seconds (用于所有HTTP请求)


指标名称必须具有一个单位。应该使用基本单位(如秒、字节、米,而不是毫秒、兆字节、公里)
应该有一个复数形式的后缀来描述这个单位。累计计数以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、电子邮件地址或其他极大值。

基本单位

普罗米修斯没有任何硬编码的单位。为了更好的兼容性,应该使用基本单元

家族
 
基本单位
 
备注
 
Time
 
seconds
 
 
 
Temperature
 
celsius
 
由于实际原因,摄氏温度比开尔文温度更受欢迎。
 
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
 
“克”是首选而不是“千克”,以避免kilo
前缀的问题。
 

 
 
0条评论
0 / 1000
孙****洋
3文章数
0粉丝数
孙****洋
3 文章 | 0 粉丝
孙****洋
3文章数
0粉丝数
孙****洋
3 文章 | 0 粉丝
原创

Prometheus指标命名规则

2023-05-29 08:54:38
31
0

指标


指标名称必须符合数据模型
指标名称前缀应该表明度量所属领域相关应用程序。前缀有时被客户端库称为命名空间。对于特定于应用程序的指标,前缀通常是应用程序名称本身。然而,有时候指标更通用,比如客户端库导出的标准化指标。例如:

prometheus_notifications_total (针对Prometheus 服务器)
process_cpu_seconds_total (由客户端库导出)
http_request_duration_seconds (用于所有HTTP请求)


指标名称必须具有一个单位。应该使用基本单位(如秒、字节、米,而不是毫秒、兆字节、公里)
应该有一个复数形式的后缀来描述这个单位。累计计数以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、电子邮件地址或其他极大值。

基本单位

普罗米修斯没有任何硬编码的单位。为了更好的兼容性,应该使用基本单元

家族
 
基本单位
 
备注
 
Time
 
seconds
 
 
 
Temperature
 
celsius
 
由于实际原因,摄氏温度比开尔文温度更受欢迎。
 
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
 
“克”是首选而不是“千克”,以避免kilo
前缀的问题。
 

 
 
文章来自个人专栏
个人专栏sy
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0