創建導出任務
本文檔主要介紹了如何創建TSDB日志導出任務。
背景信息
阿里云日志服務提供了從各種云產品進行日志采集并深度處理的完善服務,TSDB支持從日志服務導入日志記錄,并映射為時間點進行時序存儲。
前提條件
用戶需要同時購買阿里云日志服務和TSDB服務。
日志服務和TSDB必須在同一個區域,目前暫不支持跨區域數據交互。
操作步驟
用戶通過在阿里云日志服務控制臺創建TSDB導出任務,創建過程中可以配置將采集到的日志導出到哪一個TSDB實例,從什么時間導出,導出到TSDB中哪一個Topic等任務細節。
登錄日志服務控制臺,選擇需要導出的Project和日志庫(logStore)。
點擊展開日志庫下拉列表,選中數據處理>導出>TSDB。
點擊”+”按鈕后,將會跳轉到單獨的導出任務配置頁,請在配置頁繼續完成導出任務的創建。
如果日志庫尚未做任何數據加工,日志服務會提示是否先完成日志的數據加工再進行投遞,如果日志記錄很規范,也可以選擇不經加工直接投遞到TSDB。
如下圖所示,請參考參數信息填寫任務配置項:
參數名說明
投遞名稱
任務名稱(唯一)。
投遞描述
任務描述。
TSDB實例
當前Region中已購TSDB列表,選中需要導出數據的實例。
度量名稱
導出到哪一個TSDB度量(metric)。
AccessKeyID
當前登錄賬號的AK ID(供TSDB訪問)。
AccessKeySecret
當前登錄賬號的AK Secret(供TSDB訪問)。
時間點映射
將日志記錄中的時間戳映射到TSDB時間戳,默認將日志發生時間作為TSDB時間戳(“${logTag:__time__}”) , 該字段支持表達式替換。
字段映射
配置哪些日志字段應設為TSDB字段,第一個框填寫日志字段名稱,第二個框填寫TSDB字段名稱。當只存在單個字段映射時,導出為TSDB單值模型(TSDB字段名稱只能是value), 當存在多個字段映射時,導出為TSDB多值模型。
標簽映射
為導出的數據記錄設置TSDB標簽,第一個框填寫標簽名稱,第二個框填寫標簽值,該配置項的標簽名與標簽值均支持表達式替換。
投遞時間
從什么時間開始數據投遞(小于該時間范圍的數據不會被投遞)。
說明度量(metric)不存在時會自動創建 SLS日志導入到TSDB時,時間點映射決定了數據點的時間戳(Timestamp)字段,默認情況下,value取值為SLS 日志記錄的時間戳( ${logTag:time} )。由于SLS日志時間戳(time)精度只采集到秒,如果用戶的日志在一秒內有可能出現多條,那么用戶需要自己指定哪些SLS日志信息作為TSDB的目標時間戳。 針對時間點映射,用戶可以使用表達式格式:(${logTag:xx} 與 ${logColumn:xx} ) 做數值替換。表達式所引用的字段必須可以轉換為數值(Epoch seonc/milli-second)。表達式替換失敗的情況下,時間戳會采用SLS日志記錄時間( ${logTag:time} )。
表達式引用
任務配置過程中,對于時間點映射,標簽映射這兩項配置,因為需要靈活引用上下文信息,這2項配置支持使用表達式來引用一些上下文信息, 表達式的語法為:
說明${ context:variable }
表達式中logColumn前綴表示引用原始sls log中所屬column的值作為映射值。
表達式中logTag前綴表示引用原始sls log中所屬tag的值作為映射值。
SLS的幾個常見Tag(總是存在):
__topic__:整個LogGroup(一條或多條日志)的業務標記(表達式引用格式 ${logTag:__topic__} )。
__source__:產生該條日志記錄的機器IP地址(表達式引用格式 ${logTag:__source__} )。
__time__:日志記錄的時間戳(秒級) (表達式引用格式 ${logTag:__time__} )。
任務提交
當所有參數填寫完畢后,點擊提交即可創建TSDB數據導出任務。
后續步驟
TSDB導出任務創建完成后立即啟動,如用戶需要暫停/查看服務狀態,可以在導出任務創建完畢后,在SLS控制面板點擊任務名稱,進入任務管控面板進行操作。
任務創建完畢后,如果需要修改任務配置,請參考修改導出任務章節。