事件處理流水線執行記錄 — 稽核每次流水線執行軌跡,包含節點輸入輸出與失敗原因,是排查流水線問題的核心入口。

概述

流水線執行記錄 = 每次「事件處理流水線(Event Pipeline)」被觸發後留下的稽核 + 排錯日誌

側欄路徑:告警 → 事件處理流水線 → 執行記錄 Tab,URL /event-pipelines-executions

每當一個流水線被觸發(無論成功或失敗),都會產生一條執行記錄:

  • 成功時:記錄每個節點(Processor)的輸入、輸出、耗時;
  • 失敗時:記錄失敗發生在哪個節點、錯誤資訊是什麼;
  • 執行中:即時顯示進度,便於檢視長耗時的流水線。

適用場景:

  • 流水線「沒生效」?查記錄看是沒觸發還是觸發了但失敗;
  • 想知道某個事件最終被哪條流水線處理過;
  • 評估各節點效能(看 執行耗時),找出慢節點;
  • 出 P0 後回放完整的事件處理鏈路。

篩選 & 清單欄位

頁面頂部支援的過濾:

  • 自動重新整理:Off / 5s / 15s / 30s / 60s — 除錯新流水線時建議開 5s。
  • 關鍵字搜尋:在流水線名稱裡搜尋。
  • 觸發模式:3 種 — 見下表。
  • 狀態:3 種 — 見下表。
欄位 含義
流水線名稱 觸發的那條流水線;點選欄位名跳轉到該流水線編輯頁
觸發模式 event(告警事件觸發,最常見) / api(外部系統呼叫 API 觸發) / cron(定時器觸發)
狀態 running(執行中) / success(成功) / failed(失敗,標紅)
開始時間 流水線開始執行的時間
結束時間 流水線結束時間;執行中顯示為空
執行耗時 duration_ms,單位毫秒;超過 5s 的需要關注是否有慢節點
觸發者 event:觸發事件的告警規則名;api:呼叫方資訊;cron:定時任務識別碼

執行詳情:排查失敗的核心入口

點選清單列開啟執行詳情,會顯示每個節點的輸入/輸出/耗時/錯誤資訊:

  • 節點結果(NodeResults):JSON 形式記錄每個 Processor 的執行結果。可以一節點一節點地看:
    • 輸入:上一節點傳入的事件資料
    • 輸出:本節點處理後的結果
    • 耗時:單節點的執行時間,找慢點用
  • 錯誤資訊(ErrorMessage + ErrorNode):失敗時著重看 — ErrorNode 指出失敗發生在哪個節點的 ID,ErrorMessage 是具體錯誤(API 逾時、JSON 解析失敗、查詢資料來源拿不到結果等)。
  • 輸入快照(InputsSnapshot):觸發流水線時的原始輸入(脫敏後),用於回放除錯。

除錯新流水線的標準動作:在 流水線 編輯頁儲存後,去對應規則觸發一次(或手動呼叫 API),回到執行記錄立刻看到一條 running → 幾秒後變 successfailed。失敗就點開看 ErrorNode,回流水線改那個節點。

資料保留

執行記錄會自動清理

  • 預設保留 7 天(可在 n9e.toml 設定檔裡調整);
  • 每天凌晨 6:00 自動執行清理任務,分批刪除(每批 100 條,間隔 10ms 不影響資料庫);
  • 想長期歸檔(合規/故障回顧):透過 API 拉取後入倉自管,UI 內不支援手動延長保留期。

常見問題

Q1:我的流水線明明設定好了,但執行記錄裡完全沒看到它的條目?

A:說明根本沒被觸發。檢查觸發條件:

  • 告警流水線(event 模式):在 告警規則 的「流水線設定」區是否綁定了該流水線;事件標籤是否命中流水線的過濾條件。
  • 定時流水線(cron 模式):在流水線編輯頁的「觸發器」是否啟用了 cron 運算式。
  • API 流水線(api 模式):是否真的有外部系統呼叫過 API(看夜鶯 server 存取日誌)。

Q2:狀態一直顯示 running 不結束,怎麼回事?

A:常見原因有:

  • 流水線裡某個節點(如 callback、AI 摘要)呼叫外部服務長時間無回應,被卡住;
  • 節點逾時設定過大;
  • 後端 worker 程序異常結束導致狀態未更新。

排查思路:看 ErrorNode 是哪個節點,去該節點對應的服務端日誌(如 callback 目標的接收方)確認是否真的在處理。如果是 worker 異常,重新啟動告警引擎服務即可清理殭屍記錄。

Q3:執行耗時 duration_ms 經常幾秒甚至幾十秒,正常嗎?

A:取決於節點類型:

  • 純標籤處理(重寫、增強、丟棄):通常 < 100ms,幾秒以上偏慢;
  • 基於查詢的節點(事件抑制 QD、附加資訊 QD):依賴底層資料來源回應,1-3 秒正常;
  • AI 摘要/截圖/Callback:呼叫外部服務,3-30 秒都可能正常;
  • 指令稿執行:完全取決於指令稿本身。

把執行耗時按節點拆開看(詳情裡每個節點都有自己的耗時),找出瓶頸。

Q4:能不能給執行失敗設定告警?

A:暫時沒有官方「流水線失敗就告警」的開關。繞一下:在流水線末尾加一個「Webhook 回呼」節點,外部接收方彙總失敗計數,再設定一條針對該計數指標的告警規則即可。後續版本可能內建該能力。

參考資料

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云