文档

Prometheus Agent自监控大盘

更新时间:

Prometheus Agent自监控大盘,包含Agent自身运行状态、实时和历史指标抓取耗时以及抓取数量、数据发送、资源占用等信息。通过该自监控大盘,帮助您及时发现集群监控存在的问题,快速定位问题根因,简化您的日常运维步骤,提升运维效率。

前提条件

Prometheus Agent自监控大盘目前支持ASK、ManagedKubernetes两种类型,且您的Prometheus Helm版本需要升级至v1.1.9(对应的Agent版本为3.2.0)或以上。升级Helm版本的具体操作,请参见升级组件版本

功能入口

  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,然后在左侧导航栏单击大盘列表

  4. 单击名称为Prometheus Agent的大盘超链接,即可跳转至Prometheus Agent大盘页面查看监控数据。
    Prometheus Agent自监控大盘如下图所示,包含Overview、Agent运行状态、Job服务发现、Target抓取四个部分,从总览至逐级细化的方式展示监控情况。
    • Overview:集群监控状态总览。
    • Agent运行状态:展示Agent级别的监控数据。
    • Job服务发现:Job级别发现的监控数据。
    • Target抓取:Target级别的具体监控采集情况。
    dkl

    您还可以单击目标Prometheus实例名称,然后在左侧导航栏单击设置,然后在自监控页签单击agent自监控页签,查看Prometheus Agent自监控数据。

Prometheus Agent大盘具体说明

可观测监控 Prometheus 版组件根据集群指标采集量级可进行弹性扩容,即存在单副本运行和多副本运行两种状态。
  1. 单副本运行时,Master同时完成服务发现和Targets采集两项任务。
  2. 多副本运行时,Master仅做服务发现,然后将Targets依照策略发送给Worker副本进行具体的Targets采集。
因此,单副本运行时,大盘中Master有采集Targets和Series、WriteARMS、RemoteWrite的具体数值;而多副本运行时,Master不执行采集、发送数据等任务,也就没有相关的数值。
说明 WriteARMS:表示写入阿里云后端默认存储。

Overview区域

Prometheus Agent大盘的Overview区域具体的监控项如下:
监控项说明
集群监控状态(当前)(图标①)展示了集群的当前监控健康状态,是系统采用多种异常情况判断的结果。
Agent运行状态(当前)(图标②)展示了集群当前的副本运行情况、Targets和Series采集量级情况。
Agent发现/抓取异常(当前)(图标③)展示了集群当前的Job服务发现异常、Job抓取异常以及Targets抓取异常的数量。
Agent下发Config/Targets异常(当前)(图标④)展示了在多副本时,集群当前下发采集配置和采集Targets异常情况。
Agent当前状态总览(图标⑤)展示了Agent每个副本所采集的Targets数量、Series数量、存活性、资源占用等情况。
ab

Agent运行状态区域

展开大盘的Agent运行状态行,展示了Prometheus Agent的运行情况,包括当前和历史副本数量变化、是否发生重启、采集Targets/Series是否发生变化、发送数据是否连续以及异常情况等,具体监控项如下。
监控项说明
预期/实际运行副本(图标①)展示了预期和实际的运行副本数,可帮您判断Agent副本是否发生扩容。
副本上报心跳(图标②)展示了每个副本的存活状态。
数据发送成功批次速率(图标③)展示了数据发送正常的情况。
数据累积发送异常批次(图标⑦)展示了数据发送异常的情况。
Targets/Series总抓取数量(图标④)这三个区域展示了采集Targets分配情况以及Series抓取量级。
Targets数量分布(图标⑤)
Series数量分布(图标⑥)
CoreDNS不可用(图标⑧)这两个区域将表明数据发送失败可能是CoreDNS不可用导致。
Config/Targets下发异常(多副本)(图标⑨)
cn

Job服务发现区域

展开大盘的Job服务发现行,展示了Job级别服务发现和采集情况,包括全量配置的Job、未发现Targets的Job、采集异常的Job、Job对应的Targets数量、单轮采集的Series数量以及采集耗时等。
监控项说明
Job服务发现(图标①)展示了全部配置的Job数量、未匹配到Targets的Job数量、发现Job数量、正常抓取Job和异常抓取Job的数量。
未发现Target/Job(图标②)展示了未匹配到Targets的Job名称。
当轮抓取Series为0/Job(图标③)展示了Job维度抓取Series=0的情况。
当轮发现有效Targets数量/Job(图标④)展示了Job级别当轮Targets的数量。
当轮抓取Series数量/Job(图标⑤)展示了Job级别当轮抓取Series的数量。
历史抓取Targets数量/Job(图标⑥)展示了Job级别下的Targets变化。
历史抓取Series数量/Job(图标⑦)展示了Job级别抓取Series的历史情况。
rn

Targets抓取区域

展开大盘的Targets抓取行,展示了Targets级别抓取情况,包括慢抓取、当轮抓取Series数量和耗时、历史抓取Series数量和耗时、抓取后的Relabel和Add的Series数量变化。
监控项说明
Target抓取展示了集群全部的Targets数量、抓取正常数量及抓取异常数量。
慢抓取(ScrapeDuration>10s)/Target展示了慢抓取Targets数据。
当轮抓取Series数量/Target展示了当轮抓取Series数量,时序分析指标暴露情况。
历史抓取Series数量/Target展示了历史抓取Series数量,时序分析指标暴露情况。
当轮抓取Series耗时/Target展示了当轮抓取Series耗时,时序分析网络情况。
历史抓取Series耗时/Target展示了历史抓取Series耗时,时序分析网络情况。
scrapeSeries数量/Target展示了scrapeSeries数量的变化情况。
relabelConfigs数量/Target展示了relabelConfigs数量的变化情况。
addSeries数量/Target展示了addSeries数量的变化情况。
el

常见问题及排查流程

您可以通过Prometheus Agent大盘监控数据的异常情况,对一些常见问题进行分析排查,并及时定位解决。

以下列举的常见问题及对应排查方式的前提是Prometheus Agent处于正常运行状态。

如何判断Prometheus Agent处于正常运行状态

在Prometheus Agent大盘的Overview区域,若集群监控状态(当前)显示正常时(图标①),表示Agent运行正常。但是当Agent发生频繁重启时,您还需要结合以下监控项信息来判断Agent是否正常运行,若同时满足以下两个条件,则说明Agent运行正常。
  1. Agent运行状态(当前)中显示的运行副本与预期副本数量一致,且抓取的Targets和Series总量有数值(图标②)。
  2. Agent状态总览(当前)列表中的数据都是正常状态,没有异常的红色显示。(图标③)
fl

常见问题1:部分指标缺失(断点)

出现该问题的可能原因及对应的排查方式如下:

可能原因排查方式
指标采集不到在Prometheus Agent大盘的Job服务发现行查看监控项未发现Target/Job当轮抓取Series为0/Job的数据。

若预期指标所属采集Job中没有Targets或者采集的Series数量为0时,说明是由于该原因导致部分指标缺失(断点)。

指标被废弃
  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,在左侧导航栏单击服务发现,然后在指标页签单击右上角的配置废弃指标,您可以在弹出的对话框中查看预期指标是否被废弃。

若预期指标被废弃,说明是由于该原因导致部分指标缺失(断点)。

发送数据出现不稳定在Prometheus Agent大盘的Agent 运行状态行查看监控项数据发送成功批次速率的数据,判断数据写入ARMS是否稳定,查看监控项数据累积发送异常批次的数据,判断是否有发送失败情况。

若数据写入ARMS不稳定,且数据有发送失败情况,说明是由于该原因导致部分指标缺失(断点)。

Agent发生重启或者被驱逐在Prometheus Agent大盘的Overview区域的Agent状态总览(当前)列表中查看restartTotal数据,若数据不为0,可能是重启导致的指标数据断点。
在Prometheus Agent大盘的Agent运行状态行查看监控项预期/实际运行副本副本上报心跳的数据,并选择时间段判断Agent是否有发生重启,即若存在新的podName出现,旧的消亡,则说明Agent有重启,则可能是Pod重新调度导致的指标数据断点。

常见问题2:ServiceMonitor或PodMonitor不生效

出现该问题的可能原因及对应的排查方式如下:

可能原因排查方式
配置错误
  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,在左侧导航栏单击设置,然后在设置页签单击探针日志,在弹出的面板中输入 |= "<sm/pm名称>",查看日志。

若存在配置加载错误,说明是由于该原因导致ServiceMonitor和PodMonitor不生效。您需要在左侧导航栏单击服务发现,然后在配置页签查看ServiceMonitor和PodMonitor配置项,进行校验修改。

匹配不到对应的Pod(Target)根据ServiceMonitor和PodMonitor中配置的匹配条件,您可以在集群中查看Service和Pod,判断是否可以匹配到有效Pod。若无法匹配,说明是由于该原因导致ServiceMonitor和PodMonitor不生效。
服务发现采集开关没有开启
  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,在左侧导航栏单击服务发现,然后在配置页签单击ServiceMonitorPodMonitor页签,查看ServiceMonitor和PodMonitor开关是否打开。

若ServiceMonitor和PodMonitor开关未打开,说明是由于该原因导致ServiceMonitor和PodMonitor不生效,您打开开关后即可修复该问题。

常见问题3:默认Grafana大盘数据缺失(断点)

可能原因排查方式
数据写入ARMS后端存储失败在Prometheus Agent大盘的Agent 运行状态行查看监控项数据发送成功批次速率的数据,判断数据写入ARMS是否稳定,查看监控项数据累积发送异常批次的数据,判断是否有发送失败情况。

若数据写入ARMS不稳定,且数据有发送失败情况,说明是由于该原因导致默认Grafana大盘数据缺失(断点)。

指标采集失败在Prometheus Agent大盘的Job服务发现行查看监控项未发现Target/Job当轮抓取Series为0/Job的数据。

若预期指标所属采集Job中没有Targets或者采集的Series数量为0时,说明是由于该原因导致默认Grafana大盘数据缺失(断点)。

指标被废弃
  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,在左侧导航栏单击服务发现,然后在指标页签单击右上角的配置废弃指标,您可以在弹出的对话框中查看预期指标是否被废弃。

若预期指标被废弃,说明是由于该原因导致默认Grafana大盘数据缺失(断点)。

常见问题4:Remote Write数据缺失(断点)

可能原因排查方式
Remote Write服务端不可用或者不稳定,导致数据无法发送在Prometheus Agent大盘的Agent 运行状态行查看监控项数据累积发送异常批次的数据,判断是否有发送失败情况。

若数据有发送失败情况,说明是由于该原因导致Remote Write数据缺失(断点)。

Remote Write配置错误,AK或SK配置有问题
  1. 登录Prometheus控制台

  2. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  3. 单击目标Prometheus实例名称,在左侧导航栏单击设置,然后在设置页签单击右上角的编辑Prometheus.yaml,您可以在弹出的对话框中查看Remote Write的详细配置。
  • 若存在Remote Write配置格式错误或者AK/SK配置错误,说明是由于该原因导致Remote Write数据缺失(断点)。
  • 若指标write_relabel_configs摘取规则未匹配预期指标,说明是由于该原因导致Remote Write数据缺失(断点)。
Remote Write中指标write_relabel_configs摘取规则未匹配预期指标
  • 本页导读 (1)
文档反馈