全部產品
Search
文件中心

Simple Log Service:觀測與監控資料加工(新版)任務

更新時間:Jun 30, 2024

本文介紹資料加工(新版)任務啟動並執行指標詳情,如何查看資料加工儀錶盤、以及配置任務監控。

指標資料

資料加工(新版)任務的運行指標需要開啟SLS任務作業記錄,開啟任務作業記錄請參見管理服務日誌

儀錶盤

建立資料加工任務後,Log Service預設為每個加工任務建立一個儀錶盤,位於資料加工任務詳情頁面。您可以在儀錶盤中查看資料加工任務運行指標。

操作步驟

  1. 登入Log Service控制台

  2. 在Project列表地區,單擊目標Project。

    image

  3. 在左側導覽列中,選擇任務管理 > 資料加工

  4. 單擊目標資料加工任務,在執行狀態地區,查看儀錶盤資訊。

總覽指標

總覽指標資訊如下所示。

image.png

  • 加工速率:預設時間周期為1小時,統計視窗為1分鐘,速率為資料條目數/秒。

    • ingest:從源Logstore的各個shard中讀到的資料條數。

    • deliver:成功寫入到目標Logstore的資料條數。

    • failed:從源Logstore的各個shard中讀取,在加工過程中發生失敗的資料條數。

  • 讀取日誌數總計:從源Logstore的各個shard中讀取到的資料條數總計,預設時間周期為1天。

  • 寫出日誌數總計:成功寫入到所有目標Logstore的資料條數總計,預設時間周期為1天。

  • 失敗日誌數總計:從源Logstore的各個shard中讀取、並在加工過程中發生失敗的資料條數總計,預設時間周期為1天。

  • 寫出日誌數佔比:成功投遞到目標Logstore的資料條數占源Logstore讀取到資料條數的比例,預設時間周期為1天。

Shard詳情分析

統計每分鐘視窗內,加工任務讀取源Logstore資料時,每個Shard的指標。

image.png

  • Shard消費延遲(s):每一個Shard中寫入的最後一資料的接收時間,與資料加工中該Shard正在處理的資料接收時間之差,單位為秒。

  • 活躍Shard統計:預設統計周期為1小時。

    • shard: 指定統計的Shard編號。

    • ingest:從該Shard中讀到的未經處理資料條數。

    • failed:從該Shard中讀到未經處理資料,並在加工過程中發生失敗的資料條數。

運行異常

您可以根據message欄位,查看運行報錯的細節。

image.png

警示規則

監控資料加工(新版)任務,依賴於任務運行指標,請參見指標資料。可以使用Log Service警示功能實現任務監控,請參見警示。這裡介紹如下的資料加工(新版)警示規則:處理延遲監控、處理異常報錯監控、處理流量(絕對值)監控、處理流量(同比)監控。建立警示規則請參見建立日誌警示規則

重要

建立資料加工(新版)警示規則添加的查詢統計的專案和日誌庫為該專案工作作業記錄儲存的專案和日誌庫。任務作業記錄儲存請參見管理服務日誌

image

處理延遲監控

專案

說明

作用

用於監控資料加工任務中Shard消費延遲情況。當加工延遲時間長度大於規則參數中延遲監控閾值時觸發警示。

關聯儀錶盤

請參見Shard訊息延遲

分析SQL範例

以下模板{job_name}替換為需要監控的資料加工(新版)任務名稱。

__topic__: etl_metrics and 
job_name: {job_name} and
"_etl_:connector_meta.action": ingest
| select
  split_part(
    "_etl_:connector_meta.task_name",
    '#',
    2
  ) as shard,
  max_by("_etl_:connector_metrics.lags", __time__) as lags
group by
  shard
having
  shard is not null
limit
  all

監控規則

  • 觸發條件選擇有資料匹配,評估運算式為:lags>120,延遲監控閾值為120秒。

  • 查詢區間為:5分鐘。

  • 檢查頻率為:5分鐘。

說明

為了避免資料加工(新版)按1分鐘周期更新處理指標,以及資料洪峰導致的延遲情況,導致的警示誤判,建議按照以上規則配置。

消除方法

請按照如下原則進行處理:

  1. 如果該資料加工任務處理歷史資料,且剛建立,需要一段時間完成歷史資料,請先觀察1小時,看延遲是否降到警示範圍以內。若否,則進行下一步。

  2. 如果源Logstore的資料量明顯增長:

    • 加工速率 (events/s)速度同時提高,而且Shard消費延遲(s)出現下降趨勢,則說明由於源Logstore資料增長,資料加工任務在自動擴容資源。請先觀察5分鐘,看延遲是否降到警示範圍以內。若否,則進行下一步。

    • 加工速率 (events/s)速度沒有提高,或者Shard消費延遲(s)還處於上漲趨勢,則說明可能是源Logstore的Shard數目不足,導致資料加工資源擴充受限,您需要手動分裂源Logstore的Shard。具體操作,請參見管理Shard。完成分裂後,請先觀察5分鐘,看延遲是否降到警示範圍以內。若否,則進行下一步。

  3. 如果存在資料加工異常報錯監控,請優先處理。處理完成後,請先觀察5分鐘,看延遲是否降到警示範圍以內。若否,則進行下一步。

  4. 如果警示無法處理,請準備Project、Logstore和資料加工任務ID資訊,提工單聯絡阿里雲支援人員。

處理異常報錯監控

專案

說明

作用

用於監控資料加工任務中異常報錯。當資料加工出現異常報錯時觸發警示。

關聯儀錶盤

請參見運行異常

分析SQL範例

以下模板{job_name}替換為需要監控的資料加工(新版)任務名稱。

__topic__: etl_metrics and 
job_name: {job_name} and 
"_etl_:connector_metrics.error": *
| select
  distinct "_etl_:connector_metrics.error" as errors

監控規則

  • 觸發條件選擇有資料

  • 查詢區間為:10分鐘

  • 檢查頻率為:10分鐘。

消除方法

請按照如下對應報錯資訊進行處理:

  • 錯誤資訊中包含Invalid SPL query,則說明資料加工任務配置的SPL規則存在語法錯誤,需要參照報錯資訊進行修改。更多資訊,請參見SPL文法

  • 錯誤資訊中包含Unauthorized、InvalidAccessKeyId或SignatureNotMatch,則說明資料加工任務讀取源Logstore資料、或者寫入目標Logstore許可權不足。更多資訊,請參見授權概述

  • 錯誤資訊中包含ProjectNotExist或LogStoreNotExist,則說明資料加工任務涉及的Project或Logstore不存在。請登入 Log Service控制台檢查並處理。

  • 如果警示無法處理,請準備Project、Logstore和資料加工任務ID資訊,提工單聯絡阿里雲支援人員。

寫出資料量佔比(同比)監控

專案

說明

作用

用於監控資料加工任務寫出至目標Logstore的處理結果資料量,與從源Logstore讀取的未經處理資料量的比例,相比昨日、以及上一周的增長閾值和下跌閾值情況。當增長大於規則參數中日/周同比增長閾值或下跌超過規則參數中日/周同比下跌閾值時觸發警示。

關聯儀錶盤

寫出日誌數佔比:成功投遞到目標Logstore的資料條數占源Logstore讀取到資料條數的比例,預設時間周期為1天。

分析SQL範例

建立警示規則的查詢統計對話方塊中輸入以下SQL。

以下模板{job_name}替換為需要監控的資料加工(新版)任務名稱。

__topic__: etl_metrics and 
job_name: {job_name}
| select
  round(diff [1], 1) as percent,
  round(coalesce(diff [3], 0), 1) as ratio_1d,
  round(coalesce(diff [5], 0), 1) as ratio_1w
from(
    select
      compare(percent, 86400, 604800) as diff
    FROM      (
        select
          deliver /(ingest + 0.0001) as percent
        from(
            select
              sum(
                if(
                  "_etl_:connector_meta.action" = 'ingest',
                  "_etl_:connector_metrics.native_bytes",
                  0
                )
              ) as ingest,
              sum(
                if(
                  "_etl_:connector_meta.action" = 'deliver',
                  "_etl_:connector_metrics.native_bytes",
                  0
                )
              ) as deliver
            FROM              log
          )
      )
  )

監控規則

  • 觸發條件選擇有資料匹配,評估運算式為:(ratio_1d>120 || ratio_1d<80) && (ratio_1w>120 || ratio_1w<80) ,日/周同比增長和下跌閾值均為20%。

  • 查詢區間為:1小時

  • 檢查頻率為:1小時。

說明

為了避免未經處理資料流量的周期性波動導致的警示誤判,建議日/周同比增長閾值和日/周同比下跌閾值設定不小於20%,或者調整同比周期,使其與未經處理資料流量的周期匹配。

消除方法

請按照如下原則進行處理:

  1. 如果源Logstore的資料量存在變化,請先檢查是否有新數模式的資料接入、或者某些模式的資料斷流。如果存在該情況,且由此導致的資料變化與當前規則對應的指標一致,則說明是由於源Logstore資料模式變化導致的。否則,進行下一步。

  2. 如果存在資料加工延遲監控、或者處理異常報錯監控,請優先處理。處理完成後,請先觀察15分鐘,如果資料加工延遲已經回到1分鐘以內,但是加工資料量與源Logstore資料量增加(減少)趨勢不一致,則進行下一步。

  3. 如果警示無法處理,請準備Project、Logstore和資料加工任務ID資訊,提工單聯絡阿里雲支援人員。

讀取來源資料量(同比)監控

專案

說明

作用

用於監控資料加工任務讀取資料量相比昨日、以及上一周的增長閾值和下跌閾值情況。當增長大於規則參數中日/周同比增長閾值或下跌超過規則參數中日/周同比下跌閾值時觸發警示。

關聯儀錶盤

讀取日誌數總計:從源Logstore的各個shard中讀取到的資料條數總計,預設時間周期為1天。

分析SQL範例

建立警示規則的查詢統計對話方塊中輸入以下SQL。

以下模板{job_name}替換為需要監控的資料加工(新版)任務名稱。

__topic__: etl_metrics and 
job_name: {job_name} and
"_etl_:connector_meta.action": ingest
| select
  diff [1] as events,
  round(coalesce(diff [3], 0),  1) as ratio_1d,
  round(coalesce(diff [5], 0),  1) as ratio_1w
from(
    select
      compare(events, 86400, 604800) as diff
    FROM      (
        select
          sum("_etl_:connector_metrics.events") as events
        FROM          log
      )
  )

監控規則

  • 觸發條件選擇有資料匹配,評估運算式為:(ratio_1d>120 || ratio_1d<80) && (ratio_1w>120 || ratio_1w<80) ,日/周同比增長和下跌閾值均為20%。

  • 查詢區間為:1小時

  • 檢查頻率為:1小時。

說明

為了避免未經處理資料流量的周期性波動導致的警示誤判,建議日/周同比增長閾值和日/周同比下跌閾值設定不小於20%,或者調整同比周期,使其與未經處理資料流量的周期匹配。

消除方法

請按照如下原則進行處理:

  1. 如果該值變化趨勢與源Logstore的資料量增長(減少)趨勢一致,則說明是由於源Logstore資料量導致的。否則,進行下一步。

  2. 如果存在資料加工延遲監控、或者處理異常報錯監控,請優先處理。處理完成後,請先觀察15分鐘,如果資料加工延遲已經回到1分鐘以內,但是加工資料量與源Logstore資料量增加(減少)趨勢不一致,則進行下一步。

  3. 如果警示無法處理,請準備Project、Logstore和資料加工任務ID資訊,提工單聯絡阿里雲支援人員。

寫出結果量(同比)監控

專案

說明

作用

用於監控資料加工任務寫出資料量相比昨日、以及上一周的增長閾值和下跌閾值情況。當增長大於規則參數中日/周同比增長閾值或下跌超過規則參數中日/周同比下跌閾值時觸發警示。

關聯儀錶盤

寫出日誌數總計:成功寫入到所有目標Logstore的資料條數總計,預設時間周期為1天。

分析SQL範例

建立警示規則的查詢統計對話方塊中輸入以下SQL。

以下模板{job_name}替換為需要監控的資料加工(新版)任務名稱。

__topic__: etl_metrics and 
job_name: {job_name} and
"_etl_:connector_meta.action": deliver
| select
  diff [1] as events,
  round(coalesce(diff [3], 0),  1) as ratio_1d,
  round(coalesce(diff [5], 0),  1) as ratio_1w
from(
    select
      compare(events, 86400, 604800) as diff
    FROM      (
        select
          sum("_etl_:connector_metrics.events") as events
        FROM          log
      )
  )

監控規則

  • 觸發條件選擇有資料匹配,評估運算式為:(ratio_1d>120 || ratio_1d<80) && (ratio_1w>120 || ratio_1w<80) ,日/周同比增長和下跌閾值均為20%。

  • 查詢區間為:1小時

  • 檢查頻率為:1小時。

說明

為了避免未經處理資料流量的周期性波動導致的警示誤判,建議日/周同比增長閾值和日/周同比下跌閾值設定不小於20%,或者調整同比周期,使其與未經處理資料流量的周期匹配。

消除方法

請按照如下原則進行處理:

  1. 如果該值變化趨勢與源Logstore的資料量增長(減少)趨勢一致,則說明是由於源Logstore資料量導致的。若否,則進行下一步。

  2. 如果存在資料加工延遲監控、或者處理異常報錯監控,請優先處理。處理完成後,請先觀察15分鐘,如果資料加工延遲已經回到1分鐘以內,但是加工資料量與源Logstore資料量增加(減少)趨勢不一致,則進行下一步。

  3. 如果警示無法處理,請準備Project、Logstore和資料加工任務ID資訊,提工單聯絡阿里雲支援人員。