完整译文请访问:http://www.coderdocument.com/docs/prometheus/v2.14/instrumenting/exposition_formats.html。
指标可以使用简单的基于文本的暴露格式暴露给Prometheus。有各种各样的客户端库可以实现这种格式。如果你所使用的语言没有相应的客户端库,你可以创建自己的客户端库。
注意:Prometheus的一些早期版本除了支持当前基于文本的格式外,还支持基于协议缓冲区(即Protobuf)的暴露格式。然而,从2.0版本开始,Prometheus不再支持基于protobuf的格式。你可以在本文档中了解这种更改背后的原因。
基于文本的格式
从Prometheus 2.0版本开始,所有向Prometheus暴露指标的流程都需要使用该基于文本的格式。在本节中,你可以找到关于这种格式的一些基础信息,以及这种格式的更详细的信息。
基础信息
方面 | 描述 |
---|---|
开始时间 | 2014年4月 |
支持的版本 | >=0.4.0 版本 |
传输 | HTTP |
编码 | UTF-8, \n 行尾结束符号 |
HTTP Content-Type | text/plain; version=0.0.4 (缺少version 值将退回到最新的文本格式版本。) |
可选的HTTP Content-Encoding | gzip |
优势 | 人类可读;易于组装,特别是在极简情况下(不需要嵌套);逐行可读(提示和文档字符串类型除外) |
限制 | 冗长;类型和文档字符串不是语法的组成部分,这意味着很少甚至不存在指标契约验证;解析成本 |
支持的指标类型 | Counter;Gauge;Histogram;Summary;Untyped |
文本格式细节
Prometheus的文本格式是面向行的。行之间用一个换行符(\n
)分隔。最后一行必须以换行符结束。空行被忽略。
行格式
在一行中,可以存在任意数量的空格和制表符(如果要与前面的标记(token)合并,则必须至少用一个制表符进行分隔)。前面和后面的空白将被忽略。
完整译文请访问:http://www.coderdocument.com/docs/prometheus/v2.14/instrumenting/exposition_formats.html。