<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 寫日志 > 貢獻者:[@ImPerat0R\_](https://github.com/tssujt)、[@ThinkingChen](https://github.com/cdmikechen) ## 在本地寫日志 用戶可以使用在`airflow.cfg`中的`base_log_folder`指定日志文件夾。默認情況下,它位于`AIRFLOW_HOME`目錄中。 此外,用戶也可以提供遠程位置,以便在云存儲中存儲日志和日志備份。 在 Airflow Web UI 中,本地日志優先于遠程日志。 如果找不到或訪問本地日志,將顯示遠程日志。 請注意,只有在任務完成(包括失敗)后才會將日志發送到遠程存儲。 換句話說,運行任務的遠程日志不可用。日志以`{dag_id}/{task_id}/{execution_date}/{try_number}.log`的路徑格式存儲在日志文件夾中。 ## 將日志寫入 Amazon S3 ### 在您開始之前 遠程日志記錄使用現有的 Airflow 連接來讀取/寫入日志。如果沒有正確設置連接,則會失敗。 ### 啟用遠程日志記錄 要啟用此功能,必須按照此示例配置`airflow.cfg` : ```py [core] # Airflow 可以在 AWS S3 中遠程存儲日志。用戶必須提供一個遠程地址的 URL(以's3://...'開始) # 和一個提供對存儲位置訪問的 Airflow 連接 id remote_base_log_folder = s3://my-bucket/path/to/logs remote_log_conn_id = MyS3Conn # 對存儲在 S3 中的日志使用服務器端加密 encrypt_s3_logs = False ``` 在上面的例子中,Airflow 將嘗試使用`S3Hook('MyS3Conn')` 。 ## 將日志寫入 Azure Blob Storage 在 Azure Blob Storage 中 Airflow 可以為配置讀取和寫入任務日志。 可以按照以下步驟啟用 Azure Blob Storage 日志記錄。 1. Airflow 的日志記錄系統需要將一個自定義的 .py 文件 放在`PYTHONPATH`,以便可以從 Airflow 導入。首先創建一個存儲配置文件的目錄。建議使用`$AIRFLOW_HOME/config`。 2. 創建名為`$AIRFLOW_HOME/config/log_config.py`和`$AIRFLOW_HOME/config/__init__.py`的空文件。 3. 將`airflow/config_templates/airflow_local_settings.py`的內容復制到剛剛在上面的步驟中創建的`log_config.py`文件中。 4. 自定義模板的以下部分: ```py # wasb buckets 應該從“wasb”開始,以幫助 Airflow 選擇正確的處理程序 REMOTE_BASE_LOG_FOLDER = 'wasb-<whatever you want here>' # 重命名 DEFAULT_LOGGING_CONFIG 為 LOGGING CONFIG LOGGING_CONFIG = ... ``` 5. 確保已在 Airflow 中定義 Azure Blob Storage(Wasb)的連接 hook。hook 應具有在`REMOTE_BASE_LOG_FOLDER`中定義的 Azure Blob Storage bucket 的讀寫訪問權限。 6. 更新`$AIRFLOW_HOME/airflow.cfg`以包含: ```py remote_logging = True logging_config_class = log_config.LOGGING_CONFIG remote_log_conn_id = <name of the Azure Blob Storage connection> ``` 7. 重新啟動 Airflow webserver 和 scheduler,并觸發(或等待)新任務執行。 8. 驗證日志是否顯示在您定義的 bucket 中新執行的任務中。 ## 將日志寫入 Google Cloud Storage 請按照以下步驟啟用 Google Cloud Storage 日志記錄。 要啟用此功能,必須按照此示例配置 airflow.cfg: ```py [core] # Airflow 可以在 AWS S3, Google Cloud Storage 或者 Elastic Search 中遠程存儲日志. # 用戶必須提供可訪問存儲位置的 Airflow 連接 id。 # 如果 remote_logging 被設置為 true,請參見 UPDATING.md 以查看其他相關配置的要求。 remote_logging = True remote_base_log_folder = gs://my-bucket/path/to/logs remote_log_conn_id = MyGCSConn ``` 1. 首先安裝`gcp_api`安裝包,`pip install apache-airflow[gcp_api]`。 2. 確保已在 Airflow 中定義了 Google Cloud Platform 連接 hook。該 hook 應具有對 remote_base_log_folder 中上面定義的 Google Cloud Storage bucket 的讀寫訪問權限。 3. 重新啟動 Airflow webserver 和 scheduler,并觸發(或等待)新任務執行。 4. 驗證日志是否在您定義的 bucket 中顯示新執行的任務日志。 5. 確認 Google Cloud Storage 查看器在 U??I 中正常運行。拉出新執行的任務,并驗證您是否看到類似的內容 ```py *** Reading remote log from gs://<bucket where logs should be persisted>/example_bash_operator/run_this_last/2017-10-03T00:00:00/16.log. [2017-10-03 21:57:50,056] {cli.py:377} INFO - Running on host chrisr-00532 [2017-10-03 21:57:50,093] {base_task_runner.py:115} INFO - Running: ['bash', '-c', u'airflow run example_bash_operator run_this_last 2017-10-03T00:00:00 --job_id 47 --raw -sd DAGS_FOLDER/example_dags/example_bash_operator.py'] [2017-10-03 21:57:51,264] {base_task_runner.py:98} INFO - Subtask: [2017-10-03 21:57:51,263] {__init__.py:45} INFO - Using executor SequentialExecutor [2017-10-03 21:57:51,306] {base_task_runner.py:98} INFO - Subtask: [2017-10-03 21:57:51,306] {models.py:186} INFO - Filling up the DagBag from /airflow/dags/example_dags/example_bash_operator.py ``` 請注意頂行說明了它是從遠程日志文件中讀取的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看