使用 Monitoring 信息中心

Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3

本页介绍了如何访问和使用 Cloud Composer 环境的监控信息中心。

访问监控信息中心

该监控信息中心包含指标和图表,用于监控环境中运行的 DAG 的趋势,以及识别 Airflow 组件和 Cloud Composer 资源的问题。

如需访问环境的监控信息中心,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到监控标签页。

为指标设置提醒

点击监控卡片角落的铃铛图标,即可为指标设置提醒。

为 Monitoring 信息中心内显示的指标创建提醒
图 1. 为监控信息中心上显示的指标创建提醒(点击可放大)

在 Monitoring 中查看指标

您可以在 Monitoring 中查看指标的详细情况。

如需从 Cloud Composer 监控信息中心导航到该信息中心,请点击 指标卡片右上角的三个点,然后选择 在 Metrics Explorer 中查看

在 Metrics Explorer 的 Monitoring 信息中心内查看指标
图 2. 在 Metrics Explorer 中通过监控信息中心查看指标(点击可放大)

指标说明

每个 Cloud Composer 环境都有自己的监控信息中心。特定环境的监控信息中心上显示的指标仅跟踪此环境的 DAG 运行、Airflow 组件和环境详细信息。例如,如果您有两个环境,信息中心不会汇总这两个环境的指标。

环境概览

环境指标 说明
环境健康状况(Airflow 监控 DAG) 显示 Composer 部署的运行状况的时间轴。绿色状态仅反映 Composer 部署的状态。这并不意味着所有 Airflow 组件都正常工作并且 DAG 能够运行。
调度器检测信号 显示 Airflow 调度器检测信号的时间轴。检查是否存在红色区域,以识别 Airflow 调度程序问题。如果您的环境有多个调度器,只要至少有一个调度器响应,则心跳状态为正常。
Web 服务器健康状况 显示 Airflow Web 服务器状态的时间轴。此状态是根据 Airflow Web 服务器返回的 HTTP 状态代码生成的。
数据库运行状况 显示与托管 Airflow 数据库的 Cloud SQL 实例的连接状态的时间轴。
环境操作 显示用于修改环境的操作(例如执行配置更新或加载环境快照)的时间轴。
维护操作 显示对环境的集群执行维护操作的时间段的时间轴。
环境依赖项 显示环境操作的可达性状态和权限检查的时间轴。

DAG 统计信息

环境指标 说明
成功的 DAG 运行 所选时间范围内环境中所有 DAG 的成功运行总次数。如果成功运行的 DAG 数量低于预期水平,则可能表示失败(请参阅失败的 DAG 运行)或出现时间安排问题。
失败的 DAG 运行 失败的任务数 所选时间范围内环境中所有 DAG 的失败运行总次数。 所选时间范围内在环境中失败的任务总数。失败的任务并不一定会导致 DAG 运行失败,但它们可以作为有用的信号来排查 DAG 问题。
已完成的 DAG 运行 选定时间范围内时间间隔内 DAG 成功和失败的次数。这有助于识别 DAG 运行存在的暂时性问题,并将其与其他事件(例如工作器 Pod 逐出)相关联。
已完成的任务 环境中完成的任务数量,以及成功和失败任务的明细。
DAG 运行时长中位数 DAG 运行时长中间值,此图表有助于识别 DAG 时长方面的性能问题和趋势。
Airflow 任务 在指定时间处于正在运行、排队或推迟状态的任务数量。Airflow 任务是在 Airflow 中处于排队状态的任务,它们可以进入 Celery 或 Kubernetes Executor 代理队列。“Celery 队列中的任务数”是指已进入 Celery 代理队列的任务实例数。
已终止的僵尸任务 在短时间内终止的僵尸任务数量。僵尸任务通常由 Airflow 进程的外部终止导致。Airflow 调度程序会定期终止僵尸任务,这些任务应反映在此图表中。
DAG 总数 在给定时间已部署到您环境的存储桶并且已由 Airflow 处理的 DAG 数量。这在分析性能瓶颈时很有用。例如,DAG 部署数量增加可能会因负载过多而导致性能降低。
DAG 处理器错误 处理 DAG 文件时遇到的每秒错误数和超时次数。该值表示 DAG 处理器报告错误的频率(不同于失败的 DAG 数量)。
所有 DAG 的总解析时间 显示 Airflow 处理环境中所有 DAG 所需总时间的图表。增加解析时间可能会影响调度效率。如需了解详情,请参阅 DAG 解析时间与 DAG 执行时间之间的差异

调度器统计信息

环境指标 说明
调度器检测信号 请参阅环境概览
调度器的 CPU 总使用率 所有 Airflow 调度器 pod 中运行的容器所用的 vCPU 内核总数,以及所有调度器的总 vCPU 限制。
调度器内存总用量 所有 Airflow 调度器 pod 中运行的容器的内存总用量,以及所有调度器的总 vCPU 限制。
调度器磁盘总用量 在所有 Airflow 调度器 pod 中运行的容器的磁盘空间总用量,以及所有调度器的总磁盘空间限制。
调度器容器重启 各个调度器容器的重启总次数。
调度器 Pod 逐出 Airflow 调度器 Pod 逐出次数。当您环境的集群中的特定 Pod 达到其资源限制时,可能会发生 Pod 逐出。

工作器统计信息

环境指标 说明
工作器 CPU 总使用率 在所有 Airflow 工作器 Pod 中运行的容器所用的 vCPU 核心总数,以及所有工作器的 vCPU 总数上限。
工作器内存总用量 所有 Airflow 工作器 pod 中运行的容器的内存总用量,以及所有工作器的总 vCPU 限制。
工作器磁盘总用量 所有 Airflow 工作器 pod 中运行的容器的磁盘空间总用量,以及所有工作器的总磁盘空间限制。
活跃工作器数 您环境中的当前工作器数量。在 Cloud Composer 2 中,您的环境会自动扩缩活跃工作器的数量。
工作器容器重启 各个工作器容器的重启总次数。
工作器 Pod 逐出 Airflow 工作器 Pod 逐出次数。当环境集群中的特定 pod 达到其资源限制时,可能会发生 pod 逐出。如果 Airflow 工作器 pod 被逐出,则该 pod 上运行的所有任务实例都会中断,之后被 Airflow 标记为失败。
Airflow 任务 请参阅环境概览
Celery 代理发布超时 将任务发布到 Celery Broker 时引发的 AirflowTaskTimeout 错误总数。此指标对应于 celery.task_timeout_error Airflow 指标。
Celery 执行命令失败 Celery 任务中的非零退出代码总数。此指标对应于 celery.execute_command.failure Airflow 指标。
系统终止的任务 任务运行程序因 SIGKILL 而终止的工作流任务数(例如由于工作器内存或检测信号问题)。

Web 服务器统计信息

环境指标 说明
Web 服务器健康状况 请参阅环境概览
Web 服务器 CPU 使用率 在所有 Airflow Web 服务器实例中运行的容器所用的 vCPU 核心总数,以及所有 Web 服务器的总 vCPU 限制。
Web 服务器内存用量 所有 Airflow Web 服务器中运行的容器所用的内存总用量 instances ,以及所有网络服务器的 vCPU 总数限制。
Web 服务器磁盘总用量 在所有 Airflow Web 服务器实例中运行的容器所用的磁盘空间总用量,以及所有 Web 服务器的总磁盘空间限制。

SQL 数据库统计信息

环境指标 说明
数据库健康状况 请参阅环境概览
数据库 CPU 使用率 您环境中的 Cloud SQL 数据库实例所用的 CPU 核心数。
数据库内存用量 您环境中的 Cloud SQL 数据库实例使用的内存总量。
数据库磁盘使用量 您环境中的 Cloud SQL 数据库实例使用的磁盘空间总量。此指标适用于 Cloud SQL 数据库实例本身,因此当 Airflow 数据库大小减小时,此指标不会减少。如需查看显示 Airflow 数据库内容大小的指标,请参阅 Airflow 元数据数据库大小。
Airflow 元数据数据库大小 Airflow 元数据数据库的大小。此指标适用于您环境的 Airflow 组件,显示 Cloud SQL 数据库实例上 Airflow 元数据数据库占用的磁盘空间。当 Airflow 元数据数据库大小减小(例如在执行 Airflow 数据库维护后)时,此指标会减小,并用于确定是否可以创建快照和升级环境。此指标与数据库磁盘用量指标不同,后者显示 Cloud SQL 数据库实例使用的磁盘空间量。
数据库连接 与数据库建立的活跃连接总数和连接总数上限。

DAG 解析时间和 DAG 执行时间之间的区别

环境的监控信息中心会显示解析 Cloud Composer 环境中所有 DAG 所需的总时间,以及执行 DAG 的平均时间。

解析 DAG 和安排 DAG 中的任务以执行是两个不同的任务 Airflow 调度器执行的一系列操作。

Airflow 调度器执行的 DAG 解析和任务调度
图 3.由 Airflow 调度器完成的 DAG 解析和任务调度(点击可放大)

DAG 解析时间是 Airflow 调度器读取和解析 DAG 文件所需的时间。

在 Airflow 调度器可以调度 DAG 中的任何任务之前,调度器必须解析 DAG 文件,以发现 DAG 和定义的任务的结构。解析 DAG 文件后,调度器可以开始进行调度 从 DAG 中提取任务。

DAG 执行时间是 DAG 的所有任务执行时间的总和。

如需了解从 DAG 执行特定 Airflow 任务所需的时间,请查看 Airflow 网页界面,选择一个 DAG 并打开 TaskDuration标签页。此标签页会显示最近指定次数的 DAG 运行的任务执行时间。