使用 Monitoring 信息中心

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

访问监控信息中心

监控信息中心包含一些指标和图表,用于监控在您的环境中运行的 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 Broker 时引发的 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 运行的任务执行时间。