【问题标题】:How to ship Airflow logs to Azure Blob Store如何将 Airflow 日志发送到 Azure Blob 存储
【发布时间】:2019-11-25 18:17:18
【问题描述】:

我在遵循 this guide 第 3.6.5.3 节“将日志写入 Azure Blob 存储”时遇到问题

文档指出您需要一个活动挂钩到 Azure Blob 存储。我不确定如何创建它。一些消息来源说你需要在 UI 中创建钩子,还有一些消息说你可以使用环境变量。无论哪种方式,我的日志都没有写入 blob 存储,我束手无策。

【问题讨论】:

    标签: azure logging blob airflow log-shipping


    【解决方案1】:

    Azure Blob Store 钩子(或任何与此相关的钩子)告诉溢出如何写入 Azure Blob Store。这已包含在最新版本的气流中,wasb_hook

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

    【讨论】:

    • 所以我会在我的 DAG 包中放置一个文件,该文件会创建一个使用我在 Airflow 中指定的连接 ID 的 wasb_hook。如果我将环境变量 AIRFLOW_CONN_AZURE_LOGGING 设置为容器的 wasb url,我会将日志记录挂钩的 wasb_conn_id 属性设置为“azure_logging”对吗?
    【解决方案2】:

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

    1. 在气流文件夹中创建名为 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. 重启网络服务器和调度器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      相关资源
      最近更新 更多