全部產品
Search
文件中心

Simple Log Service:建立OSS投遞任務(舊版)

更新時間:Nov 16, 2024

Log Service採集到資料後,支援將資料投遞至OSS進行儲存與分析。本文介紹建立OSS投遞任務(舊版)的操作步驟。

前提條件

背景資訊

Log Service支援將Logstore中的資料自動歸檔到OSS,以發揮更多的資料價值。

  • OSS支援自由設定生命週期,可以長期儲存資料。

  • 您可以通過資料處理平台(例如E-MapReduce和DLA)或自建程式消費OSS資料。

投遞資料

重要
  • 開啟投遞後,Log Service並發執行投遞執行個體。每個Shard都會根據投遞大小、投遞時間決定執行個體的產生頻率,任一條件滿足時,即會產生執行個體。

  • 產生投遞執行個體後,您可以通過投遞任務的狀態和投遞到OSS的資料確認您所建立的投遞任務是否符合預期結果。

  1. 登入Log Service控制台

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

    image

  3. 日誌儲存 > 日誌庫頁簽中,單擊目標Logstore左側的>,選擇資料處理 > 匯出 > OSS(Object Storage Service)

  4. 將滑鼠懸浮OSS(Object Storage Service)上,單擊+

  5. OSS投遞功能面板,配置如下參數,然後單擊確定

    選擇投遞版本舊版,重要參數配置說明如下所示。

    參數

    說明

    OSS投遞名稱

    投遞任務的名稱。

    OSS Bucket

    OSS Bucket名稱。

    重要
    • 必須是已存在且未開啟WORM的Bucket,且該Bucket與Log ServiceProject位於相同地區。關於WORM的更多資訊,請參見保留原則(WORM)

    • 支援投遞到標準、低頻訪問、歸檔、冷歸檔、深度冷Archive Storage類型的Bucket中。投遞後,產生的OSS Object的儲存類型預設與Bucket一致。更多資訊,請參見儲存類型概述

    • 非標準儲存的Bucket存在最低儲存時間和最小計量單位限制,請根據需求合理設定目標Bucket儲存類型。更多資訊,請參見儲存類型對比

    檔案投遞目錄

    OSS Bucket中的目錄。目錄名不能以正斜線(/)或者反斜線(\)開頭。

    建立OSS投遞任務後,Logstore中的資料將投遞到目標OSS Bucket的此目錄中。

    分區格式

    按照投遞任務的建立時間動態產生OSS Bucket目錄,不能以正斜線(/)開頭,預設值為%Y/%m/%d/%H/%M,相關樣本請參見分區格式,參數詳情請參見strptime API

    寫OSS RAM角色

    授予OSS投遞任務將資料寫入到OSS Bucket的許可權。

    投遞大小

    每個Shard的投遞大小。通過該值控制OSS Object大小(以未壓縮計算),取值範圍為5~256,單位為MB。

    當每個Shard投遞資料大小達到此處設定的大小時,會自動建立一個新的投遞任務。

    儲存格式

    資料被投遞到OSS後,支援儲存為不同的檔案格式。更多資訊,請參見JSON格式CSV格式Parquet格式

    是否壓縮

    OSS資料存放區的壓縮方式。

    • 不壓縮:不壓縮資料。

    • 壓縮(snappy):使用snappy演算法壓縮資料,可減少OSS Bucket儲存空間。

    投遞時間

    每個Shard的投遞周期。取值範圍為300~900,預設值為300,單位為秒。

    當每個Shard投遞周期達到此處設定的大小時,會自動建立一個新的投遞執行個體。

查看OSS資料

將資料投遞到OSS成功後,您可以通過OSS控制台、API、SDK或其他方式訪問OSS資料。更多資訊,請參見檔案管理

OSS Object地址格式如下所示:

oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID

OSS-BUCKET為OSS Bucket名稱,OSS-PREFIX為目錄首碼,PARTITION-FORMAT為分區格式(由投遞任務的建立時間通過strptime API計算得到),RANDOM-ID是投遞任務的唯一標識。

說明

OSS Bucket目錄是按照投遞任務建立時間設定的。例如:2016-06-23 00:00:00建立投遞任務,投遞的是2016-06-22 23:55後寫入Log Service的資料,假設5分鐘投遞一次資料到OSS。如果您要分析2016-06-22全天的資料,除了查看2016/06/22目錄下的全部object以外,還需要檢查2016/06/23/00/目錄下前十分鐘的Object是否包含2016-06-22的資料。

分區格式

一個投遞任務對應一個OSS Bucket目錄,目錄格式為oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID。PARTITION-FORMAT是根據投遞任務的建立時間格式化而得到的,以建立時間為2017/01/20 19:50:43的投遞任務為例,介紹分區格式,如下表所示。

OSS Bucket

OSS Prefix

分區格式

OSS檔案路徑

test-bucket

test-table

%Y/%m/%d/%H/%M

oss://test-bucket/test-table/2017/01/20/19/50_1484913043351525351_2850008

test-bucket

log_ship_oss_example

year=%Y/mon=%m/day=%d/log_%H%M%S

oss://test-bucket/log_ship_oss_example/year=2017/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet

test-bucket

log_ship_oss_example

ds=%Y%m%d/%H

oss://test-bucket/log_ship_oss_example/ds=20170120/19_1484913043351525351_2850008.snappy

test-bucket

log_ship_oss_example

%Y%m%d/

oss://test-bucket/log_ship_oss_example/20170120/_1484913043351525351_2850008

說明

此格式會導致Hive等平台無法解析對應的OSS內容,建議您不要使用該格式。

test-bucket

log_ship_oss_example

%Y%m%d%H

oss://test-bucket/log_ship_oss_example/2017012019_1484913043351525351_2850008

使用Hive、MaxCompute等巨量資料平台或阿里雲DLA產品分析OSS資料時,如果您希望使用Partition資訊,可將檔案名稱中的PARTITION-FORMAT設定為key=value格式。例如:oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet,設定為三層分區列,分別為:year、mon、day。

相關操作

建立投遞任務後,您可以在OSS投遞管理頁面,執行修改投遞任務、關閉投遞、查看投遞任務狀態及錯誤資訊、重試投遞任務等操作。

  • 修改投遞任務

    單擊投遞配置,修改投遞任務。參數詳情,請參見本文中的投遞資料

  • 關閉投遞

    單擊關閉投遞,即可關閉投遞。

  • 查看投遞任務狀態及錯誤資訊

    Log Service支援查看過去兩天內的所有投遞任務及其投遞狀態。

    • 任務狀態

      狀態

      說明

      成功

      投遞任務正常運行。

      進行中

      投遞任務進行中,請稍後查看是否投遞成功。

      失敗

      因外部原因而無法重試的錯誤導致投遞任務失敗,請根據錯誤資訊進行排查並重試。

    • 錯誤資訊

      如果投遞任務出現錯誤,控制台上會顯示相應的錯誤資訊。

      錯誤資訊

      錯誤原因

      處理方法

      UnAuthorized

      沒有許可權。

      請確認以下配置:

      • OSS Bucket擁有者是否已建立AliyunLogDefaultRole角色。

      • 角色描述中配置的阿里雲帳號ID是否正確。

      • AliyunLogDefaultRole角色是否被授予OSS Bucket寫入權限。

      • RAM角色標識是否配置正確。

      ConfigNotExist

      配置不存在。

      一般是由於關閉投遞導致的。請在重新開啟投遞任務後,通過重試解決。

      InvalidOssBucket

      OSS Bucket不存在。

      請確認以下配置:

      • OSS Bucket所在地區與Log ServiceProject所在地區是否相同。

      • Bucket名稱是否配置正確。

      InternalServerError

      Log Service內部錯誤。

      通過重試解決。

    • 重試任務

      Log Service會按照策略預設為您重試,您也可以手動重試。Log Service預設重試最近兩天之內所有失敗的任務,重試等待的最小間隔是15分鐘。當任務執行失敗時,第一次失敗需要等待15分鐘再進行重試,第二次失敗需要等待30分鐘再進行重試,第三次失敗需要等待60分鐘再進行重試,以此類推。

      如果您需要立即重試失敗任務,請單擊重試全部失敗任務、目標任務右側的重試或通過API、SDK指定任務進行重試。