Airflow 支持配置 S3、GCS、WASB 或 OSS 作为远程日志服务能力,TOS 作为火山引擎提供对象存储方案,也可以通过类似方式接入。本文为您介绍如何将 Airflow 的日志对接存储至 TOS。
将 Airflow 的日志对接存储至 TOS 时,您需要保障 Airflow 与对应 TOS 间的网络是联通状态。
使用 admin 账号登录 Airflow,在顶部导航的 Admin 菜单下拉中单击 connections,新建 Connection,在新建 Connection 页面中配置必要的参数。
其中核心参数如下。
参数 | 配置说明 |
|---|---|
AWS Access Key ID & AWS Secret Access Key | 配置为火山引擎账号的 AK、SK信息,获取 AK、SK的操作详情请参见Access Key(密钥)管理。 |
Extra | 在 Extra 中参考以下格式,配置其他 TOS 连接参数。
其中:
|
创建完成后,您可以在 List Connection 页面中看到本次新增的 Connection,记录其中的“Conn id”的取值,用于后续管理侧的配置。
您可通过一个测试 DAG,验证 Airflow 的日志是否可正常存储至 TOS 的 Bucket 中。以下是一个简单的测试 DAG 示例。
from airflow.decorators import dag from airflow.operators.bash import BashOperator import pendulum @dag( dag_id='tos_remote_log_dag', start_date=pendulum.datetime(2023, 1, 1, tz="UTC"), catchup=False, schedule=None, tags=['debug'], ) def tos_remote_dag(): BashOperator( task_id='simple_bash_task', bash_command='echo "Hello Tos!"', ) tos_remote_dag()
在 Airflow 中查看对应的 Log 信息。
在 TOS 控制台查看对应的 DAG 是否已经将运行日志写入配置的 Bucket 中。