概述
Exporter 是一个程序或服务,负责从目标系统收集数据并将其格式化为Prometheus标准的metrics,然后通过HTTP接口暴露出来。
Metrics 是具体的度量数据,由exporter收集并暴露给Prometheus。
Metrics 是通过exporter暴露给Prometheus的,而不是直接包含在exporter中。
类型
一、Counter(计数器)
计数器是一个累积度量,主要用于跟踪随时间增加的数量。
计数器类型用于表示单调递增的计数。一但重置,通常是在进程重启时,它会回到零。
二、Gauge(仪表盘)
Gauge 类型表示一个可以任意增减的值,用于表示瞬时状态,如温度或内存使用量。
三、Histogram(直方图)
直方图类型用于观测事件的分布情况,如请求持续时间或响应大小。它将观察值分桶,并记录每个桶的观察次数。
要正确查询直方图类型度量,必须注意它的结构。每个桶都可以作为一个“计数器”,可以通过添加 _bucket 后缀和 le 标签来访问它。默认情况下会生成 _count 和 _sum 的后缀,以帮助进行定性计算
四、Summary(摘要)
摘要类型类似于直方图,但它是为特定百分位数的观察值预先计算好的。它存储了观察值的总数、总和以及预定义的分位数。
度量格式
一、HELP 文本:描述度量的目的
二、TYPE 文本:指定期望的度量类型
三、度量名称:度量的唯一标识符
四、标签:为度量提供额外的维度,允许更细粒度的过滤和聚合
五、值:度量的具体数值
具体示例
- 数据收集:Nginx exporter 从 Nginx 的日志文件或状态页面中读取各种度量数据,如请求数、响应时间等。
- 数据格式化:这些数据被格式化为 Prometheus 标准的 metrics。
- 数据暴露:Nginx exporter 启动一个 HTTP 服务器,并在 /metrics 端点上暴露这些 metrics。
- 数据抓取:Prometheus 服务器定期访问 Nginx exporter 的 /metrics 端点,获取最新的metrics,并存储在自己的数据库中。