可配置的通用 Prometheus 监控模块

Prometheus

  Prometheus 是目前最流行的开源系统监控报警框架,易于配置和使用,基于 PromQL 可以很方便的在 Grafana 上展示各种需要的图表。

  Prometheus 的生态丰富各类扩展和支持都非常齐全,基本不需要二次开发,就可以找到你所使用的语言和模块的支持,很方便的嵌入。

指标类型

  • Counter

    Counter 类型的指标其工作方式和计数器一样,只增不减(除非系统发生重置)。常见的监控指标,如http_requests_totalnode_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 数据,而不是根据统计区间计算出来的。

阅读更多