Prometheus(一)

今天五一放假做为宅男就给大家讲一下普罗米修斯监控软件,prometheus也是容器化必不可少是一个监控软件,基于GO语言开发的,部署方便但没有持续展示的页面,通常我们会配合Grafana来展示页面

从下面的结构图中我们可以看到prometheus分为及部分:

  • prometheus server:Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。采用的TSDB时序存储来存储采集到的数据
  • pushgateway:把采集到的数据临时存储到pushgateway中,然后推送给prometheus server,通常用于prometheus server无法直接采集的节点通过pushgateway来解决
  • aletmanager:prometheus server中基于promQL创建告警规则,但无法向外部告警,则推送给alertmanager然后对接要发送告警的媒介,如微信,邮箱,短信等
  • exporter:exporter将监控数据采集的端点通过HTTP服务的形式暴露给prometheus server,prometheus server则通过exporter提供的端点来采集监控数据,所以有各种的exporter,如node_exporter,mysql_exporter等等
结构图
prometheus指标类型

prometheus使用四种方法来描述监视的指标

  • Counter:计数器,用于保存单调递增的数据,比如网站的访问次数,不能为负值,也不支持减少,但可以重置为0
  • Gauge:仪表盘,用于存储有这起伏特征的指标数据,比如监控内存、CPU大小等
  • Histogram:直方图,它会在一段时间范围内对数据进行采样,并将其计入可配置的存储桶之中,可以理解为例如根据一个时间内统计某个值的总和
  • Summary:摘要,Histogram的扩展类型,它是由被监控端自行计算出分位数,并将计算结果响应给Prometheus的样本采集请求,其分位数计算是由监控端完成