Tag是Log Service中用於標識資料的欄位,如來源IP、檔案路徑等。使用LoongCollector採集資料時,採集器會自動添加Tag。本文主要介紹了如何對這些 Tag 進行自訂動作,例如添加、刪除、重新命名。
使用限制
本功能僅支援LoongCollector 3.0.10及以上版本。如使用Logtail或低版本LoongCollector,建議升級至LoongCollector最新版本。
使用本功能會修改Tag的名稱、儲存位置。如在日誌消費中依賴修改的Tag欄位,可能造成不相容問題。
Tag分類
Tag欄位類似於欄位索引,包含key和value兩部分。如圖所示:__tag__:__inode__:263554,__tag__:__inode__為Tag名稱(key),263554為Tag值(value)。

Tag根據來源主要分為兩類:
Agent相關:與採集 Agent 本身相關,不依賴外掛程式。 如 IP、主機名稱等。
輸入外掛程式相關:依賴輸入外掛程式,由輸入外掛程式提供並富化相關資訊到日誌中。如檔案 inode、讀取位移量、Pod 名稱、Namespace、鏡像名稱等。
計費說明
Tag欄位本身不收費,但若將其設定為索引欄位,則會產生費用,具體收費標準詳見計費說明。關於欄位索引的設定與刪除操作,可參考建立索引。
建立/修改 Tag名稱
LoongCollector 對Tag進行了正常化,並實現了Tag處理功能。您可以配置進階參數,來控制 Tag 的添加、刪除和重新命名。
Agent相關Tag
該類 Tag 不依賴任何輸入外掛程式,屬於全域參數。您可以在建立採集配置或者修改採集配置時添加配置參數,本文以修改採集配置為例,建立採集配置請參見建立採集配置。
登入Log Service控制台。在Project列表地區,單擊目標Project。

單擊日誌儲存下您的Logstore,在Logtail配置中添加Logtail配置,單擊立即接入,本例使用正則-文本日誌,表示將以正則匹配的方式解析文本日誌。

在Logtail配置列表中,單擊目標Logtail採集配置。
在Logtail配置頁面,單擊編輯。
在全域配置中單擊其他全集配置,在進階參數後邊單擊
,配置Agent自身相關Tag。{ "PipelineMetaTagKey": { "HOST_NAME": "sourceName", "AGENT_TAG": "__default__", "HOST_ID": "__default__", "CLOUD_PROVIDER": "__default__" } }
參數名
類型
是否必填
預設值
範例
說明
PipelineMetaTagKey
object
否
空
{"HOST_NAME":"__hostname__"}
key為Tag參數名,value為Tag在日誌中的欄位名。當 value 為__default__時,取預設值。當 value 為空白字串時,表示刪除 Tag。 可配置 Tag 如下:
HOST_NAME:主機名稱。預設添加,預設值為"__hostname__"。
AGENT_TAG:使用者自訂標識。預設添加,預設值為"__user_defined_id__"。該參數僅適用於使用者自訂標識機器組,而IP地址機器組不包含此參數。
HOST_ID:主機 ID。預設不添加,預設值為"__host_id__"。
CLOUD_PROVIDER:雲廠商。預設不添加,預設值為"__cloud_provider__"。
輸入外掛程式相關Tag
該類Tag與輸入外掛程式強相關,它是輸入外掛程式配置的一部分,可通過輸入配置的進階參數進行設定。您可以在建立採集配置或者修改採集配置時添加配置參數,本文以修改採集配置為例,建立採集配置請參見建立採集配置。
目前,該功能僅適用於檔案採集和新版標準輸出採集外掛程式。
登入Log Service控制台。在Project列表地區,單擊目標Project。

單擊日誌儲存下您的Logstore,在Logtail配置中添加Logtail配置,單擊立即接入,本例使用正則-文本日誌,表示將以正則匹配的方式解析文本日誌。

在Logtail配置列表中,單擊目標Logtail採集配置。
在Logtail配置頁面,單擊編輯。
在輸入配置中單擊其他輸入配置,在進階參數後邊單擊
,配置輸入外掛程式相關Tag。{ "Tags": { "FileInodeTagKey": "__default__", "FilePathTagKey": "__default__" }, "FileOffsetKey":"__default__" }
參數名
類型
是否必填
預設值
範例
說明
Tags
object
否
空
{"FileInodeTagKey":"__inode__"}
key為Tag參數名,value為Tag在日誌中的欄位名。當 value 為__default__時,取預設值。當 value 為空白字串時,表示刪除 Tag。 可配置 Tag 如下:
FileInodeTagKey:檔案 inode。 預設不添加,預設值為"__inode__"。
FilePathTagKey:檔案路徑。預設添加,預設值為"__path__"。
以下參數僅當EnableContainerDiscovery參數取值為true時有效。
K8sNamespaceTagKey:檔案所在容器命名空間。預設添加,預設值為"_namespace_"。
K8sPodNameTagKey:檔案所在Pod 名。預設添加,預設值為"_pod_name_"。
K8sPodUidTagKey:檔案所在 Pod UID。預設添加,預設值為"_pod_uid_"。
ContainerNameTagKey:檔案所在容器名。預設添加,預設值為"_container_name_"。
ContainerIpTagKey:檔案所在容器IP。預設添加,預設值為"_container_ip_"。
ContainerImageNameTagKey:檔案所在容器鏡像。預設添加,預設值為"_image_name_"。
FileOffsetKey
string
否
空
__file_offset__
日誌在檔案中的位置 Tag。預設不添加,預設值為__file_offset__。當 value 為__default__時,取預設值。當 value 為空白字串時,表示刪除 Tag。
重要當EnableLogPositionMeta參數與 Tags.FileInodeTagKey或FileOffsetKey參數同時存在時,EnableLogPositionMeta參數會被忽略。
刪除Tag
在進階參數配置中將該Tag設定為空白字串,從而實現刪除Tag目的。
以下樣本中AGENT_TAG的value設定為空白字串,該Tag不會顯示。具體操作,請參見建立/修改 Tag名稱。
{
"PipelineMetaTagKey": {
"HOST_NAME": "sourceName",
"AGENT_TAG": "",
"HOST_ID": "__default__",
"CLOUD_PROVIDER": "__default__"
}
}查看Tag
在Project列表地區,單擊目標Project。

在對應的日誌庫右側的
表徵圖,選擇查詢分析,查看當前LogStore的日誌。
如下圖所示,Tag欄位展示在日誌頁面的最上方一行。

__tag__:sourceName:設定的Tag key為
PipelineMetaTagKey.HOST_NAME,預設value為__tag__:__hostname__,設定value為__tag__:sourceName,代表來源主機名稱。__tag__:__host_id__:設定的Tag key為PipelineMetaTagKey.HOST_NAME。該參數value使用預設值__host_id__。__tag__:__cloud_provider__:設定的Tag key為PipelineMetaTagKey.CLOUD_PROVIDER。該參數value使用預設值__cloud_provider__。__tag__:__user_defined_id__:設定的Tag key為AGENT_TAG,即該參數僅適用於使用者自訂標識機器組,而IP地址機器組不包含此參數。
__tag__:__inode__:設定的Tag key為Tags.FileInodeTagKey,該參數value使用預設值__inode__。__tag__:__path__:設定的Tag key為Tags.FilePathTagKey,該參數value使用預設值__path__。__file_offset__:設定的Tag key為FileOffsetKey,該參數value使用預設值__file_offset__。
修改Tag值
目前,該功能僅適用於檔案採集和新版標準輸出採集外掛程式。
通過SPL處理外掛程式管理Tag欄位,修改Tag的值。使用SPL處理Tag欄位時,需要遵循以下規則:
SPL將欄位
__tag__:作為 Tag 的標識,並在SPL處理過程中自動為所有Tag欄位添加該首碼。因此,在編寫SPL語句時,需確保欄位名包含此首碼以正確引用 Tag 相關資料。在SPL輸出中,所有以Tag為首碼的欄位均會被識別為Tag,這種方法可用於增加Tag。
本文在修改採集配置時添加SPL,以 __tag__ :sourceName 為例,為了更便捷地查詢日誌,可通過在日誌採集配置中將值修改為user_module,從而用應用程式名稱區分不同日誌。建立採集配置時添加SPL請參見建立採集配置時添加SPL。
在Project列表地區,單擊目標Project。

在頁簽中,單擊目標日誌庫前面的>,依次選擇。

在Logtail配置列表中,單擊目標Logtail配置後操作列的管理Logtail配置。
單擊頁面上方的編輯,在頁面下方的處理配置地區,處理配置中處理模式選擇SPL,然後單擊儲存。
SPL語句設定為:
* | extend "__tag__:sourceName"='user_module'在對應的日誌庫右側的
表徵圖,選擇查詢分析,查看當前LogStore的日誌。__tag__:sourceName的欄位值為user_module。
相關文檔
普通索引欄位支援設定成Tag欄位,Tag欄位支援顯示和隱藏。具體操作請參見Tag欄位。
