可配置的通用 Prometheus 监控模块
Prometheus
Prometheus 是目前最流行的开源系统监控报警框架,易于配置和使用,基于 PromQL 可以很方便的在 Grafana 上展示各种需要的图表。
Prometheus 的生态丰富各类扩展和支持都非常齐全,基本不需要二次开发,就可以找到你所使用的语言和模块的支持,很方便的嵌入。
指标类型
Counter
Counter 类型的指标其工作方式和计数器一样,只增不减(除非系统发生重置)。常见的监控指标,如
http_requests_total
、node_cpu
都是 Counter 类型的监控指标。 一般在定义 Counter 类型指标的名称时推荐使用_total
作为后缀。Gauge
Gauge 类型的指标侧重于反应系统的当前状态。因此这类指标的样本数据可增可减。常见指标如:
node_memory_MemFree
(主机当前空闲的内容大小)、node_memory_MemAvailable
(可用内存大小)都是 Gauge 类型的监控指标。Histogram
Histogram由
<basename>_bucket{le="<upper inclusive bound>"}
,<basename>_bucket{le="+Inf"}
,<basename>_sum
,<basename>_count
组成,主要用于表示一段时间范围内对数据进行采样(通常是请求持续时间或响应大小),并能够对其指定区间以及总数进行统计,通常它采集的数据展示为直方图。如:请求持续时间,响应大小。Summary
和 Histogram 类似,由
<basename>{quantile="<φ>"}
,<basename>_sum
,<basename>_count
组成,主要用于表示一段时间内数据采样结果(通常是请求持续时间或响应大小),它直接存储了 quantile 数据,而不是根据统计区间计算出来的。