建立Logtail流水線配置。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
log:CreateLogtailPipelineConfig |
create |
*全部資源
|
|
無 |
請求文法
POST /pipelineconfigs HTTP/1.1
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| project |
string |
是 |
Project 名稱。 |
test-project |
| body |
object |
否 |
Logtail 流水線配置內容。 |
|
| configName |
string |
是 |
配置名稱。 說明
配置名稱在所屬 Project 內唯一,且建立成功後無法修改。命名規則如下:
|
test-config |
| logSample |
string |
否 |
日誌範例。支援多條日誌。 |
2022-06-14 11:13:29.796 | DEBUG | __main__: |
| global |
object |
否 |
全域配置。 |
|
| inputs |
array<object> |
是 |
輸入外掛程式列表。 重要 目前,只允許配置 1 個輸入外掛程式。 |
|
|
object |
否 |
輸入外掛程式。 |
{ "Type": "input_file", "FilePaths": ["/var/log/*.log"] } |
|
| processors |
array<object> |
否 |
處理外掛程式列表。 說明
可分為原生處理外掛程式和擴充處理外掛程式,詳情請參見處理外掛程式。 重要
說明
|
|
|
object |
否 |
處理外掛程式。 說明
原生處理外掛程式和擴充處理外掛程式,詳情請參見處理外掛程式。 |
{ "Type": "processor_parse_json_native", "SourceKey": "content" } |
|
| aggregators |
array<object> |
否 |
彙總外掛程式列表。 重要 僅當使用了擴充處理外掛程式時有效,且最多允許使用 1 個彙總外掛程式。 |
|
|
object |
否 |
彙總外掛程式。 |
||
| flushers |
array<object> |
是 |
輸出外掛程式列表。 重要 目前,只允許存在 1 個 flusher_sls 外掛程式。 |
|
|
object |
否 |
輸出外掛程式。 |
{ "Type": "flusher_sls", "Logstore": "test" } |
|
| task |
object |
否 |
任務配置 |
全域配置
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| TopicType | string | 否 | 空 | filepath | Topic 類型。可選值包括:
|
| TopicFormat | string | 否,當 TopicType 取值為 filepath 或 custom 時必填 | / | /var/log/(.*).log | Topic 格式。 |
| EnableTimestampNanosecond | bool | 否 | false | false | 是否啟用時間納秒精度。 |
| PipelineMetaTagKey | object | 否 | 空 | {"HOST_NAME":"__hostname__"} | 重要 僅 LoongCollector 3.0.10 之後支援。
|
輸入外掛程式
檔案輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | input_file | 外掛程式類型。固定為 input_file。 |
| FilePaths | [string] | 是 | / | ["/var/log/*.log"] | 待採集的記錄檔路徑列表(目前僅限 1 個路徑)。路徑中支援使用*和**萬用字元,其中**萬用字元僅能出現一次且僅限用於檔案名稱前。 |
| MaxDirSearchDepth | uint | 否 | 0 | 0 | 檔案路徑中**萬用字元匹配的最大目錄深度。僅當日誌路徑中存在**萬用字元時有效,取值範圍為 0~1000。 |
| ExcludeFilePaths | [string] | 否 | 空 | ["/home/admin/*.log"] | 檔案路徑黑名單。路徑必須為絕對路徑,支援使用*萬用字元 |
| ExcludeFiles | [string] | 否 | 空 | ["app*.log", "password"] | 檔案名稱黑名單。支援使用*萬用字元 |
| ExcludeDirs | [string] | 否 | 空 | ["/home/admin/dir1", "/home/admin/dir2*"] | 目錄黑名單。路徑必須為絕對路徑,支援使用*萬用字元 |
| FileEncoding | string | 否 | utf8 | utf8 | 檔案編碼格式。可選值包括 utf8 和 gbk。 |
| TailSizeKB | uint | 否 | 1024 | 1024 | 配置首次生效時,匹配檔案的起始採集位置距離檔案結尾的大小。如果檔案大小小於該值,則從頭開始採集,取值範圍為 0~10485760KB。 |
| Multiline | object | 否 | 空 | / | 多行彙總選項。 |
| Multiline.Mode | string | 否 | custom | custom | 多行彙總模式。可選值包括 custom 和 JSON。 |
| Multiline.StartPattern | string | 當 Multiline.Mode 取值為 custom 時必填 | 空 | \d+-\d+-\d+.* | 行首Regex。 |
| EnableContainerDiscovery | bool | 否 | false | true | 是否啟用容器發現功能。僅當 Logtail 以 Daemonset 模式運行,且採集檔案路徑為容器內路徑時有效。 |
| ContainerFilters | object | 否 | 空 | / | 容器過濾選項。多個選項之間為“且”的關係,僅當 EnableContainerDiscovery 取值為 true 時有效。 |
| ContainerFilters.K8sNamespaceRegex | string | 否 | 空 | default | 對於部署於 K8s 環境的容器,指定待採集容器所在 Pod 所屬的命名空間條件。如果未添加該參數,則表示採集所有容器。支援正則匹配。 |
| ContainerFilters.K8sPodRegex | string | 否 | 空 | test-pod | 對於部署於 K8s 環境的容器,指定待採集容器所在 Pod 的名稱條件。如果未添加該參數,則表示採集所有容器。支援正則匹配。 |
| ContainerFilters.IncludeK8sLabel | map | 否 | 空 | / | 對於部署於 K8s 環境的容器,指定待採集容器所在 pod 的標籤條件。多個條件之間為“或”的關係,如果未添加該參數,則表示採集所有容器。支援正則匹配。 map 中的 key 為 Pod 標籤名,value 為 Pod 標籤的值,說明如下:
|
| ContainerFilters.ExcludeK8sLabel | map | 否 | 空 | / | 對於部署於 K8s 環境的容器,指定需要排除採集容器所在 pod 的標籤條件。多個條件之間為“或”的關係,如果未添加該參數,則表示採集所有容器。支援正則匹配。 map 中的 key 為 pod 標籤名,value 為 pod 標籤的值,說明如下:
|
| ContainerFilters.K8sContainerRegex | string | 否 | 空 | test-container | 對於部署於 K8s 環境的容器,指定待採集容器的名稱條件。如果未添加該參數,則表示採集所有容器。支援正則匹配。 |
| ContainerFilters.IncludeEnv | map | 否 | 空 | / | 指定待採集容器的環境變數條件。多個條件之間為“或”的關係,如果未添加該參數,則表示採集所有容器。支援正則匹配。 map 中的 key 為環境變數名,value 為環境變數的值,說明如下:
|
| ContainerFilters.ExcludeEnv | map | 否 | 空 | / | 指定需要排除採集容器的環境變數條件。多個條件之間為“或”的關係,如果未添加該參數,則表示採集所有容器。支援正則匹配。 map 中的 key 為環境變數名,value 為環境變數的值,說明如下:
|
| ContainerFilters.IncludeContainerLabel | map | 否 | 空 | / | 指定待採集容器的標籤條件。多個條件之間為“或”的關係,如果未添加該參數,則預設為空白,表示採集所有容器。支援正則匹配。 map 中的 key 為容器標籤名,value 為容器標籤的值,說明如下:
|
| ContainerFilters.ExcludeContainerLabel | map | 否 | 空 | / | 指定需要排除採集容器的標籤條件。多個條件之間為“或”的關係,如果未添加該參數,則預設為空白,表示採集所有容器。支援正則匹配。 map 中的 key 為容器標籤名,value 為容器標籤的值,說明如下:
|
| ExternalK8sLabelTag | map | 否 | 空 | / | 對於部署於 K8s 環境的容器,需要在日誌中額外添加的與 Pod 標籤相關的 tag。map 中的 key 為 Pod 標籤名,value 為對應的 tag 名。 例如:在 map 中添加app: k8s\_label\_app,則若 pod 中包含app=serviceA的標籤時,會將該資訊以 tag 的形式添加到日誌中,即添加欄位__tag__:k8s_label_app: serviceA;若不包含app標籤,則會添加空欄位__tag__:k8s_label_app: 。 |
| ExternalEnvTag | map | 否 | 空 | / | 對於部署於 K8s 環境的容器,需要在日誌中額外添加的與容器環境變數相關的 tag。map 中的 key 為環境變數名,value 為對應的 tag 名。 例如:在 map 中添加VERSION: env\_version,則當容器中包含環境變數VERSION=v1.0.0時,會將該資訊以 tag 的形式添加到日誌中,即添加欄位__tag__:env_version: v1.0.0;若不包含VERSION環境變數,則會添加空欄位__tag__:env_version: 。 |
| CollectingContainersMeta | bool | 否 | false | true | 是否啟用容器元資訊預覽。 |
| AppendingLogPositionMeta | bool | 否 | false | false | 是否在日誌中添加該條日誌所屬檔案的元資訊,包括__tag__:__inode__欄位和__file_offset__欄位。 |
| AllowingIncludedByMultiConfigs | bool | 否 | false | false | 是否允許當前配置採集其它配置已匹配的檔案。 |
| Tags | object | 否 | 空 | {"FileInodeTagKey":"__inode__"} | 重要 僅 LoongCollector 3.0.10 之後支援。
|
| FileOffsetKey | string | 否 | 空 | __file_offset__ | 重要 僅 LoongCollector 3.0.10 之後支援。 |
容器標準輸出(舊版)
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | service_docker_stdout | 外掛程式類型。固定為 service_docker_stdout。 |
| Stdout | Boolean | 否 | true | true | 是否採集標準輸出 stdout。 |
| Stderr | Boolean | 否 | true | true | 是否採集標準出錯資訊 stderr。 |
| StartLogMaxOffset | Integer | 否 | 128×1024 | 131072 | 首次採集時回溯歷史資料長度,單位:位元組。建議取值在[131072,1048576]之間。 |
| IncludeLabel | Map,其中 LabelKey 和 LabelValue 為 String 類型 | 否 | 空 | 容器 Label 白名單,用於指定待採集的容器。預設為空白,表示採集所有容器的標準輸出。如果您要設定容器 Label 白名單,那麼 LabelKey 必填,LabelValue 可選填。
多個白名單之間為或關係,即只要容器 Label 滿足任一白名單即可匹配。 | |
| ExcludeLabel | Map,其中 LabelKey 和 LabelValue 為 String 類型 | 否 | 空 | 容器 Label 黑名單,用於排除不採集的容器。預設為空白,表示不排除任何容器。如果您要設定容器 Label 黑名單,那麼 LabelKey 必填,LabelValue 可選填。
多個黑名單之間為或關係,即只要容器 Label 滿足任一黑名單對即可被排除。 | |
| IncludeEnv | Map,其中 EnvKey 和 EnvValue 為 String 類型 | 否 | 空 | 設環境變數白名單,用於指定待採集的容器。預設為空白,表示採集所有容器的標準輸出。如果您要設定環境變數白名單,那麼 EnvKey 必填,EnvValue 可選填。
| |
| ExcludeEnv | Map,其中 EnvKey 和 EnvValue 為 String 類型 | 否 | 空 | 環境變數黑名單,用於排除不採集的容器。預設為空白,表示不排除任何容器。如果您要設定環境變數黑名單,那麼 EnvKey 必填,EnvValue 可選填。
多個黑名單之間為或關係,即只要容器的環境變數滿足任一索引值對即可被排除。 | |
| IncludeK8sLabel | Map,其中 LabelKey 和 LabelValue 為 String 類型 | 否 | 空 | 通過 Kubernetes Label(定義在 template.metadata 中)白名單指定待採集的容器。如果您要設定 Kubernetes Label 白名單,那麼 LabelKey 必填,LabelValue 可選填。
多個白名單之間為或關係,即只要 Kubernetes Label 滿足任一白名單即可匹配。 | |
| ExcludeK8sLabel | Map,其中 LabelKey 和 LabelValue 為 String 類型 | 否 | 空 | 通過 Kubernetes Label(定義在 template.metadata 中)黑名單排除不採集的容器。如果您要設定 Kubernetes Label 黑名單,那麼 LabelKey 必填,LabelValue 可選填。
多個黑名單之間為或關係,即只要 Kubernetes Label 滿足任一黑名單對即可被排除。 | |
| K8sNamespaceRegex | String | 否 | 空 | ^(default|nginx)$ | 通過 Namespace 名稱指定採集的容器,支援正則匹配。例如設定為^(default|nginx)$,表示匹配 nginx 命名空間、default 命名空間下的所有容器。 |
| K8sPodRegex | String | 否 | 空 | ^(nginx-log-demo.*)$ | 通過 Pod 名稱指定待採集的容器,支援正則匹配。例如設定為^(nginx-log-demo.*)$,表示匹配以 nginx-log-demo 開頭的 Pod 下的所有容器。 |
| K8sContainerRegex | String | 否 | 空 | ^(container-test)$ | 通過容器名稱指定待採集的容器(Kubernetes 容器名稱是定義在 spec.containers 中),支援正則匹配。例如設定為^(container-test)$,表示匹配所有名為 container-test 的容器。 |
資料處理參數
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| BeginLineRegex | String | 否 | 空 | 行首匹配的Regex。 該配置項為空白,表示單行模式。 如果該運算式匹配某行的開頭,則將該行作為一條新的日誌,否則將此行拼接到上一條日誌。 | |
| BeginLineCheckLength | Integer | 否 | 空 | 行首匹配的長度,單位:位元組。 預設取值為 10×1024 位元組。 如果行首匹配的Regex在前 N 個位元組即可體現,推薦設定此參數,提升行首匹配效率。 | |
| BeginLineTimeoutMs | Integer | 否 | 空 | 行首匹配的逾時時間,單位:毫秒。 預設取值為 3000 毫秒。 如果 3000 毫秒內沒有出現新日誌,則結束匹配,將最後一條日誌上傳到Log Service。 | |
| MaxLogSize | Integer | 否 | 空 | 日誌最大長度,預設取值為 0,單位:位元組。 預設取值為 512×1024 位元組。 如果日誌長度超過該值,則不再繼續尋找行首,直接上傳。 | |
| ExternalK8sLabelTag | Map,其中 LabelKey 和 LabelValue 為 String 類型 | 否 | 空 | 設定 Kubernetes Label(定義在 template.metadata 中)日誌標籤後,iLogtail 將在日誌中新增 Kubernetes Label 相關欄位。 例如設定 LabelKey 為 app,LabelValue 為 | |
| ExternalEnvTag | Map,其中 EnvKey 和 EnvValue 為 String 類型 | 否 | 空 | 設定容器環境變數日誌標籤後,iLogtail 將在日誌中新增容器環境變數相關欄位。 例如設定 EnvKey 為 |
資料處理環境變數
| 環境變數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| ALIYUN_LOG_ENV_TAGS | String | 否 | 空 | 設定全域環境變數日誌標籤後,iLogtail 將在日誌中新增 iLogtail 所在容器環境變數相關欄位。多個環境變數名以 例如設定為 node_name|node_ip,當 iLogtail 容器中暴露相關環境變數時,會將該資訊以 tag 形式添加到日誌中,即添加欄位 node_ip:172.16.0.1 和 node_name:worknode。 |
容器標準輸出(新版)
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | input_container_stdio | 外掛程式類型。固定為 input_container_stdio。 |
| IgnoringStdout | Boolean | 否 | false | false | 是否忽略標準輸出 stdout。false 表示採集 stdout;true 表示不採集 stdout。 |
| IgnoringStderr | Boolean | 否 | false | false | 是否忽略標準錯誤 stderr。false 表示採集 stderr;true 表示不採集 stderr。 |
| TailSizeKB | Integer(uint) | 否 | 1024 | 2048 | 配置首次生效時,起始採集位置距離檔案結尾的大小(KB)。如果檔案大小小於該值,則從頭開始採集。取值範圍:0~104857600(KB)。 |
| AllowingIncludedByMultiConfigs | Boolean | 否 | false | true | 是否允許當前配置採集其它配置已匹配的容器的標準輸出日誌。預設 false 表示避免多配置重複採集。 |
| ContainerFilters | Object | 否 | 空 | 見下表容器過濾選項(ContainerFilters) | 容器過濾選項。多個選項之間為“且”的關係。 |
| ExternalK8sLabelTag | Map,其中 LabelKey/LabelValue 為 String | 否 | 空 | {"app":"k8s_label_app"} | 針對 K8s 情境:從 Pod Label 取值並作為欄位(tag)追加到日誌中。map 的 key 為 Pod Label 名,value 為日誌欄位名(tag 名)。若 Pod 缺失該 Label,則追加空值欄位。 |
| ExternalEnvTag | Map,其中 EnvKey/EnvValue 為 String | 否 | 空 | {"VERSION":"env_version"} | 針對容器情境:從容器環境變數取值並作為欄位(tag)追加到日誌中。map 的 key 為環境變數名,value 為日誌欄位名(tag 名)。若容器缺失該環境變數,則追加空值欄位。 |
| Multiline | Object | 否 | 空 | 見下表多行彙總選項(Multiline) | 多行彙總選項。 |
容器過濾選項(ContainerFilters)
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| IncludeK8sLabel | Map,其中 LabelKey/LabelValue 為 String | 否 | 空 | {"app":"^(test1|test2)$"} | 通過 Kubernetes Label(定義在 Pod 的
多個白名單之間為或關係,即只要 Kubernetes Label 滿足任一白名單即可匹配。 |
| ExcludeK8sLabel | Map,其中 LabelKey/LabelValue 為 String | 否 | 空 | {"env":"^(test.*)$"} | 通過 Kubernetes Label(定義在 Pod 的
多個黑名單之間為或關係,即只要 Kubernetes Label 滿足任一黑名單對即可被排除。 |
| IncludeEnv | Map,其中 EnvKey/EnvValue 為 String | 否 | 空 | {"NGINX_SERVICE_PORT":"^(80|6379)$"} | 環境變數白名單,用於指定待採集的容器。預設為空白,表示採集所有容器的標準輸出。如果您要設定環境變數白名單,那麼 EnvKey 必填,EnvValue 可選填。
多個白名單之間為或關係,即只要容器的環境變數滿足任一索引值對即可匹配。 |
| ExcludeEnv | Map,其中 EnvKey/EnvValue 為 String | 否 | 空 | {"POD_NAMESPACE":"kube-system"} | 環境變數黑名單,用於排除不採集的容器。預設為空白,表示不排除任何容器。如果您要設定環境變數黑名單,那麼 EnvKey 必填,EnvValue 可選填。
多個黑名單之間為或關係,即只要容器的環境變數滿足任一索引值對即可被排除。 |
| IncludeContainerLabel | Map,其中 LabelKey/LabelValue 為 String | 否 | 空 | {"io.kubernetes.container.name":"nginx"} | 容器 Label 白名單,用於指定待採集的容器。預設為空白,表示採集所有容器的標準輸出。如果您要設定容器 Label 白名單,那麼 LabelKey 必填,LabelValue 可選填。
多個白名單之間為或關係,即只要容器 Label 滿足任一白名單即可匹配。 |
| ExcludeContainerLabel | Map,其中 LabelKey/LabelValue 為 String | 否 | 空 | {"io.kubernetes.pod.namespace":"kube-system"} | 容器 Label 黑名單,用於排除不採集的容器。預設為空白,表示不排除任何容器。如果您要設定容器 Label 黑名單,那麼 LabelKey 必填,LabelValue 可選填。
多個黑名單之間為或關係,即只要容器 Label 滿足任一黑名單對即可被排除。 |
多行彙總選項(Multiline)
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Mode | String | 否 | custom | custom | 多行彙總模式。可選值:custom / JSON。當為 JSON 時會按 JSON 方式讀取/拼接。 |
| StartPattern | String | 否(custom 模式下需要配置) | 空 | \d+-\d+-\d+.* | 行首Regex:匹配則作為一條新日誌的開始。 |
| UnmatchedContentTreatment | String | 否 | single_line | discard | 對於無法匹配的日誌段處理方式:discard(丟棄)/single_line(不匹配日誌段按單行逐條輸出)。 |
MySQL 輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | service_mysql | 外掛程式類型。固定為 service_mysql。 |
| Address | string | 否 | 127.0.0.1:3306 | rm-*.mysql.rds.aliyuncs.com | MySQL 地址。 |
| User | string | 否 | root | root | 用於登入 MySQL 資料庫的使用者名稱稱。 |
| Password | string | 否 | 空 | 用於登入 MySQL 資料庫的使用者密碼。如果安全需求較高,建議將使用者名稱稱和密碼配置為 xxx,待採集配置同步至本地機器後,在本地檔案/usr/local/ilogtail/user_log_config.json中找到對應配置進行修改。具體操作,請參見修改本地配置。重要 如果您在控制台上修改了此參數,同步至本地後會覆蓋本地的配置。 | |
| DataBase | string | 否 | / | project_database | 資料庫名稱。 |
| DialTimeOutMs | int | 否 | 5000 | 5000 | 串連 MySQL 資料庫逾時時間,單位:ms。 |
| ReadTimeOutMs | int | 否 | 5000 | 5000 | 讀取 MySQL 查詢結果的逾時時間,單位:ms。 |
| StateMent | string | 否 | / | SELECT 語句。設定 CheckPoint 為 true 時,Statement 中 SELECT 語句的 where 條件中必須包含 CheckPoint 列(CheckPointColumn)。支援使用半形問號(?)表示替換符,與 CheckPoint 列配合使用。 例如設定 CheckPointColumn 為 id,設定 CheckPointStart 為 0,設定 StateMent 為SELECT * from ... where id > ?。則每次採集後,系統會儲存最後一條資料的 ID 作為 Checkpoint,下次採集時查詢語句中的半形問號(?)將被替換為該 Checkpoint 對應的 ID。 | |
| Limit | bool | 否 | false | true | 是否使用 Limit 分頁。
|
| PageSize | int | 否 | / | 10 | 分頁大小,Limit 為 true 時必須配置。 |
| MaxSyncSize | int | 否 | 0 | 0 | 每次同步最大記錄數。預設值為 0,表示無限制。 |
| CheckPoint | bool | 否 | false | true | 是否使用 CheckPoint。
|
| CheckPointColumn | string | 否 | 空 | 1 | CheckPoint 列名稱。設定 CheckPoint 為 true 時,需要配置。 警告 該列的值必須遞增,否則可能會出現資料漏採集問題(每次查詢結果中的最大值將作為下次查詢的輸入)。 |
| CheckPointColumnType | string | 否 | 空 | int | CheckPoint 列的資料類型,支援 int 和 time。int 類型的內部儲存為 int64,time 類型支援 MySQL 的 date、datetime、time 類型。設定 CheckPoint 為 true 時,需要配置。 |
| CheckPointStart | string | 否 | 空 | CheckPoint 列的初始值。設定 CheckPoint 為 true 時,需要配置。 | |
| CheckPointSavePerPage | bool | 否 | true | true | 是否每次分頁時儲存一次 CheckPoint。
|
| IntervalMs | int | 否 | 60000 | 60000 | 同步間隔,預設值為 60000,單位:ms。 |
HTTP 輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | metric_http | 外掛程式類型。固定為 metric_http。 |
| Address | string | 是 | / | URL 列表。 重要 必須以http或https開頭。 | |
| IntervalMs | int | 是 | / | 10 | 每次請求的間隔,單位:ms。 |
| Method | string | 否 | GET | GET | 請求的方法名,必須大寫。 |
| Body | string | 否 | 空 | HTTP Body 欄位內容。 | |
| Headers | map | 否 | 空 | {"key":"value"} | HTTP Header 的內容,例如{"key":"value"},請根據實際值替換。 |
| PerAddressSleepMs | int | 否 | 100 | 100 | Addresses 列表中,每個 URL 請求的間隔時間,單位:ms。 |
| ResponseTimeoutMs | int | 否 | 5000 | 5000 | 請求逾時的時間,單位:ms。 |
| IncludeBody | bool | 否 | false | true | 是否採集請求的 Body,預設值:false。如果為 true,則將請求 Body 內容存放在名為 content 的 key 中。 |
| FollowRedirects | bool | 否 | false | false | 是否自動處理重新導向。 |
| InsecureSkipVerify | bool | 否 | false | false | 是否跳過 HTTPS 安全檢查。 |
| ResponseStringMatch | string | 否 | / | 對返回的 Body 內容進行Regex檢查,檢查結果被存放在名為_response_match_的 key 中,如果匹配,value 為 yes;如果不匹配,value 為 no。 |
Syslog 輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | service_syslog | 外掛程式類型,固定為 service_syslog。 |
| Address | string | 否 | tcp://127.0.0.1:9999 | 指定 Logtail 監聽的協議、地址和連接埠,Logtail 會根據 Logtail 配置進行監聽並擷取日誌資料。格式為[tcp/udp]://[ ip ]:[ port ]。不配置時,預設為tcp://127.0.0.1:9999,即表示(只能接收本地轉寄的日誌。 說明
| |
| ParseProtocol | string | 否 | 空 | rfc3164 | 指定解析日誌所使用的協議,預設為空白,表示不解析。其中:
|
| IgnoreParseFailure | bool | 否 | true | true | 指定解析失敗後的操作,不配置時,預設為true,表示放棄解析,直接填充所返回的 content 欄位。配置為false ,表示解析失敗時丟棄日誌。 |
Systemd Journal 輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | service_journal | 外掛程式類型,固定為 service_journal。 |
| JournalPaths | [string] | 是 | 空 | /var/log/journal | Journal 日誌路徑,建議配置為 Journal 日誌所在目錄。 |
| SeekPosition | string | 否 | tail | tail | 首次採集方式,可以配置為 head 或 tail。
|
| Kernel | bool | 否 | true | true | 是否採集核心日誌。 |
| Units | [string] | 否 | 空 | "" | 指定採集的 Unit 列表,預設為空白,表示全部採集。 |
| ParseSyslogFacility | bool | 否 | false | false | 是否解析 syslog 日誌的 facility 欄位。不配置時,表示不解析。 |
| ParsePriority | bool | 否 | false | false | 是否解析 Priority 欄位。不配置時,表示不解析。 設定為 true 時,Priority 欄位的映射關係如下所示。 plaintext "0": "emergency" "1": "alert" "2": "critical" "3": "error" "4": "warning" "5": "notice" "6": "informational" "7": "debug" |
| UseJournalEventTime | bool | 否 | false | false | 是否使用 Journal 日誌中的欄位作為日誌時間。不配置時,表示使用採集時間作為日誌時間。即時日誌採集一般相差 3 秒以內。 |
SQL Server 輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | service_mssql | 外掛程式類型。固定為 service_mssql。 |
| Address | string | 否 | 127.0.0.1:1433 | rm-*.sqlserver.rds.aliyuncs.com | SQL Server 地址。 |
| User | string | 否 | root | root | 用於登入 SQL Server 資料庫的帳號名稱。 |
| Password | string | 否 | 空 | 用於登入 SQL Server 資料庫的帳號密碼。如果安全需求較高,建議將使用者名稱稱和密碼配置為 xxx,待採集配置同步至本地機器後,在本地檔案/usr/local/ilogtail/user_log_config.json中找到對應配置進行修改。具體操作,請參見修改本地配置。重要 如果您在控制台上修改了此參數,同步至本地後會覆蓋本地的配置。 | |
| DataBase | string | 否 | / | project_database | 資料庫名稱。 |
| DialTimeOutMs | int | 否 | 5000 | 5000 | 串連 SQL Server 資料庫的逾時時間,單位:ms。 |
| ReadTimeOutMs | int | 否 | 5000 | 5000 | 讀取 SQL Server 查詢結果的逾時時間,單位:ms。 |
| StateMent | string | 否 | / | SELECT 語句。設定 CheckPoint 為 true 時,Statement 中 SELECT 語句的 where 條件中必須包含 CheckPoint 列(CheckPointColumn)。支援使用半形問號(?)表示替換符,與 CheckPoint 列配合使用。 例如設定 CheckPointColumn 為 id,設定 CheckPointStart 為 0,設定 StateMent 為SELECT * from ... where id > ?。則每次採集後,系統會儲存最後一條資料的 ID 作為 Checkpoint,下次採集時查詢語句中的半形問號(?)將被替換為該 Checkpoint 對應的 ID。 | |
| Limit | bool | 否 | false | true | 是否使用 Limit 分頁。
|
| PageSize | int | 否 | / | 10 | 分頁大小,Limit 為 true 時必須配置。 |
| MaxSyncSize | int | 否 | 0 | 0 | 每次同步最大記錄數。預設值為 0,表示無限制。 |
| CheckPoint | bool | 否 | false | true | 是否使用 CheckPoint。
|
| CheckPointColumn | string | 否 | 空 | 1 | CheckPoint 列名稱。CheckPoint 為 true 時必須配置。 警告 該列的值必須遞增,否則可能會出現資料漏採集問題(每次查詢結果中的最大值將作為下次查詢的輸入)。 |
| CheckPointColumnType | string | 否 | 空 | int | CheckPoint 列的資料類型,支援 int 和 time。int 類型的內部儲存為 int64,time 類型支援 SQL Server 的 date、datetime、time 類型。設定 CheckPoint 為 true 時,需要配置。 |
| CheckPointStart | string | 否 | 空 | CheckPoint 列的初始值。設定 CheckPoint 為 true 時,需要配置。 | |
| CheckPointSavePerPage | bool | 否 | true | true | 是否每次分頁時儲存一次 CheckPoint。
|
| IntervalMs | int | 否 | 60000 | 60000 | 同步間隔,預設值為 60000,單位:ms。 |
PostgreSQL 輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | service_pgsql | 外掛程式類型。固定為 service_pgsql。 |
| Address | string | 否 | 127.0.0.1:5432 | rm-*.pg.rds.aliyuncs.com | PostgreSQL 地址。 |
| User | string | 否 | root | root | 用於登入 PostgreSQL 地址資料庫的帳號名稱。 |
| Password | string | 否 | 空 | 用於登入 PostgreSQL 資料庫的帳號密碼。如果安全需求較高,建議將使用者名稱稱和密碼配置為 xxx,待採集配置同步至本地機器後,在本地檔案/usr/local/ilogtail/user_log_config.json中找到對應配置進行修改。具體操作,請參見修改本地配置。重要 如果您在控制台上修改了此參數,同步至本地後會覆蓋本地的配置。 | |
| DataBase | string | 否 | / | project_database | PostgreSQL 資料庫名稱。 |
| DialTimeOutMs | int | 否 | 5000 | 5000 | 串連 PostgreSQL 資料庫的逾時時間,單位:ms。 |
| ReadTimeOutMs | int | 否 | 5000 | 5000 | 讀取 PostgreSQL 查詢結果的逾時時間,單位:ms。 |
| StateMent | string | 否 | / | SELECT 語句。 設定 CheckPoint 為 true 時,StateMent 中 SELECT 語句的 where 條件中必須包含 CheckPoint 列(CheckPointColumn 參數),並將該列的值設定為$1。例如:設定 CheckPointColumn 為 id,設定 StateMent 為SELECT * from ... where id > $1 | |
| Limit | bool | 否 | false | true | 是否使用 Limit 分頁。
|
| PageSize | int | 否 | / | 10 | 分頁大小,Limit 為 true 時必須配置。 |
| MaxSyncSize | int | 否 | 0 | 0 | 每次同步最大記錄數。預設值為 0,表示無限制。 |
| CheckPoint | bool | 否 | false | true | 是否使用 CheckPoint。
|
| CheckPointColumn | string | 否 | 空 | 1 | CheckPoint 列名稱。CheckPoint 為 true 時必須配置。 警告 該列的值必須遞增,否則可能會出現資料漏採集問題(每次查詢結果中的最大值將作為下次查詢的輸入)。 |
| CheckPointColumnType | string | 否 | 空 | int | CheckPoint 列的資料類型,支援 int 和 time。int 類型的內部儲存為 int64,time 類型支援 PostgreSQL 的時間類型。設定 CheckPoint 為 true 時,需要配置。 |
| CheckPointStart | string | 否 | 空 | CheckPoint 列的初始值。設定 CheckPoint 為 true 時,需要配置。 | |
| CheckPointSavePerPage | bool | 否 | true | true | 是否每次分頁時儲存一次 CheckPoint。
|
| IntervalMs | int | 否 | 60000 | 60000 | 同步間隔,預設值為 60000,單位:ms。 |
SNMP 協議輸入外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Targets | [string] | 是 | / | 127.0.0.1 | 目標機器組的 IP 位址。 |
| Port | string | 否 | 161 | 161 | SNMP 協議使用的連接埠。 |
| Community | string | 否 | public | public | 團體名稱,SNMPv1 和 SNMPv2 使用團體名進行認證。 |
| UserName | string | 否 | 空 | root | 使用者名稱,SNMPv3 支援使用使用者名稱進行認證。 |
| AuthenticationProtocol | string | 否 | NoAuth | NoAuth | 驗證協議,SNMPv3 支援使用驗證協議進行認證。 |
| AuthenticationPassphrase | string | 否 | 空 | 驗證密碼,預設值為空白。設定AuthenticationProtocol為MD5或SHA時,需要設定AuthenticationPassphrase。 | |
| PrivacyProtocol | string | 否 | NoPriv | NoPriv | 隱私協議,SNMPv3 支援使用隱私協議進行認證。 |
| PrivacyPassphrase | string | 否 | 空 | 隱私協議密碼,預設與驗證密碼一致。 當設定PrivacyProtocol為DES或AES時,必須設定PrivacyPassphrase。 | |
| Timeout | int | 否 | 5 | 5 | 一次查詢操作的逾時時間,單位為秒。 |
| Version | int | 否 | 2 | 2 | SNMP 協議版本。 可選值為1、2、3。 |
| Transport | string | 否 | udp | udp | SNMP 通訊方法,可選值為udp、tcp。 |
| MaxRepetitions | int | 否 | 0 | 0 | 查詢逾時後的重試次數。 |
| Oids | [string] | 否 | 空 | 1 | 在目標機器中查詢的物件識別碼。 |
| Fields | [string] | 否 | 空 | int | 在目標機器中查詢的欄位,本外掛程式會先對欄位進行翻譯,即尋找本地管理資訊庫,將其翻譯為物件識別碼並一起查詢。 |
| Tables | [string] | 否 | 空 | 在目標機器中查詢的表,本外掛程式會先查詢表內所有的欄位,然後尋找本地管理資訊庫,將其翻譯為物件識別碼並一起查詢。 |
指令碼輸出採集外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | input_command | 外掛程式類型,固定為 input_command。 |
| ScriptType | string | 是 | 空 | shell | 指定指令碼內容的類型,目前支援 bash、shell、python2、python3。 |
| User | string | 是 | / | public | 運行命令使用的使用者名稱,只支援非 Root 使用者。 說明 * 請確保指定的使用者名稱在機器中存在。 建議配置最小許可權,只授予需要關注的目錄或檔案 rwx 許可權 。 |
| ScriptContent | string | 是 | 空 | 指令碼內容,支援 PlainText 和 Base64 加密的內容,長度在 512*1024 位元組內。 | |
| ContentEncoding | string | 否 | PlainText | PlainText | 指令碼內容的文字格式設定,可選值。
|
| LineSplitSep | string | 否 | 空 | 指令碼輸出內容的分隔字元,為空白時不進行分割,全部作為一條資料返回。 | |
| CmdPath | string | 否 | 空 | /usr/bin/bash | 執行指令碼命令的路徑,如果為空白,則使用預設路徑。預設路徑如下:
|
| TimeoutMilliSeconds | int | 否 | 3000 | 3000 | 執行指令碼的逾時時間,單位為毫秒。 |
| IgnoreError | bool | 否 | false | false | 外掛程式執行出錯時是否忽略 Error 日誌。預設值為 false,表示不忽略。 |
| Environments | [string] | 否 | 環境變數,預設為 os.Environ()的值,如果設定了 Environments,則在 os.Environ()的基礎上追加設定的環境變數。 | ||
| IntervalMs | int | 否 | 5000 | 5000 | 採集觸發頻率或指令碼執行頻率。單位為毫秒。 |
原生處理外掛程式
正則解析原生處理外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_parse_regex_native | 外掛程式類型。固定為 processor_parse_regex_native。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| Regex | string | 是 | / | (\d+-\d+-\d+)\s+(.*) | Regex。 |
| Keys | [string] | 是 | / | ["time", "msg"] | 提取的欄位列表。 |
| KeepingSourceWhenParseFail | bool | 否 | false | false | 當解析失敗時,是否保留源欄位。 |
| KeepingSourceWhenParseSucceed | bool | 否 | false | false | 當解析成功時,是否保留源欄位。 |
| RenamedSourceKey | string | 否 | 空 | key | 當源欄位被保留時,用於儲存源欄位的欄位名。若不填,預設不改名。 |
JSON 解析原生處理外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_parse_json_native | 外掛程式類型。固定為 processor_parse_json_native。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| KeepingSourceWhenParseFail | bool | 否 | false | false | 當解析失敗時,是否保留源欄位。 |
| KeepingSourceWhenParseSucceed | bool | 否 | false | false | 當解析成功時,是否保留源欄位。 |
| RenamedSourceKey | string | 否 | 空 | key | 當源欄位被保留時,用於儲存源欄位的欄位名。若不填,預設不改名。 |
分隔字元解析原生處理外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_parse_delimiter_native | 外掛程式類型。固定為 processor_parse_delimiter_native。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| Separator | string | 是 | / | , | 分隔字元。 |
| Quote | string | 否 | " | " | 引用符。 |
| Keys | [string] | 是 | / | ["time", "msg"] | 提取的欄位列表。 |
| AllowingShortenedFields | bool | 否 | true | true | 是否允許提取的欄位數量小於 Keys 的數量。若不允許,則此情景會被視為解析失敗。 |
| OverflowedFieldsTreatment | string | 否 | extend | extend | 當提取的欄位數量大於 Keys 的數量時的行為。可選值包括:
|
| KeepingSourceWhenParseFail | bool | 否 | false | false | 當解析失敗時,是否保留源欄位。 |
| KeepingSourceWhenParseSucceed | bool | 否 | false | false | 當解析成功時,是否保留源欄位。 |
| RenamedSourceKey | string | 否 | 空 | key | 當源欄位被保留時,用於儲存源欄位的欄位名。若不填,預設不改名。 |
飛天解析原生處理外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_parse_apsara_native | 外掛程式類型。固定為 processor_parse_apsara_native。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| Timezone | string | 否 | 空 | GMT+08:00 | 日誌時間所屬時區。格式為 GMT+HH:MM(東區)或 GMT-HH:MM(西區)。 |
| KeepingSourceWhenParseFail | bool | 否 | false | false | 當解析失敗時,是否保留源欄位。 |
| KeepingSourceWhenParseSucceed | bool | 否 | false | false | 當解析成功時,是否保留源欄位。 |
| RenamedSourceKey | string | 否 | 空 | key | 當源欄位被保留時,用於儲存源欄位的欄位名。若不填,預設不改名。 |
時間解析原生處理外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_parse_timestamp_native | 外掛程式類型。固定為 processor_parse_timestamp_native。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| SourceFormat | string | 是 | / | %Y/%m/%d %H:%M:%S | 日誌時間格式。更多資訊,請參見時間格式。 |
| SourceTimezone | string | 否 | 空 | GMT+08:00 | 日誌時間所屬時區。格式為 GMT+HH:MM(東區)或 GMT-HH:MM(西區)。 |
過濾原生處理外掛程式
| 參數 | 類型 | 是否必填 | 樣本 | 預設值 | 說明 |
| Type | string | 是 | processor_filter_regex_native | / | 外掛程式類型。固定為 processor_filter_regex_native。 |
| Include | map | 是 | / | / | 日誌欄位白名單,其中 key 為欄位名,value 為Regex,表示如果當前事件要被採集,則 key 指定的欄位內容所需要滿足的條件。多個條件之間為“且”的關係,僅當所有條件均滿足時,該條日誌才會被採集。 |
脫敏原生處理外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_desensitize_native | 外掛程式類型。固定為 processor_desensitize_native。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| Method | string | 是 | / | const | 脫敏方式。可選值包括: const:用常量替換敏感內容。 md5:用敏感內容的 MD5 值替換相應內容。 |
| ReplacingString | string | 否,當 Method 取值為 const 時必選 | / | ****** | 用於替換敏感內容的常量字串。 |
| ContentPatternBeforeReplacedString | string | 是 | / | 'password:' | 敏感內容的首碼Regex。 |
| ReplacedContentPattern | string | 是 | / | [^']* | 敏感內容的Regex。 |
| ReplacingAll | bool | 否 | true | true | 是否替換所有的匹配的敏感內容。 |
擴充處理外掛程式
提取欄位
正則模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_regex | 外掛程式類型。固定為 processor_regex。 |
| SourceKey | string | 是 | / | content | 源欄位名。 |
| Regex | string | 是 | / | (\d+-\d+-\d+)\s+(.*) | Regex。您需要使用半形圓括弧()標註待提取的欄位。 |
| Keys | [string] | 是 | / | ["ip", "time", "method"] | 為提取的內容指定欄位名,例如["ip", "time", "method"]。 |
| NoKeyError | boolean | 否 | false | false | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
| NoMatchError | boolean | 否 | false | false | 您所指定的Regex與原始欄位的值不匹配時,系統是否報錯。
|
| KeepSource | boolean | 否 | false | false | 解析後的日誌中是否保留原始欄位。
|
| FullMatch | boolean | 否 | true | true | 是否完全符合才被提取。
|
| KeepSourceIfParseError | boolean | true | true | false | 解析日誌失敗時,解析後的日誌中是否將保留原始欄位。
|
標定模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_anchor | 外掛程式類型。固定為 processor_anchor。 |
| SourceKey | Anchor 數組 | 是 | / | content | 源欄位名。 |
| Anchors | string | 是 | / | 標定項列表。 | |
| Start | String | 是 | 空 | time | 起始關鍵字。如果為空白,表示匹配字串開頭。 |
| Stop | String | 是 | 空 | \t | 結束關鍵字。如果為空白,表示匹配字串結尾。 |
| FieldName | String | 是 | 空 | time | 為提取的內容指定欄位名。 |
| FieldType | String | 是 | 空 | string | 欄位的類型,取值為 string 或 json。 |
| ExpondJson | boolean | 否 | false | false | 是否進行 JSON 展開。
|
| ExpondConnecter | String | 否 | _ | _ | JSON 展開的串連符。預設值為底線(_)。 |
| MaxExpondDepth | Int | 否 | 0 | 0 | JSON 展開最大深度。預設值為 0,表示無限制。 |
| NoAnchorError | Boolean | 否 | false | false | 尋找不到標定項時,系統是否報錯。{#3f246206721du}
|
| NoKeyError | Boolean | 否 | false | false | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
| KeepSource | Boolean | 否 | false | false | 解析後的日誌中是否保留原始欄位。
|
CSV 模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_csv | 外掛程式類型。固定為 processor_csv。 |
| SourceKey | String | 是 | / | csv | 原始欄位名。 |
| SplitKeys | String 數組 | 是 | / | ["date", "ip", "content"] | 為提取的內容指定欄位名,例如["date", "ip", "content"]。 重要 待分割的欄位數量小於 SplitKeys 參數中的欄位數量時,SplitKeys 參數中多餘的欄位將被忽略。 |
| PreserveOthers | Boolean | 否 | false | false | 待分割的欄位數量大於 SplitKeys 參數中的欄位數量時,是否保留超出部分。
|
| ExpandOthers | Boolean | 否 | false | false | 是否解析超出部分。
|
| ExpandKeyPrefix | String | 否 | 超出部分的欄位命名首碼。例如配置為expand_,則欄位名為 expand_1、expand_2。 | ||
| TrimLeadingSpace | Boolean | 否 | false | false | 是否忽略欄位值中的前置空格。
|
| SplitSep | String | 否 | , | , | 分隔字元。預設值為半形逗號(,)。 |
| KeepSource | Boolean | 否 | false | false | 解析後的日誌中是否保留原始欄位。
|
| NoKeyError | Boolean | 否 | false | false | 原始日誌中無您指定的原始欄位時,系統是否報錯。
|
單字元分隔字元模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_split_char | 外掛程式類型。固定為 processor_split_char。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| SplitSep | String | 是 | 分隔字元。必須為單字元,可設定為不可見字元,例如\u0001。 | ||
| SplitKeys | String 數組 | 是 | ["ip", "time", "method"] | 為提取的內容指定欄位名,例如["ip", "time", "method"]。 | |
| PreserveOthers | Boolean | 否 | false | false | 待分割的欄位數量大於 SplitKeys 參數中的欄位數量時,是否保留超出部分。
|
| QuoteFlag | Boolean | 否 | false | false | 是否使用引用符。
|
| Quote | String | 否 | / | \u0001 | 引用符。必須為單字元,可以為不可見字元,例如\u0001。僅當 QuoteFlag 配置為 true 時有效。 |
| NoKeyError | Boolean | 否 | false | false | 原始日誌中無您指定的原始欄位時,系統是否報錯。
|
| NoMatchError | Boolean | 否 | false | false | 您所指定的分隔字元與日誌中的分隔字元不匹配時,系統是否報錯。
|
| KeepSource | Boolean | 否 | false | false | 被解析後的日誌中是否保留原始欄位。
|
多字元分隔字元模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_split_string | 外掛程式類型。固定為 processor_split_string。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| SplitSep | String | 是 | 分隔字元。必須為單字元,可設定為不可見字元,例如\u0001\u0002。 | ||
| SplitKeys | String 數組 | 是 | ["key1","key2"] | 為提取的內容指定欄位名,例如["key1","key2"]。說明 待分割的欄位數量小於 SplitKeys 參數中的欄位數量時,SplitKeys 參數中多餘的欄位將被忽略。 | |
| PreserveOthers | Boolean | 否 | false | false | 待分割的欄位數量大於 SplitKeys 參數中的欄位數量時,是否保留超出部分。
|
| ExpandOthers | Boolean | 否 | false | false | 是否使用引用符。
|
| ExpandKeyPrefix | String | 否 | / | expand_ | 超出部分的命名首碼。例如配置為 expand_,則欄位名為 expand_1、expand_2。 |
| NoKeyError | Boolean | 否 | false | false | 原始日誌中無您指定的原始欄位時,系統是否報錯。
|
| NoMatchError | Boolean | 否 | false | false | 您所指定的分隔字元與日誌中的分隔字元不匹配時,系統是否報錯。
|
| KeepSource | Boolean | 否 | false | false | 被解析後的日誌中是否保留原始欄位。
|
索引值對模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_split_key_value | 外掛程式類型。固定為 processor_split_key_value。 |
| SourceKey | string | 是 | 原始欄位名。 | ||
| Delimiter | string | 否 | \t | \t | 索引值對之間的分隔字元,預設值為定位字元\t。 |
| Separator | string | 否 | : | : | 單個索引值對中鍵與值之間的分隔字元,預設值為半形冒號(:)。 |
| KeepSource | Boolean | 否 | false | false | 解析後的日誌中是否保留原始欄位。
|
| ErrIfSourceKeyNotFound | Boolean | 否 | true | false | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
| DiscardWhenSeparatorNotFound | Boolean | 否 | false | false | 無匹配的分隔字元時是否丟棄該索引值對。
|
| ErrIfSeparatorNotFound | Boolean | 否 | true | false | 當指定的分隔字元不存在時,系統是否報錯。
|
| ErrIfKeyIsEmpty | Boolean | 否 | true | false | 當分隔後的鍵為空白時,系統是否報錯。
|
| Quote | String | 否 | 引用符,當設定後若值被引用符包含,就提取引用符內的值,支援多字元。預設不開啟引用符功能。 重要 * 如果引用符為雙引號(""),需要添加轉義符,即添加反斜線(\)。當引用符內包含反斜線(\)與引用符連用時,該反斜線(\)將作為值的一部分輸出。 |
Grok 模式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_grok | 外掛程式類型。固定為 processor_grok。 |
| CustomPatternDir | String 數組 | 否 | 自訂的 Grok 模式檔案所在的目錄。processor_grok 外掛程式會讀取目錄內的所有檔案。 未添加該參數時,表示不匯入自訂的 Grok 模式檔案。 重要 更新自訂的 Grok 模式檔案後,需重啟 Logtail 才會生效。 | ||
| CustomPatterns | Map | 否 | 自訂的 GROK 模式,key 為規則名,value 為 Grok 運算式。 預設支援的運算式,請參見processor_grok。如果連結中無您需要的運算式,請在 Match 中輸入自訂的 Grok 運算式。 未添加該參數時,表示不使用自訂的 GROK 模式。 | ||
| SourceKey | String | 否 | content | content | 原始欄位名。預設值為 content 欄位。 |
| Match | String 數組 | 是 | Grok 運算式數組。processor_grok 外掛程式會根據此處配置的運算式列表從上至下依次對日誌進行匹配,並返回第一條匹配成功的提取結果。 說明 配置多條 Grok 運算式,可能影響效能。建議不超過 5 條。 | ||
| TimeoutMilliSeconds | Long | 否 | 0 | 通過 Grok 運算式提取欄位的最大嘗試時間,單位:毫秒。 未添加該參數或設定為 0 時,表示不會逾時。 | |
| IgnoreParseFailure | Boolean | 否 | true | true | 是否忽略解析失敗的日誌。
|
| KeepSource | Boolean | 否 | true | true | 是否在解析成功後保留原始欄位。
|
| NoKeyError | Boolean | 否 | false | true | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
| NoMatchError | Boolean | 否 | true | true | Match 參數中設定的運算式全部與日誌不匹配時,系統是否報錯。
|
| TimeoutError | Boolean | 否 | true | true | 匹配逾時,系統是否報錯。
|
添加欄位
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_add_fields | 外掛程式類型。固定為 processor_add_fields。 |
| Fields | Map | 是 | 待添加的欄位名和欄位值。索引值對格式,支援添加多個。 | ||
| IgnoreIfExist | Boolean | 否 | false | false | 存在相同的欄位名時,是否忽略重複的欄位。
|
丟棄欄位
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_drop | 外掛程式類型。固定為 processor_drop。 |
| DropKeys | String 數組 | 是 | 指定待丟棄的欄位,支援配置多個。 |
重新命名欄位
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_rename | 外掛程式類型。固定為 processor_rename。 |
| NoKeyError | Boolean | 否 | false | false | 日誌中無您所指定的原始欄位時,系統是否報錯。
|
| SourceKeys | String 數組 | 是 | 待重新命名的原始欄位。 | ||
| DestKeys | String 數組 | 是 | 重新命名後的欄位。 |
打包欄位
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_packjson | 外掛程式類型。固定為 processor_packjson。 |
| SourceKeys | String 數組 | 是 | 待打包的原始欄位。 | ||
| DestKey | String | 否 | 打包後的欄位。 | ||
| KeepSource | Boolean | 否 | true | true | 解析後的日誌中是否保留原始欄位。
|
| AlarmIfIncomplete | Boolean | 否 | true | true | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
展開 JSON 欄位
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_json | 外掛程式類型。固定為 processor_json。 |
| SourceKey | String | 是 | 待展開的原始欄位名。 | ||
| NoKeyError | Boolean | 否 | true | true | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
| ExpandDepth | Int | 否 | 0 | 1 | JSON 展開的深度。預設值為 0,表示不限制。1 表示當前層級,以此類推。 |
| ExpandConnector | String | 否 | _ | _ | JSON 展開時的串連符,預設值為底線(_)。 |
| Prefix | String | 否 | JSON 展開時,對欄位名附加的首碼。 | ||
| KeepSource | Boolean | 否 | true | true | 被解析後的日誌中是否保留原始欄位。
|
| UseSourceKeyAsPrefix | Boolean | 否 | 是否將原始欄位名作為所有 JSON 展開欄位名的首碼。 | ||
| KeepSourceIfParseError | Boolean | 否 | true | true | 解析日誌失敗時,是否保留原始日誌。
|
| ExpandArray | Boolean | 否 | false | false | 是否展開數群組類型。Logtail 1.8.0 及以上版本支援該參數。
|
過濾日誌
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_filter_regex | 外掛程式類型。固定為 processor_filter_regex。 |
| Include | JSON Object | 否 | Key 為日誌欄位,Value 為該欄位值匹配的Regex。索引值對之間為與關係。如果日誌欄位的值符合對應的Regex,則採集該日誌。 | ||
| Exclude | JSON Object | 否 | Key 為日誌欄位,Value 為該欄位值匹配的Regex。索引值對之間為或關係。如果日誌中任意一個欄位的值符合對應的Regex,則丟棄該日誌。 |
提取日誌時間
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_gotime | 外掛程式類型。固定為 processor_gotime。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| SourceFormat | String | 是 | 原始時間的格式。 | ||
| SourceLocation | Int | 是 | 原始時間的時區。參數值為空白時,表示 Logtail 所在主機或容器的時區。 | ||
| DestKey | String | 是 | 解析後的目標欄位。 | ||
| DestFormat | String | 是 | 解析後的時間格式。 | ||
| DestLocation | Int | 否 | 解析後的時區。參數值為空白時,表示本機時區。 | ||
| SetTime | Boolean | 否 | true | true | 是否將解析後的時間設定為日誌時間。
|
| KeepSource | Boolean | 否 | true | true | 被解析後的日誌中是否保留原始欄位。
|
| NoKeyError | Boolean | 否 | true | true | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
| AlarmIfFail | Boolean | 否 | true | true | 提取日誌時間失敗,系統是否報錯。
|
轉換 IP 位址
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_geoip | 外掛程式類型。固定為 processor_geoip。 |
| SourceKey | String | 是 | 待進行 IP 位址轉換的原始欄位名。 | ||
| DBPath | String | 是 | /user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb | GeoIP 資料庫的全路徑。例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb。 | |
| NoKeyError | Boolean | 否 | false | false | 原始日誌中無您所指定的原始欄位名時,系統是否報錯。
|
| NoMatchError | Boolean | 否 | true | true | IP 位址無效或在資料庫中未匹配到該 IP 位址時,系統是否報錯。
|
| KeepSource | Boolean | 否 | true | true | 解析後的日誌中,是否保留原始欄位。
|
| Language | String | 否 | zh-CN | zh-CN | 語言屬性。預設值為 zh-CN。 重要 請確保您的 GeoIP 資料庫中包含對應的語言。 |
資料脫敏
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_desensitize | 外掛程式類型。固定為 processor_desensitize。 |
| SourceKey | String | 是 | 日誌欄位名稱。 | ||
| Method | String | 是 | const | 脫敏方式。可選值:
| |
| Match | String | 否 | full | full | 指定提取敏感內容的方式。可選值:
|
| ReplaceString | String | 否 | 用於替換敏感內容的字串。 設定 Method 為 const 時,必填。 | ||
| RegexBegin | String | 否 | 匹配敏感內容首碼的Regex。 設定 Match 為 regex 時,必填。 | ||
| RegexContent | String | 否 | 匹配敏感內容的Regex。設定 Match 為 regex 時,必填。 |
欄位值對應處理
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_dict_map | 外掛程式類型。固定為 processor_dict_map。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| MapDict | Map | 否 | 映射字典。映射字典較小時,可直接通過此參數完成設定。不需要提供本地的 CSV 字典檔案。 重要 當您設定了 DictFilePath 參數後,MapDict 參數中的配置不生效。 | ||
| DictFilePath | String | 否 | CSV 格式的字典檔案。該 CSV 檔案的分隔字元為半形逗號(,),欄位參考資料表示為半形引號(")。 | ||
| DestKey | String | 否 | 映射後的欄位名。 | ||
| HandleMissing | Boolean | 否 | false | false | 當原始日誌中缺失目標欄位時,系統是否處理。
|
| Missing | String | 否 | Unknown | Unknown | 處理原始日誌中缺失的目標欄位時,設定對應的填儲值。預設值為Unknown。 當配置 HandleMissing 為 true 時,該參數配置生效。 |
| MaxDictSize | Int | 否 | 1000 | 1000 | 映射字典的最大大小。預設值為 1000,即最多可儲存 1000 條映射規則。 如果要限制外掛程式對伺服器記憶體的佔用,可調小該值。 |
| Mode | String | 否 | overwrite | overwrite | 當映射後的欄位在原始日誌中已存在時的處理方式。
|
欄位加密
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_encrypt | 外掛程式類型。固定為 processor_encrypt。 |
| SourceKey | String 數組 | 是 | 原始欄位名。 | ||
| EncryptionParameters | Object | 是 | 密鑰相關配置。 | ||
| Key | String | 是 | 設定密鑰,需為 64 個十六進位字元。 | ||
| IV | String | 否 | 00000000000000000000000000000000 | 設定加密的初始向量,需為 32 個十六進位字元,預設值為00000000000000000000000000000000。 | |
| KeyFilePath | Boolean | 否 | 讀取加密參數的檔案路徑。未配置時按照 Logtail 配置-輸入配置-檔案路徑 讀取。 | ||
| KeepSourceValueIfError | String | 否 | false | false | 加密失敗,系統是否保留原始欄位的值。
ENCRYPT_ERROR。 |
字串替換
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_string_replace | 外掛程式類型。固定為 processor_string_replace。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| Method | String | 是 | 指定匹配方式。可選值:
| ||
| Match | String | 否 | 輸入匹配內容。
| ||
| ReplaceString | String | 否 | 用於替換的字串,預設值為""。
| ||
| DestKey | String | 否 | 為替換後的內容指定新欄位,預設不新增欄位。 |
資料編碼與解碼
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_base64_encoding | 外掛程式類型。固定為 processor_base64_encoding。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| NewKey | String | 是 | 編碼後的結果欄位名。 | ||
| NoKeyError | Boolean | 否 | false | false | 原始日誌中無您所指定的原始欄位時,系統是否報錯。
|
Log 轉為 Metric
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_log_to_sls_metric | 外掛程式類型。固定為 processor_log_to_sls_metric。 |
| MetricTimeKey | String | 否 | 指定日誌中的時間欄位,該欄位將與時序資料中的__time_nano__ 欄位對應。預設提取日誌中__time__欄位的值。 確保指定的欄位是合法的、符合格式的時間戳記。目前支援以 second(10 位長度)、millisecond(13 位長度)、microsecond(16 位長度)、nanosecond(19 位長度)為單位的 Unix 時間戳記。 | ||
| MetricLabelKeys | []String | 是 | 指定__labels__欄位的 Key 列表,Key 需遵循Regex ^[a-zA-Z_][a-zA-Z0-9_]*$。Value 不能包含豎線(|)和 #$#。更多資訊,請參見時序資料(Metric)。 不支援在 MetricLabelKeys 參數中添加__labels__欄位。如果原始欄位中存在 __labels__ 欄位,該值將被追加到新的__labels__欄位中。 | ||
| MetricValues | Map | 是 | 用於指定 Metric 名稱和 Metric 值。 Metric 名稱對應__name__欄位,需遵循Regex^[a-zA-Z_:][a-zA-Z0-9_:]*$。 Metric 值對應__value__欄位,需為 Double 類型。 更多資訊,請參見時序資料(Metric) 。 | ||
| CustomMetricLabels | Map | 否 | 自訂的__labels__欄位, Key 需遵循Regex ^[a-zA-Z_][a-zA-Z0-9_]*$,Value 不能包含豎線(|)和 #$#。更多資訊,請參見時序資料(Metric)。 | ||
| IgnoreError | Boolean | 否 | 當沒有匹配日誌時是否輸出 Error 日誌。預設值為 false,表示不輸出。 |
Log 轉為 Trace
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | processor_otel_trace | 外掛程式類型。固定為 processor_otel_trace。 |
| SourceKey | String | 是 | 原始欄位名。 | ||
| Format | String | 是 | json | 轉換後的格式,可選值:protobuf、json、protojson。 | |
| NoKeyError | Boolean | 否 | false | true | 當日誌中沒有對應的原始欄位時,是否報錯。預設值為 false。 |
| TraceIDNeedDecode | Boolean | 否 | 是否對 TraceID 進行 Base64 解碼,預設值為 false。 設定 Format 為 protojson 時,如果 TraceID 已進行過 Base 64 編碼,則需要設定 TraceIDNeedDecode 為 true,否則將導致轉換失敗。 | ||
| SpanIDNeedDecode | Boolean | 否 | 是否對 SpanID 進行 Base64 解碼。預設值為 false。設定 Format 為 protojson 時,如果 SpanID 已進行過 Base 64 編碼,則需要設定 SpanIDNeedDecode 為 true,否則將導致轉換失敗。 | ||
| ParentSpanIDNeedDecode | Boolean | 否 | 是否對 ParentSpanID 進行 Base64 解碼。預設值為 false。 設定 Format 為 protojson 時,如果 ParentSpanID 已進行過 Base 64 編碼,則需要設定 ParentSpanIDNeedDecode 為 true,否則將導致轉換失敗。 |
輸出外掛程式
SLS 輸出外掛程式
| 參數 | 類型 | 是否必填 | 預設值 | 樣本 | 說明 |
| Type | string | 是 | / | flusher_sls | 外掛程式類型。固定為 flusher_sls。 |
| Logstore | stirng | 是 | / | test-logstore | LogStrore 名稱。 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
當前API暫無返回參數
樣本
正常返回樣本
JSON格式
{}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。