使用 Monitoring 信息中心

Cloud Composer 1 | Cloud Composer 2

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

访问 Monitoring 信息中心

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

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

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

    转到“环境”

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

  3. 转到监控标签页。

为指标设置提醒

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

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

在 Monitoring 中查看指标

您可以通过在 Monitoring 中查看指标来深入了解该指标。

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

在 Metrics Explorer 的监控信息中心内查看指标
图 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 代理时引发的 AirflowTaskTimeout 错误的总数。此指标对应于 celery.task_timeout_error Airflow 指标。
Celery 执行命令失败 Celery 任务中的非零退出代码总数。此指标对应于 celery.execute_command.failure Airflow 指标。
系统终止的任务 任务运行程序因 SIGKILL 而终止的工作流任务数(例如由于工作器内存或检测信号问题)。

触发器统计信息

环境指标 说明
延迟任务 在指定时间处于推迟状态的任务数量。如需详细了解推迟任务,请参阅使用可延期运算符
已完成的触发器 所有触发器 Pod 中完成的触发器数量。
正在运行的触发器 每个触发器实例运行的触发器数量。此图表为每个触发器分别显示了不同的线条。
屏蔽型触发器 阻塞主线程的触发器数量(可能是因为不是完全异步)。
触发器的 CPU 用量总计 所有 Airflow 触发器 Pod 中运行的容器所用的 vCPU 核心的总用量,以及所有触发器的 vCPU 总用量限制。
触发器的内存用量总计 所有 Airflow 触发器 Pod 中运行的容器的总内存用量,以及所有触发器的 vCPU 总用量限制。
触发器的磁盘总用量 在所有 Airflow 触发器 Pod 中运行的容器占用的磁盘空间总量,以及所有触发器的磁盘空间总限制。
活跃触发器 活跃触发器实例的数量。
触发器容器重新加星标 触发器容器重启次数。

Web 服务器统计信息

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

SQL 数据库统计信息

环境指标 说明
数据库健康状况 请参阅环境概览
数据库 CPU 使用率 您的环境中的 Cloud SQL 数据库实例的 CPU 核心用量。
数据库内存用量 您的环境中的 Cloud SQL 数据库实例的内存总用量。
数据库磁盘使用量 您的环境中的 Cloud SQL 数据库实例的内存总用量。
数据库连接 与数据库的活跃连接总数和总连接数限制。
Airflow 元数据数据库大小 Airflow 元数据数据库的大小。如需详细了解如何维护 Airflow 元数据数据库,请参阅清理 Airflow 数据库

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 并打开任务时长标签页。此标签页会显示指定的最后 DAG 运行次数的任务执行时间。