我正在尝试遵循这篇文章:https://airflow.apache.org/docs/apache-airflow/1.10.6/howto/write-logs.html所以气流将开始写日志到blob存储,但问题是我现在不知道如何配置气流来做到这一点。在我的例子中,气流运行在Kubernetes集群上,并通过Helm chart完成部署。
我试图登录到web服务器Pod,但@气流用户没有授权在AIRFLOW_HOME目录中创建任何文件。我试图使用sudo,但我找不到密码(我甚至不确定它是否工作气流不是在sudoers反正)
我应该在docker图像中做所有这些,然后重新启动气流吗?
我对Helm Chart设置不太熟悉,但也许值得尝试在值中添加用于远程日志记录的变量。如下所示:
config:
logging:
remote_logging=True
log_conn_id=<their AWS conn id>
remote_base_log_folder=s3://bucket-name/logs
另外,通过Dockerfile中的ENV变量或通过UI定义一个正常的气流连接,并将其作为AWS连接id。
如果这不起作用,我的下一个尝试是使用ENV变量在Dockerfile中的所有设置:
# allow remote logging and provide a connection ID
ENV AIRFLOW__LOGGING__REMOTE_LOGGING=True
ENV AIRFLOW__LOGGING__REMOTE_LOG_CONN_ID=${AMAZONS3_CON_ID}
# specify the location of your remote logs using your bucket name
ENV AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER=s3://${S3BUCKET_NAME}/logs
# optional: serverside encryption for S3 logs
ENV AIRFLOW__LOGGING__ENCRYPT_S3_LOGS=True
如果你是pre-2气流考虑升级,如果你可以,这是值得的。:)