要在Google Stackdriver上查看Airflow应用程序的远程日志,需要对Airflow的logging配置进行更改。下面是一些Python代码示例可以实现这一点:
1.安装Google Cloud Logging插件
pip install apache-airflow[google]==1.10.6
2.更新Airflow仓库中的logging配置:
# 文件:/path/to/airflow/airflow.cfg
# Logging 配置
[logging]
remote_logging = True
remote_log_conn_id =
remote_base_log_folder = gs:///path/to/logs
enable_task_logs = True
encrypt_s3_logs = False
logging_level = INFO
# 设置日志处理器
[handler]
default_handler = logging.handlers.SysLogHandler
# 设置Syslog处理器
[handler_syslog]
class = logging.handlers.SysLogHandler
formatter = generic
address = /dev/log
# 设置日志格式
[formatter_generic]
format = %(asctime)s - %(name)s - %(levelname)s - %(filename)s:%(lineno)s - %(message)s
datefmt = %Y-%m-%d %H:%M:%S
3.创建Google连接,即
airflow connections add --conn-uri "google-cloud-platform://?extra__google_cloud_platform__keyfile_dict={...}"
4.重新启动Airflow服务,应用新的日志配置。现在可以在Google Stackdriver上查看Airflow应用程序的日志了。