向气流日志文件夹添加日志轮换支持

问题描述 投票:0回答:1

我想自动删除所有超过 7 天的日志文件(调度程序和 dag 日志)。

日志文件夹是从容器安装的卷 -

  volumes:
    - ${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags
    - ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs
    - ${AIRFLOW_PROJ_DIR:-.}/config:/opt/airflow/config
    - ${AIRFLOW_PROJ_DIR:-.}/plugins:/opt/airflow/plugins

我尝试根据官方文档将以下日志轮换相关的环境变量添加到 docker compose,但这并没有按预期工作。

    AIRLOW__CORE__LOG_ROTATE: 'true'
    AIRFLOW__CORE__MAX_LOG_AGE_IN_DAYS: '7'

airflow支持日志轮转吗? 我们需要编写自定义脚本来处理这个问题吗?

docker-compose airflow log-rotation
1个回答
0
投票

如果您使用官方 Airflow Docker Image,它应该包含 clean-logs 脚本,因此您可以将此服务添加到您的 docker-compose 文件中

  airflow-log-groomer:
    <<: *airflow-common
    environment:
      <<: *airflow-common-env
      CONNECTION_CHECK_MAX_COUNT: "0"
      AIRFLOW__LOG_RETENTION_DAYS: "7"
    command:
      - bash
      - /clean-logs
© www.soinside.com 2019 - 2024. All rights reserved.