如何将 Airflow 日志发送到 Azure Blob Store

How to ship Airflow logs to Azure Blob Store

我在执行 this guide 第 3.6.5.3 节时遇到问题 "Writing Logs to Azure Blob Storage"

文档指出您需要一个到 Azure Blob 存储的活动挂钩。我不确定如何创建它。一些来源说您需要在 UI 中创建挂钩,还有一些说您可以使用环境变量。无论哪种方式,none 我的日志都被写入 blob 存储,我已经无计可施了。

A​​zure Blob Store 挂钩(或与此相关的任何挂钩)告诉 overflow 如何写入 Azure Blob Store。这已经包含在最新版本的气流中,wasb_hook

您需要确保挂钩能够写入 Azure Blob Store。只是提到 REMOTE_BASE_LOG_FOLDER 存储桶应该命名为 wasb-xxx。一旦你处理好这两件事 instructions 工作就会顺利,

我使用以下步骤实现了将日志写入 blob

  1. 在 airflow 文件夹中创建名为 config 的文件夹
  2. config 文件夹中创建空 __init__.pylog_config.py 文件
  3. 在您的机器中搜索 airflow_local_settings.py

/home/user/env/lib/python2.7/site-packages/airflow/config_templates/airflow_local_settings.py /home/user/env/lib/python2.7/site-packages/airflow/config_templates/airflow_local_settings.pyc

运行

cp /home/user/env/lib/python2.7/site-packages/airflow/config_templates/airflow_local_settings.py config/log_config.py
  1. 编辑airflow.cfg[核心]部分

remote_logging = True

remote_log_conn_id = log_sync

remote_base_log_folder=wasb://airflow-logs@storage-account.blob.core.windows.net/logs/

logging_config_class =log_config.DEFAULT_LOGGING_CONFIG

  1. 添加log_sync连接对象如下
  1. 安装 airflow azure 依赖项

    pip install apache-airflow[azure]

  2. 重新启动网络服务器和调度程序