写点什么

55 K8S 之 Prometheus 监控步骤

  • 2021 年 12 月 25 日
  • 本文字数:984 字

    阅读完需:约 3 分钟

55 K8S之Prometheus监控步骤

具体的监控场景中,Prometheus 需要了解每一个支持直接测量的目标,以及每一个 Exporter 的接入位置。然而,动态系统环境中,需要纳入监控控制系统中的目标会动态变化,用户难以全部事先静态定义出这些目标来,这就要借助服务发现功能进行动态生成。


待监控目标确定之后,Prometheus 即可以拉取的方式通过 HTTP 请求采集相应的指标数据,这个过程在 Prometheus 中也称为“指标抓取”。响应报文中的指标数据经 Prometheus 解析后以时间序列的格式保存在内存上,并定时存储至内置的 TSDB(Time-Series Database)存储系统中,同时存入的还有其他几个有用的指标,例如抓取操作的成功状态以及耗费的时长等。指标抓取是一个周期性的例行操作,默认为 15 秒,用户可根据需要自定义为 10 秒~60 秒区间内的任意值。


Prometheus 内置了众多的 HTTP API,用户既可以通过它们请求原始数据,又可以进行 PromQL 查询,并可基于数据与查询结果生成图形和仪表板。PromQL 是一种表达式语言,它支持使用多维时间序列标签进行过滤,允许用户实时选择和汇聚时间序列数据,广泛应用于 Prometheus 的数据查询、可视化和告警处理等使用场景当中


Prometheus 的告警功能可分为两个部分:一部分是 Prometheus Server 中的告警规则,它负责将告警通知发送到 Alertmanager;而 Alertmanager 就是相应的另一部分,它负责管理告警操作,包括静默、抑制、分组、路由和去重等,并将告警发送给客户端应用程序。


Prometheus Pushgateway 的设计目标是为了允许临时任务或批处理作业向 Prometheus 暴露其指标。由于这类的工作任务可能只存活较短的时间,可能会错过 Prometheus Server 的抓取周期,因此需要将这些指标推送到 Pushgateway,并由 Prometheus 通过 Pushgateway 进行抓取。


Prometheus 的每个时间序列都由其“指标名称”和可选的“标签”作为标识符,指标名称用于表达指标自身的含义,即监控目标上某个可测量属性的基本含义,而标签则用来体现某个指标再次细分的维度特征。


Prometheus 的客户端库支持 Counter(计数器)Gauge(仪表盘)、Histogram(柱状图或直方图)Summary(摘要)4 种指标类型。Prometheus Server 并不使用类型信息,而是将所有数据展平为时间序列。


Prometheus 将任意一个可以抓取测度数据的端点(监控目标 target)称之为 Instance(实例),这通常是对应于单个进程的叫法,例如 envoy 或 node_exporter,而诸如水平扩展集群中的多个端点的 Instance 的集合称为 Job(作业)


发布于: 2 小时前
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
55 K8S之Prometheus监控步骤