本文以網站訪問日誌為例,為您介紹完整的資料加工流程,協助您快速熟悉資料加工功能及其操作。
前提條件
已建立名為web-project的Project。具體操作,請參見建立專案Project。
在Project(web-project)中建立名為website_log的源Logstore。具體操作,請參見建立Logstore。
已採集網站訪問日誌到源Logstore(website_log)。具體操作,請參見資料擷取。
在Project(web-project)中建立目標Logstore,具體說明如下:
目標Logstore
說明
website-success
將訪問成功的日誌儲存到儲存目標target-success對應的Logstore(website-success)中。
website-fail
將訪問失敗的日誌儲存到儲存目標target-fail對應的Logstore(website-fail)中。
website-etl
將其他訪問日誌儲存到儲存目標target0對應的Logstore(website-etl)中。
如果您使用的是RAM使用者,則需要先授予RAM使用者資料加工操作許可權。具體操作,請參見授予RAM使用者資料加工操作許可權。
已配置源Logstore和目標Logstore的索引。具體操作,請參見建立索引。
重要資料加工任務不依賴索引,但若不配置索引,將無法執行查詢和分析操作。
背景資訊
某網站將其所有的訪問日誌儲存在一個Logstore中,現希望為訪問成功的日誌和訪問失敗的日誌設定不同的日誌主題,並分發到不同的Logstore中,便於分析。日誌範例如下:
body_bytes_sent:1061
http_user_agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5
remote_addr:192.0.2.2
remote_user:vd_yw
request_method:DELETE
request_uri:/request/path-1/file-5
status:207
time_local:10/Jun/2021:19:10:59
步驟一:建立資料加工任務
進入資料加工頁面。
在Project列表地區,單擊目標Project。
在 頁簽中,單擊目標Logstore。
在查詢和分析頁面,單擊資料加工。
在頁面右上方,選擇資料的時間範圍。
選擇時間範圍後,請確認原始日誌頁簽中存在日誌。
在編輯框中,輸入加工語句。
e_if(e_search("status:[200,299]"),e_compose(e_set("__topic__","access_success_log"),e_output(name="target-success"))) e_if(e_search("status:[400,499]"),e_compose(e_set("__topic__","access_fail_log"),e_output(name="target-fail")))
e_if函數表示當條件為真時,執行對應的操作。更多資訊,請參見e_if。
條件:
e_search("status:[200,299]")
當status欄位值滿足條件時,執行操作1和操作2。更多資訊,請參見e_search。
操作1:
e_set("__topic__","access_success_log")
新增__topic__欄位,並賦值access_success_log。更多資訊,請參見e_set。
操作2:
e_output(name="target-success", project="web-project", logstore="website-success")
將加工後的資料儲存到儲存目標中,即儲存到名為website-success的Logstore中。更多資訊,請參見e_output。
預覽資料。
單擊快速。
Log Service支援快速預覽和進階預覽。更多資訊,請參見預覽調試概述。
單擊預覽資料。
查看預覽結果。
重要預覽時不會輸出日誌到目標Logstore中,而是輸出到名為internal-etl-log的Logstore中。internal-etl-log Logstore是您首次執行資料加工預覽時,系統在當前Project下自動建立的專屬Logstore,不支援修改配置及寫入其他資料,不收取任何費用。
建立資料加工任務。
單擊儲存資料加工。
在建立資料加工任務面板,配置如下參數。
參數
說明
任務名稱
資料加工任務的名稱。
授權方式
您可以通過如下方式授予資料加工任務讀取源Logstore中資料的許可權。
預設角色:授予資料加工任務使用阿里雲系統角色AliyunLogETLRole來讀取源Logstore中的資料。
自訂角色:授予資料加工任務使用自訂角色來讀取源Logstore中的資料。
您需先授予自訂角色讀取源Logstore資料的許可權,然後在角色ARN中輸入您自訂角色的ARN。如何授權,請參見通過自訂角色訪問資料。
密鑰:授予資料加工任務使用阿里雲帳號或RAM使用者的存取金鑰來讀取源Logstore中的資料。
阿里雲帳號:阿里雲帳號的存取金鑰具備源Logstore資料讀取許可權,您在AccessKey ID和AccessKey Secret中輸入阿里雲帳號的存取金鑰即可。如何擷取存取金鑰,請參見存取金鑰。
RAM使用者:您需先授予RAM使用者讀取源Logstore資料的許可權,然後在AccessKey ID和AccessKey Secret中輸入RAM使用者的存取金鑰。如何授權,請參見通過存取金鑰訪問資料。
儲存目標
目標名稱
儲存目標的名稱。儲存目標中包括Project、Logstore等配置。
需與步驟4中所配置的name一致。
說明Log Service預設以序號1中配置的儲存目標(本案例中為target0)為預設儲存目標,用來儲存其他未合格日誌。
目標Region
選擇目標Project所在地區。
跨地區資料加工使用HTTPS協議傳輸,確保日誌資料的私密性。
跨地區資料加工使用公網傳輸資料,可能因為公網傳輸網路的不確定性導致加工任務出現延遲。您可以選中DCDN加速複選框,加快跨地區傳輸速度。在使用DCDN加速時,需確保對應的Project已開啟加速功能。更多資訊,請參見採集加速。
重要從Log Service公網網域名稱所在介面拉取資料時,會產生外網讀取流量(按照壓縮後的資料量計算)。更多資訊,請參見按使用功能計費模式計費項目。
目標Project
用於儲存資料加工結果的目標Project名稱。
目標庫
用於儲存資料加工結果的目標Logstore名稱。
授權方式
您可以通過如下方式授予資料加工任務寫目標Logstore的許可權。
預設角色:授予資料加工任務使用阿里雲系統角色AliyunLogETLRole將資料加工結果寫入目標Logstore。
自訂角色:授予資料加工任務使用自訂角色將資料加工結果寫入目標Logstore。
您需先授予自訂角色寫資料到目標Logstore的許可權,然後在角色ARN中輸入您自訂角色的ARN。如何授權,請參見通過自訂角色訪問資料。
密鑰:授予資料加工任務使用阿里雲帳號或RAM使用者的存取金鑰將資料加工結果寫入目標Logstore。
阿里雲帳號:阿里雲帳號的存取金鑰具備寫資料到目標Logstore的許可權,您在AccessKey ID和AccessKey Secret中輸入阿里雲帳號的存取金鑰即可。如何擷取存取金鑰,請參見存取金鑰。
RAM使用者:您需先授予RAM使用者寫資料到目標Logstore的許可權,然後在AccessKey ID和AccessKey Secret中輸入RAM使用者的存取金鑰。如何授權,請參見通過存取金鑰訪問資料。
加工範圍
時間範圍
指定資料加工任務的時間範圍,詳細說明如下:
說明此處的時間範圍依賴日誌的接收時間。
所有:從Logstore接收到第一條日誌的時間點開始資料加工任務,直到加工任務被手動停止。
某時間開始:指定資料加工任務的開始時間,從該時間點開始加工,直到加工任務被手動停止。
特定時間範圍:指定資料加工任務的起止時間,加工任務執行到指定時間後自動停止。
單擊確定。
將日誌分發到目標Logstore後,您可以在目標Logstore中執行查詢和分析操作。具體操作,請參見查詢和分析日誌。
步驟二:查看資料加工任務
在左側導覽列中,選擇
。在資料加工工作清單中,單擊目標資料加工任務。
在資料加工概覽頁面,查看資料加工任務詳情。
您可以查看任務詳情與狀態,修改、啟動、停止和刪除任務等。具體操作,請參見管理資料加工任務。