Prometheus 收集器和采集到的指标(Metric)说明

2019-09-16 0 By admin

一、Prometheus 收集器

Prometheus 服务使用 Exporter 工具来暴力主机和应用程序的指标,目前有很多可用于各种目的的 Exporter。

  1. Node exporter 使用go语言编写,提供主机指标数据(CPU、内存和磁盘等)。
  2. textfile 收集器:自定义指标可以是批处理或者cron作业等无法抓取的exporter的源,甚至是为主机提供上下文的静态指标。
  3. systemd 收集器:提供systemd中的服务和系统状态。

二、Prometheus 的指标定义

Prometheus 的所有监控指标(Metric)被统一定位格式为:
[metric_name]{label_name=label_value...} 样本值
涉及到指标和标签两部分。

三、Prometheus 指标根据数据类型分类

Prometheus 的指标分为Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要) 四个类型。

2.1、Counter 计数器

Counter 是一个单调递增的计数器(累计指标)。它不允许counter值下降,但是它可以被重置为0(例如:客户端服务重启)。
在使用 Counter 指标时,通常会结合 rate() 方法获取该指标在某个时间端的变化率。如通过HTTP累计请求数,计算HTTP每秒请求数。

2.2、Gauge 仪表盘

表征指标的实时变化情况,可增可减;例如MEM的使用情况和网络I/O的使用情况。

2.3、Histogram 直方图

Histogram 反映某个区间的样本个数,通过{le=”上边界”}指定这个范围内的样本个数。

2.4、Summary 摘要

Summary 是采样点分位图统计,用于得到数据的分布情况。请先行了解百分位和数据分位知识。

四、Prometheus 指标根据监控类型分类

3.1、USE 方法

利用饱和度和错误(USE)方法是一种用于分析任何系统性能的方法。它指导构建检查表,该检查表可用于服务器分析,以快速识别资源瓶颈或错误。它从提出问题开始,然后寻找答案,而不是从给定的指标(部分答案)开始并尝试倒退。
USE方法可以概括为:
对于每种资源,请检查利用率,饱和度和错误。

在 Prometheus 监控指标中包括CPU、内存和磁盘的使用率。

3.2、服务状态

使用 Prometheus 抓取 systemd exporter 的指标,就可以收集到服务器中服务运行的状态。

3.3、可用性和UP指标

Prometheus 提供了用于监控节点状态的指标:up指标。
如果实例是健康的,则指标设置为1,即数据抓取成功。

五、时间序列

Prometheus 采集的数据样本都是以时间序列保存的。每个样本有三部分组成:指标、样本值和时间戳。