prometheus-强大的监控框架

prometheus是当前监控k8s最常用的监控框架,并且grafana也支持prometheus搭建可视化监控

prometheus组件

prometheus架构图如下:
在这里插入图片描述

  • prometheus server
    prometheus server本身就是一个时间序列数据库,时间序列数据库就是prometheus每隔几秒就会对同一个指标重复查询其值,同一个指标会保存其历史时间段的值,这对于监控来说比较重要,监控需要展示历史阶段不同时间的值,所以叫时间序列数据库
  • exporter && pushgateway
    prometheus有两种采集数据的方式
    一是靠各个服务自己按照prometheus规定的格式编写exporter服务并对外暴露接口,prometheus会主动调接口pull数据,适用长时间数据
    二是靠各个服务自己往pushgateway推数据,适用短时间会消失的数据
  • alertmanager
    alertmanager可以根据prometheus存储的数据配置定制的报警规则,并发送到对应的报警监控人
  • grafana
    grafana是一个可视化界面,grafana支持PromeQL以可视化的形式展示不同的监控指标

PromeQL

PromeQL是prometheus独有的数据库查询语句,grafana展示的可视化指标需要先写promeQL从prometheus查询到数据才能展示
promeQL支持一些基本的操作符,PromQL 查询结果主要有 3 种类型:
瞬时数据 (Instant vector): 包含一组记录,每个记录只有一个点,就是最新的一条时间记录,例如:http_requests_total
区间数据 (Range vector): 包含一组记录,每个记录有多个点,包括历史的多条时间记录,例如:http_requests_total[5m]
纯量数据 (Scalar): 纯量只有一个数字,没有时序,例如:count(http_requests_total)、sum(http_requesets_total)

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐