日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

數據加工(舊版)常見問題

更新時間: 2024-12-18 18:19:29

數據加工任務啟動后,加工結果根據路由規則發送到對應的Logstore。如果加工任務失敗,目標Logstore沒有日志產生或者加工延遲過大等異常,可以根據本文檔步驟進行排查處理。

錯誤分析

當發生錯誤時,分析錯誤在數據加工任務的哪個環節產生,能幫助用戶更高效地定位錯誤位置。

根據加工原理,數據加工任務的主要四個環節如下圖所示。加工環節

以上每個環節都可能產生錯誤,其原因、影響和排查方式各不相同。

  • 啟動加工引擎。

    • 該環節產生錯誤主要是由于在啟動加工引擎過程中,檢測到用戶編寫的LOG DSL規則存在錯誤,導致加工引擎內部的安全檢查不通過。

    • 在該階段產生錯誤時,加工任務會停止。用戶需要修改LOG DSL規則并重新啟動加工任務。如果重試成功,加工任務會繼續正常工作,不會產生日志的丟失或冗余。

    該環節的錯誤排查方法請參見加工引擎啟動錯誤。

  • 讀取源Logstore數據。

    • 該環節產生錯誤可能是由于源Logstore信息配置錯誤、網絡錯誤、源Logstore信息發生變化等,導致對源Logstore的訪問異常。

    • 該階段產生錯誤時,加工任務會一直重試,直到重試成功或被手動停止。如果重試成功,加工任務會繼續正常工作,不會產生日志的丟失。

    • 如果是已經讀取部分數據后才報錯,則加工服務會保存斷點并一直重試,重試成功后從斷點處繼續讀取,不會有數據的丟失與重復。如果重試過程中停止,不會有數據丟失與重復。

    該環節的錯誤排查方法請參見源Logstore讀取錯誤。

  • 加工日志事件。

    • 該環節產生錯誤主要是由于在數據加工過程中,部分或全部日志事件不適配加工規則引發的錯誤。

    • 該階段產生錯誤時,不適配加工規則的日志事件會引發報錯,錯誤分成WARNING和ERROR級別(通過加工日志的logging.levelname體現)。

      • 對于ERROR級別的錯誤,該日志事件會丟棄,加工后的輸出結果中將不包含這些日志事件。

      • 對于WARNING級別的錯誤(例如某些事件與正則規則不匹配),會跳過當前DSL的這一步,進行下一步。

    該環節的錯誤排查方法請參見加工規則錯誤

  • 輸出到目標Logstore。

    • 該環節產生錯誤可能是由于目標Logstore信息配置錯誤、網絡錯誤、目標Logstore信息發生變化等,導致對目標Logstore的訪問異常。

    • 該階段產生錯誤時,加工任務會一直重試,直到重試成功或被手動停止。如果重試成功,加工任務會繼續正常工作,不會產生日志的丟失。

    • 如果是已經輸出部分數據后才報錯,例如配置了兩個目標,一個目標成功,另外一個目標失敗。會保存斷點并一直重試,重試成功后不會有數據的丟失與冗余。但如果這時停止加工任務再重新啟動時,會從斷點繼續加工,不會有數據的丟失,但可能會有數據的冗余。

    該環節的錯誤排查方法請參見目標Logstore輸出錯誤的原因和排查方法。

通用錯誤排查

  1. 確認目標Logstore是否有數據寫入。

    檢查目標Logstore最近是否有數據寫入,正確的方法是通過查看目標Logstore的消費預覽數據。消費預覽

    說明

    通過Logstore的查詢的方式可能不準確,因為:

    • 數據加工是基于日志接收時間進行加工,可能正在加工歷史日志,當前查詢的時間范圍與日志的寫入時間并不一定一致。

    • 日志服務在寫入歷史日志時的索引可以查詢,但通常會有幾分鐘的延遲。 數據加工如果正在寫入歷史日志,那么查詢界面立刻查詢可能查詢不到。

  2. 查看加工任務狀態。

    • 查看當前任務的進度,是否已經啟動,請參見查看任務狀態。對于時間區間固定的任務,加工到結束位置之后會自動結束。

    • 查看對應任務的消費組,檢查其狀態是否開啟并有所更新。消費狀態

    • 參見錯誤日志查看方式查看是否有異常發生,然后根據錯誤分析進一步找到原因并解決。

  3. 查看源Logstore是否有數據產生。

    通過查看加工任務,確認在當前加工任務的時間范圍內,源Logstore是否存在日志。

    • 如果時間配置沒有設置結束時間,檢查源Logstore是否有新日志產生,如果沒有新日志產生,且特定時間范圍內沒有日志而且沒有歷史日志存在,加工任務無法進行。

    • 如果選擇的是歷史時間,確認歷史特定時間范圍內源Logstore是否有日志。

    單擊加工任務的修改加工規則,選擇對應的時間范圍來查看是否有原始日志。

  4. 查看加工規則是否異常。

    檢查加工規則代碼中是否存在異常。例如:

    • 修改了日志的時間,導致在當前時間范圍內查詢不到。

    • 加工規則在特定條件下丟棄了日志。

      例如如下代碼,會丟棄所有字段name不存在或者為空的日志,而前置邏輯是構建字段name,如果前置邏輯存在問題,導致字段name沒有正確構建的話,所有日志都不會產出。

      # ....前置邏輯.
      #  .... 構建字段name...
      
      e_keep(e_search('name: "?"'))
    • 如果存在從第三方拉取數據做富化的邏輯,需要確認是否因為第三方的數據過大,導致數據加工任務正在處于初始化狀態,遲遲未能開始消費數據。例如:

      e_dict_map(res_rds_mysql(..database="userinfo", table="user"), "username", ["city", "school", "age"])

    單擊加工任務的修改加工規則,選擇對應的時間范圍,并單擊預覽數據來查看結果。

    如果能夠重現,可以通過注釋掉特定語句重試預覽進行調試。

  5. 確認Shard數量是否符合預期。

    如果發現加工速度過慢,可以考慮是否源Logstore與目標Logstore的規劃不符合性能預期,建議調整源Logstore或目標Logstore的Shard數量。

錯誤日志查看方式

錯誤日志可以通過如下方式查看。

  • 通過日志庫internal-etl-log查看。

    加工任務產生的日志會存儲在日志庫internal-etl-log中,該Logstore在執行數據加工任務后由系統自動生成。

    • internal-etl-log屬于專屬Logstore,不收取任何費用,不支持修改其配置,也不支持寫入其他數據。

    • internal-etl-log中每個日志事件的__topic__字段顯示了加工任務的狀態,可通過該字段判斷對應的加工任務是否產生了錯誤。

    • 具體的錯誤信息通過每個日志事件的messagereason字段查看,如下圖所示。日志庫錯誤信息

  • 通過儀表盤查看。

    單擊目標加工任務,在數據加工概覽頁面的執行狀態區域查看儀表盤。

    具體的錯誤信息在異常詳情的reason列,如下圖所示。儀表盤錯誤信息

  • 控制臺查看。

    預覽階段的錯誤日志會直接顯示在控制臺。預覽階段只是模擬加工規則的操作,以及預覽預期的加工結果,并不會真的對源Logstore和目標Logstore進行修改,因此預覽階段遇到的各類錯誤都不會對源日志事件產生影響。

預覽限制

預覽階段的數據加工相較于真實的加工任務,會存在限制。

  • 不能發現源Logstore密鑰權限問題。

    預覽階段不會創建消費組進行消費,因此不會對消費組權限進行檢查。

  • 不能發現加工規則中輸出目標的名稱錯誤。

    預覽階段不會對寫入目標做真正的寫入操作,因此不會檢查配置項中是否配置了相關的輸出目標。

  • 不能發現輸出目標的配置錯誤。

    • 此處配置錯誤包含輸出目標的Project、Logstore、密鑰權限等信息配置錯誤。

    • 預覽階段不會對寫入目標做真正的寫入操作,因此不會檢查輸出目標的配置信息是否正確。

  • 不能完整覆蓋所有數據。

    • 預覽階段默認只從源Logstore中拉取1000條數據進行加工,不會覆蓋所有數據。

    • 如果拉取的1000條數據經過加工后沒有加工結果產生,則會持續拉取數據五分鐘,直到有加工結果產生為止。

上一篇: 場景五:使用訪問密鑰完成跨云賬號的日志數據流轉 下一篇: 加工引擎啟動錯誤
阿里云首頁 日志服務 相關技術圈