使用 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 的监控信息中心内查看指标
图 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 服务器健康状况 请参阅环境概览
网络服务器 CPU 使用率 在所有 Airflow Web 服务器中运行的容器所用的 vCPU 核心的总用量 Pod ,以及所有网络服务器的 vCPU 总数限制。
Web 服务器内存用量 在所有 Airflow Web 服务器 pod 中运行的容器的内存总用量,以及所有 Web 服务器的总 vCPU 限制。
Web 服务器磁盘总用量 所有 Airflow Web 服务器中运行的容器所用的磁盘空间总用量 Pod ,以及所有网络服务器的总磁盘空间限制。

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 运行的任务执行时间。