簡體   English   中英

如何檢測卡住的氣流作業?

[英]How can I detect stuck Airflow jobs?

我和我的團隊使用帶有 Redis 的 Celery 執行器在 Airflow v2.1.0 上。 最近我們注意到一些工作偶爾會運行,直到我們踢它們(很多小時,有時幾天 - 基本上直到有人注意到)。 似乎還沒有我們注意到的特定模式。

我們還使用 DataDog 和 statsd 提供程序來收集和監控 Airflow 產生的指標。 理想情況下,我們可以為此設置一個 DataDog 監視器,但對於這種情況似乎沒有明顯的指標。

我們如何檢測和警告這樣的卡住作業?

您可以結合使用 Airflow 的SLAsla_miss_callback參數來調用某些服務(例如我們使用 Slack)。

從文檔:

SLA 或服務級別協議是對任務應花費的最長時間的期望。 如果任務運行時間比這更長,那么它會在用戶界面的“SLA 未命中”部分中可見,並且會在所有未完成 SLA 的任務的電子郵件中顯示出來。

這樣,您可以為要監控的任務定義 SLA,並提供sla_miss_callback以獲取有關這些未命中的通知。

此問題可能已由PR16550 修復

當您重新啟動調度程序並且所有已調度或排隊的任務(但尚未到達實際執行程序)時,問題就會出現,調度程序將無法啟動它。 這將無限期地保留(即使重新啟動調度程序也不會修復它)而無需人工干預。 但是,正如您所指出的,您確實仍然可以手動運行它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM