創(chuàng)建OSS投遞任務(wù)(舊版)
日志服務(wù)采集到數(shù)據(jù)后,支持將數(shù)據(jù)投遞至OSS進行存儲與分析。本文介紹創(chuàng)建OSS投遞任務(wù)(舊版)的操作步驟。
前提條件
已創(chuàng)建Project和Logstore。具體操作,請參見創(chuàng)建Project和Logstore。
已采集到數(shù)據(jù)。具體操作,請參見數(shù)據(jù)采集。
已在日志服務(wù)Project所在的地域創(chuàng)建Bucket。具體操作,請參見控制臺創(chuàng)建存儲空間。
已完成云資源訪問授權(quán)。
如果您要跨賬號投遞或使用RAM用戶創(chuàng)建投遞任務(wù),需先完成RAM授權(quán)。具體操作,請參見投遞日志到OSS的RAM授權(quán)管理。
背景信息
日志服務(wù)支持將Logstore中的數(shù)據(jù)自動歸檔到OSS,以發(fā)揮更多的數(shù)據(jù)價值。
OSS支持自由設(shè)置生命周期,可以長期存儲數(shù)據(jù)。
您可以通過數(shù)據(jù)處理平臺(例如E-MapReduce和DLA)或自建程序消費OSS數(shù)據(jù)。
支持的地域說明
日志服務(wù)投遞數(shù)據(jù)到OSS為同地域投遞,即日志服務(wù)Project所在的地域和OSS Bucket所在地域相同。
目前華東1(杭州)、華東2(上海)、華東5(南京-本地地域)、華東1金融云、華東2金融云、華北1(青島)、華北2(北京)、華北3(張家口)、華北5 (呼和浩特)、華北6(烏蘭察布)、西南1(成都)、華南1(深圳)、華南2(河源)、華南3(廣州)、中國香港、新加坡、澳大利亞(悉尼)關(guān)停中、馬來西亞(吉隆坡)、印度尼西亞(雅加達)、菲律賓(馬尼拉)、泰國(曼谷)、日本(東京)、美國(硅谷)、美國(弗吉尼亞)地域支持OSS投遞(新版)。更多信息,請參見創(chuàng)建OSS投遞任務(wù)(新版)。此處舊版投遞以華東2(上海)地域的界面為例。
如果Project屬于杭州金融云,則只支持投遞到杭州金融云公網(wǎng)地域(oss-cn-hzfinance),不支持華東1金融云地域(oss-cn-hzjbp)。
投遞數(shù)據(jù)
開啟投遞后,日志服務(wù)并發(fā)執(zhí)行投遞實例。每個Shard都會根據(jù)投遞大小、投遞時間決定實例的生成頻率,任一條件滿足時,即會生成實例。
生成投遞實例后,您可以通過投遞任務(wù)的狀態(tài)和投遞到OSS的數(shù)據(jù)確認您所創(chuàng)建的投遞任務(wù)是否符合預(yù)期結(jié)果。
登錄日志服務(wù)控制臺。
在Project列表區(qū)域,單擊目標Project。
在 頁簽中,單擊目標Logstore左側(cè)的>,選擇 。
將鼠標懸浮OSS(對象存儲)上,單擊+。
在OSS投遞功能面板,配置如下參數(shù),然后單擊確定。
選擇投遞版本為舊版,重要參數(shù)配置說明如下所示。
參數(shù)
說明
OSS投遞名稱
投遞任務(wù)的名稱。
OSS Bucket
OSS Bucket名稱。
重要必須是已存在且未開啟WORM的Bucket,且該Bucket與日志服務(wù)Project位于相同地域。關(guān)于WORM的更多信息,請參見保留策略(WORM)。
文件投遞目錄
OSS Bucket中的目錄。目錄名不能以正斜線(/)或者反斜線(\)開頭。
創(chuàng)建OSS投遞任務(wù)后,Logstore中的數(shù)據(jù)將投遞到目標OSS Bucket的此目錄中。
分區(qū)格式
按照投遞任務(wù)的創(chuàng)建時間動態(tài)生成OSS Bucket目錄,不能以正斜線(/)開頭,默認值為%Y/%m/%d/%H/%M,相關(guān)示例請參見分區(qū)格式,參數(shù)詳情請參見strptime API。
寫OSS RAM角色
授予OSS投遞任務(wù)將數(shù)據(jù)寫入到OSS Bucket的權(quán)限。
默認角色:授權(quán)OSS投遞任務(wù)使用阿里云系統(tǒng)角色AliyunLogDefaultRole將數(shù)據(jù)寫入到OSS Bucket中。即輸入AliyunLogDefaultRole的ARN。如何獲取ARN,請參見通過默認角色訪問數(shù)據(jù)。
自定義角色:授權(quán)OSS投遞任務(wù)使用自定義角色將數(shù)據(jù)寫入到OSS Bucket中。
您需先授予自定義角色將數(shù)據(jù)寫入到OSS Bucket的權(quán)限,然后在寫OSS RAM角色中輸入您自定義角色的ARN。如何獲取ARN,請參見如下說明:
如果Logstore和OSS Bucket屬于同一阿里云賬號,請參見步驟二:授予RAM角色寫OSS Bucket的權(quán)限。
如果Logstore和OSS Bucket屬于不同的阿里云賬號,請參見步驟二:授予賬號B下的RAM角色b寫OSS Bucket的權(quán)限。
投遞大小
每個Shard的投遞大小。通過該值控制OSS Object大?。ㄒ晕磯嚎s計算),取值范圍為5~256,單位為MB。
當每個Shard投遞數(shù)據(jù)大小達到此處設(shè)置的大小時,會自動創(chuàng)建一個新的投遞任務(wù)。
存儲格式
數(shù)據(jù)被投遞到OSS后,支持存儲為不同的文件格式。更多信息,請參見JSON格式、CSV格式和Parquet格式。
是否壓縮
OSS數(shù)據(jù)存儲的壓縮方式。
不壓縮:不壓縮數(shù)據(jù)。
壓縮(snappy):使用snappy算法壓縮數(shù)據(jù),可減少OSS Bucket存儲空間。
投遞時間
每個Shard的投遞周期。取值范圍為300~900,默認值為300,單位為秒。
當每個Shard投遞周期達到此處設(shè)置的大小時,會自動創(chuàng)建一個新的投遞實例。
查看OSS數(shù)據(jù)
將數(shù)據(jù)投遞到OSS成功后,您可以通過OSS控制臺、API、SDK或其他方式訪問OSS數(shù)據(jù)。更多信息,請參見文件管理。
OSS Object地址格式如下所示:
oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID
OSS-BUCKET為OSS Bucket名稱,OSS-PREFIX為目錄前綴,PARTITION-FORMAT為分區(qū)格式(由投遞任務(wù)的創(chuàng)建時間通過strptime API計算得到),RANDOM-ID是投遞任務(wù)的唯一標識。
OSS Bucket目錄是按照投遞任務(wù)創(chuàng)建時間設(shè)置的。例如:2016-06-23 00:00:00創(chuàng)建投遞任務(wù),投遞的是2016-06-22 23:55后寫入日志服務(wù)的數(shù)據(jù),假設(shè)5分鐘投遞一次數(shù)據(jù)到OSS。如果您要分析2016-06-22全天的數(shù)據(jù),除了查看2016/06/22目錄下的全部object以外,還需要檢查2016/06/23/00/目錄下前十分鐘的Object是否包含2016-06-22的數(shù)據(jù)。
分區(qū)格式
一個投遞任務(wù)對應(yīng)一個OSS Bucket目錄,目錄格式為oss://OSS-BUCKET/OSS-PREFIX/PARTITION-FORMAT_RANDOM-ID。PARTITION-FORMAT是根據(jù)投遞任務(wù)的創(chuàng)建時間格式化而得到的,以創(chuàng)建時間為2017/01/20 19:50:43的投遞任務(wù)為例,介紹分區(qū)格式,如下表所示。
OSS Bucket | OSS Prefix | 分區(qū)格式 | 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 說明 此格式會導(dǎo)致Hive等平臺無法解析對應(yīng)的OSS內(nèi)容,建議您不要使用該格式。 |
test-bucket | log_ship_oss_example | %Y%m%d%H | oss://test-bucket/log_ship_oss_example/2017012019_1484913043351525351_2850008 |
使用Hive、MaxCompute等大數(shù)據(jù)平臺或阿里云DLA產(chǎn)品分析OSS數(shù)據(jù)時,如果您希望使用Partition信息,可將文件名中的PARTITION-FORMAT設(shè)置為key=value格式。例如:oss://test-bucket/log_ship_oss_example/year=2022/mon=01/day=20/log_195043_1484913043351525351_2850008.parquet,設(shè)置為三層分區(qū)列,分別為:year、mon、day。
相關(guān)操作
創(chuàng)建投遞任務(wù)后,您可以在OSS投遞管理頁面,執(zhí)行修改投遞任務(wù)、關(guān)閉投遞、查看投遞任務(wù)狀態(tài)及錯誤信息、重試投遞任務(wù)等操作。
修改投遞任務(wù)
單擊投遞配置,修改投遞任務(wù)。參數(shù)詳情,請參見本文中的投遞數(shù)據(jù)。
關(guān)閉投遞
單擊關(guān)閉投遞,即可關(guān)閉投遞。
查看投遞任務(wù)狀態(tài)及錯誤信息
日志服務(wù)支持查看過去兩天內(nèi)的所有投遞任務(wù)及其投遞狀態(tài)。
任務(wù)狀態(tài)
狀態(tài)
說明
成功
投遞任務(wù)正常運行。
進行中
投遞任務(wù)進行中,請稍后查看是否投遞成功。
失敗
因外部原因而無法重試的錯誤導(dǎo)致投遞任務(wù)失敗,請根據(jù)錯誤信息進行排查并重試。
錯誤信息
如果投遞任務(wù)出現(xiàn)錯誤,控制臺上會顯示相應(yīng)的錯誤信息。
錯誤信息
錯誤原因
處理方法
UnAuthorized
沒有權(quán)限。
請確認以下配置:
OSS Bucket擁有者是否已創(chuàng)建AliyunLogDefaultRole角色。
角色描述中配置的阿里云賬號ID是否正確。
AliyunLogDefaultRole角色是否被授予OSS Bucket寫權(quán)限。
RAM角色標識是否配置正確。
ConfigNotExist
配置不存在。
一般是由于關(guān)閉投遞導(dǎo)致的。請在重新開啟投遞任務(wù)后,通過重試解決。
InvalidOssBucket
OSS Bucket不存在。
請確認以下配置:
OSS Bucket所在地域與日志服務(wù)Project所在地域是否相同。
Bucket名稱是否配置正確。
InternalServerError
日志服務(wù)內(nèi)部錯誤。
通過重試解決。
重試任務(wù)
日志服務(wù)會按照策略默認為您重試,您也可以手動重試。日志服務(wù)默認重試最近兩天之內(nèi)所有失敗的任務(wù),重試等待的最小間隔是15分鐘。當任務(wù)執(zhí)行失敗時,第一次失敗需要等待15分鐘再進行重試,第二次失敗需要等待30分鐘再進行重試,第三次失敗需要等待60分鐘再進行重試,以此類推。
如果您需要立即重試失敗任務(wù),請單擊重試全部失敗任務(wù)、目標任務(wù)右側(cè)的重試或通過API、SDK指定任務(wù)進行重試。