您在哪里查看气流作业的输出

时间:2018-07-25 17:01:41

标签: airflow

在气流教程中,BashOperator的输出(通过echo)。如果任务在调度程序中运行,那么您在哪里查看输出?有控制台吗?我确定我只是找对地方了。

2 个答案:

答案 0 :(得分:3)

如果任务在Airflow中,请按照以下步骤在网络用户界面中找到其日志:

  1. 单击任务的DAG的名称

enter image description here

  1. 单击任务运行 enter image description here

  2. 在打开的弹出窗口中单击“查看日志”按钮

enter image description here

  1. 将打开日志页面(需要不断刷新以实时查看日志)。

enter image description here

答案 1 :(得分:2)

就像@ tobi6一样,您可以根据环境在Web服务器或控制台中查看DAG运行的输出。

要在您的网络服务器中这样做:

  1. 选择您刚运行的DAG,然后输入Graph View
  2. 在该DAG中选择要查看其输出的任务。
  3. 在以下弹出窗口中,单击View Log
  4. 在下面的日志中,您现在可以看到输出,或者它会为您提供指向页面的链接,您可以在其中查看输出(例如,如果您使用的是Databricks,则最后一行可能是“ INFO-查看运行状态” ,Spark UI并登录domain.cloud.databricks.com#job / jobid / run / 1“)。

如果要从运行中查看日志,请在airflow_home目录中进行。

  • 来自Airflow官方文档的以下日志信息:
  

用户可以在airflow.cfg中指定日志文件夹。默认情况下,它位于AIRFLOW_HOME目录中。

     

此外,用户可以提供一个远程位置,用于在云存储中存储日志和日志备份。目前,Amazon S3和Google   支持云存储。要启用此功能,airflow.cfg必须   按照以下示例进行配置:

[core]
# Airflow can store logs remotely in AWS S3 or Google Cloud Storage. Users
# must supply a remote location URL (starting with either 's3://...' or
# 'gs://...') and an Airflow connection id that provides access to the storage
# location.
remote_base_log_folder = s3://my-bucket/path/to/logs
remote_log_conn_id = MyS3Conn
# Use server-side encryption for logs stored in S3
encrypt_s3_logs = False
Remote logging uses an existing Airflow connection to read/write logs. If you don’t have a connection properly setup, this will fail.
     

在上面的示例中,Airflow将尝试使用S3Hook('MyS3Conn')。

     

在Airflow Web UI中,本地日志优先于远程日志。如果找不到或访问本地日志,则远程日志将   被显示。请注意,日志只会在   任务完成(包括失败)。换句话说,远程日志   正在运行的任务不可用。日志以以下形式存储在日志文件夹中:   {dag_id} / {task_id} / {execution_date} / {try_number} .log。