在我们的气流DAG代码中,我们试图使用下面的示例代码将气流日志直接写入堆栈驱动程序:https://cloud.google.com/logging/docs/reference/libraries日志条目
但是,按照默认设置,日志被写入到气流GCE虚拟机的logs目录中。我们修改了airflow.cfg
文件以包含以下条目(https://airflow.apache.org/docs/apache-airflow-providers-google/stable/logging/stackdriver.html):
remote_logging = True
remote_base_log_folder = stackdriver://airflow-task-logs
google_key_path = <path in the vm to the json file>
但是当我们通过日志名称'airflow-task-logs'过滤时,我们仍然无法看到云日志/stackdriver中的日志。
需要哪些额外的配置才能使其工作?
考虑到remote_base_log_folder
的值被解析的性质,您需要将其作为绝对路径提供。
from urllib.parse import urlparse
urlparse("stackdriver://airflow-task-logs").path[1:]
# evaluates to ''
urlparse("stackdriver:///airflow-task-logs").path[1:]
# evaluates to airflow-task-logs
Setremote_base_log_folder
remote_base_log_folder = 'stackdriver:///airflow-task-logs'