由于 Cloud Composer 采用微服务架构,Airflow 设置的端到端活跃度监控涉及多个指标。本教程介绍的一种方法使用 Google Cloud 运维套件的基于日志的指标,根据自定义指标设置监控和提醒。
目标
- 部署一个在 Cloud Composer 环境中每隔几分钟运行一次的简单 DAG
- 通过基于日志的指标创建自定义指标,利用 Google Cloud 运维套件为 Cloud Composer 生成的日志
- 根据自定义指标设置监控和提醒
费用
在本文档中,您将使用 Google Cloud 的以下收费组件:
- Cloud Composer
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
- 创建一个 Cloud Composer 环境。
- 确保分配适当的权限。要访问 Cloud Composer 环境的相关日志和指标,您需要具备以下权限:
- 仅读取日志记录和监控指标:
logging.viewer
和monitoring.viewer
- 仅读取日志记录(含私密日志):
logging.privateLogViewer
- 读写监控指标:
monitoring.editor
如需了解详情,请参阅访问权限控制。
- 仅读取日志记录和监控指标:
将 DAG 添加到您的环境中
将以下 DAG 上传到环境对应的 Cloud Storage 存储桶:
import airflow from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import timedelta default_args = { 'retries': 1, 'retry_delay': timedelta(minutes=5), 'start_date': airflow.utils.dates.days_ago(0) } dag = DAG( 'liveness', default_args=default_args, description='liveness monitoring dag', schedule_interval=timedelta(minutes=1)) t1 = BashOperator( task_id='echo', bash_command='echo test', dag=dag, depends_on_past=False)
等待 Airflow 安排该 DAG。您可以在 Airflow 网页界面中检查状态。
在 Google Cloud 的运维套件中创建基于日志的计数器指标
转到日志浏览器。
请确保在页面顶部选择了正确的项目,或使用页面顶部的下拉菜单选择项目。
在资源字段中,选择 Cloud Composer 环境,然后选择位置和环境名称。
在日志类型字段中,选择 airflow-worker。
在过滤条件栏中,输入以下标签创建过滤条件,以仅显示活跃度 DAG 发出的日志:label:workflow:liveness。
点击页面顶部的创建指标。指标编辑器显示在页面的右侧,展示日志的查看器面板显示在左侧。
在指标编辑器面板中,设置以下字段:
- 名称:选择一个在项目的基于日志的指标中独一无二的名称,例如 liveness-logs-cnt。
- 说明:对指标进行说明。
- 类型:计数器。
点击创建指标。 系统会显示基于日志的指标页面。
创建提醒政策
在基于日志的指标页面中,选中要为其创建政策的指标,并在指标的列表右侧的菜单中选择根据指标创建提醒。此时会显示新建提醒政策页面。
在新建提醒政策页面中的条件部分,点击修改。此时会显示一个已预填充内容的创建指标窗口。
(可选)为条件输入名称。
在“目标”部分中,对于聚合器 (Aggregator),选择计数。
在“配置”部分,对于阈值,根据需要设置值。
点击保存。新建提醒政策面板随即会显示,上面包含您已完成的条件。
填写提醒政策的通知、文档和为此政策命名 (Name this policy) 部分。
点击保存。
清理
为避免因本教程中使用的资源导致您的 Google Cloud 帐号产生费用,请删除包含这些资源的项目,或者保留项目但删除各个资源。
- 在 Google Cloud 控制台中,进入管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。
后续步骤
要了解如何使用自定义信息中心来查看 Cloud Composer 环境的指标,请参阅 Google Cloud 运维套件中的监控环境和工作流。