接口功能介紹
根據采集配置名稱獲取采集配置
接口約束
無
URI
GET /v1/collectorRule/getRuleConfigByName
路徑參數 無
Query參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| ruleName | 是 | String | 可根據采集規則名稱和原始名稱模糊匹配 | rule001 | |
| unitCode | 是 | String | 日志單元ID | b0d0******611c |
請求參數
請求頭header參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| regionId | 是 | String | 資源池編碼,請參考資源池列表 | 20000000***1852 |
請求體body參數 無
響應參數
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| statusCode | Integer | 響應狀態碼。0:代表正常; -1:代表嚴重錯誤; -2:代表普通錯誤 | 0 | |
| error | String | 業務錯誤碼,僅錯誤時返回,例LTS_XXXX | LTS_0001 | |
| message | String | 請求響應信息 | 成功 | |
| requestId | String | 請求ID | f3bf1390-dcfe6060b | |
| returnObj | Object | 請求響應數據體 | CollectRule | |
| 表 CollectRule |
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| enable | Boolean | 規則是否啟用。true:啟用;false:停用 | true | |
| unitCode | String | 日志單元ID | 9725******b0ce | |
| ruleName | String | 規則原始名稱,不允許修改 | servicerule | |
| ruleAliasName | String | 采集規則名稱,允許修改 | servicerule | |
| ruleCode | String | 采集規則ID | 0ece******aac205 | |
| extractMode | Byte | 采集類型。1:云主機-文本日志;2:云容器引擎-標準輸出;3:云容器引擎-文本日志;4:syslog-協議;5:物理機-文本日志;6:windows事件日志;7:對象存儲文件;8:Kafka數據導入;9:Systemd Journal日志;10:審計日志;11:k8s節點文件日志 | 采集類型 | |
| logPaths | Array of Strings | 待采集的日志文件路徑列表(目前僅限1個路徑)。路徑中支持使用*和通配符,其中通配符僅能出現一次且僅限用于文件名前。說明:當extractMode=2時,該參數不用填。 | ["/app/nohup.out"] | |
| cuttingMode | Byte | 提取模式,不同模式對應其他參數不同。1:單行正則;2:分隔符;3:多行正則;4:單行全文;5:json;6:多行全文;7:組合解析;8:nginx模板解析 | 1 | |
| accessType | Byte | 接入類型。1:ccse;2:msap;3:csm;4:faas;5:msegw;6:ctgcache;7:kafka;8:mq2;9:amqp;10:host;11:mqtt;12:ebm;13: rcc;14:oss_import;15:kafka_data;16:audit_import;17:cce_one;18:cae | 10 | |
| createTime | String | 創建時間 | 2025-06-18 19:14:35 | |
| ruleConfig | Object | 規則配置對象 | RuleConfig | |
| 表 RuleConfig |
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| excludeFilePaths | Array of Strings | 文件路徑黑名單 | [] | |
| excludeFiles | Array of Strings | 文件黑名單 | [] | |
| excludeDirs | Array of Strings | 目錄黑名單 | [] | |
| maxPathDepth | Integer | 當采集路徑中帶""通配符時,該參數用于指定""通配符最大解析深度 | 5 | |
| fileEncoding | String | 文件編碼,取值為UTF8和GBK | UTF8 | |
| delimiter | Object | 分隔符,當切割模式為分隔符時必填 | DelimiterInfo | |
| regex | Object | 正則切割模式,當切割模式為正則時需要 | RegexInfo | |
| nginxTemplate | Object | nginx分詞模板接入配置對象 | NginxTemplate | |
| dynamicK8sLabels | Map of String | 設置K8S Label日志標簽后,lts將在日志中新增相關字段。例如設置LabelKey為app,設置LabelValue為app_alias,當容器中包含app=lts時,將在日志中添加內容{app_alias:lts}。 | {label1: value1} | |
| dynamicK8sEnv | String | 設置環境變量日志標簽后,lts將在日志中新增相關字段,例如設置環境變量Key為app,設置環境變量Value為app_alias,當K8S中包含環境變量app=lts時,將在日志中添加的內容為{app_alias:lts}。 |
| {env2: value2} | | | containers | Object | 容器場景下,配置容器過濾等配置 | | ContainerCollectRuleSchema | | topicType | String | 日志主題類型。none: 無,如果定義了類型,但是TopicFormat格式錯誤,會忽略日志主題,使用none;filepath: 從日志采集路徑里正則匹配提取;custom:自定義,TopicFormat為定義的值 | | | | topicFormat | String | 當TopicType為filepath,需定義為日志路徑提取的正則表達式; 當TopicType為custom,則允許自定義字符串。 | | | | enableStdout | Boolean | 是否開啟標準輸出,默認true | true | | | enableStderr | Boolean | 是否開啟標準錯誤,默認true | true | | | tailSize | String | 回采日志大小,單位KB;最小值為0,最大值為10485760 | 1024 | | | keepSourceWhenParseFail | Boolean | 解析失敗是否保留日志原文,默認true | | | | keepSourceWhenParseSucceed | String | 解析成功時是否保留源字段,默認true | | | | logFilterVo | Object | 日志過濾信息 | | LogFilterVo | 表 LogFilterVo
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| include | Map of String | 需要保留kv信息 | ||
| exclude | Map of String | 需要丟棄的kv信息 | ||
| 表 ContainerCollectRuleSchema |
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| excludeEnv | Map of String | 環境變量黑名單。如果環境變量Value為空,則容器環境變量中包含環境變量Key的容器都將被排除;如果環境變量Value不為空,則容器環境變量中包含環境變量Key=環境變量Value的容器才會被排除;LabelKey需要全匹配,LabelValue支持正則匹配,如果以^開頭并且以$結尾,則為正則匹配;多個黑名單之間為或關系,即只要容器的環境變量滿足任一鍵值對即可被排除。 | {name: ctg-cloud} | |
| excludeK8sLabel | Map of String | Kubernetes Label 黑名單。若LabelValue為空,則K8S Label中包含LabelKey的容器都被排除;若LabelValue不為空,則K8S Label中包含LabelKey=LabelValue的容器才會被排除;LabelKey需要全匹配,LabelValue支持正則匹配,如果以^開頭并且以$結尾,則為正則匹配;多個黑名單之間為或關系,即只要K8S Label滿足任一黑名單即可被排除。 | {app: test} | |
| includeEnv | Map of String | 環境變量白名單。如果環境變量Value為空,則容器環境變量中包含環境變量Key的容器都匹配;如果環境變量Value不為空,則容器環境變量中包含環境變量Key=環境變量Value的容器才被匹配;LabelKey需要全匹配,LabelValue支持正則匹配,如果以^開頭并且以$結尾,則為正則匹配;多個白名單之間為或關系,即只要容器的環境變量滿足任一鍵值對即可被匹配。 | {env1: ctg-cloud} | |
| includeK8sLabel | Map of String | Kubernetes Label 白名單。若LabelValue為空,則K8S Label中包含LabelKey的容器都匹配;若LabelValue不為空,則K8S Label中包含LabelKey=LabelValue的容器才匹配;LabelKey需要全匹配,LabelValue支持正則匹配,如果以^開頭并且以$結尾,則為正則匹配;多個白名單之間為或關系,即只要K8S Label滿足任一白名單即可被匹配。 | {app1: test} | |
| k8sContainerRegex | String | Kubernetes 容器名稱正則匹配,僅支持正則匹配。樣例:^(container-test)$,匹配所有名為container-test的容器 | ctg-cloud.* | |
| k8sNamespaceRegex | String | Kubernetes 命名空間正則匹配,僅支持正則匹配。樣例:^(default | nginx)$,表示匹配nginx命名空間或default命名空間下的所有容器 | default |
| k8sPodRegex | String | Kubernetes Pod 名稱正則匹配,僅支持正則匹配。樣例:^(nginx-log-demo.*)$,匹配以nginx-log-demo開頭的Pod下的所有容器 | ctg-cloud-app-.* | |
| 表 NginxTemplate |
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| nginxLogConf | String | nginx日志配置 | log_format main '$remote_addr - $remote_user [$time_local] $request ' |
'$status $bytes_sent $body_bytes_sent $http_referer ' aa
'$http_user_agent $http_transfer_encoding $http_x_forwarded_for'; | |
| regexStr | String | 提取正則 | (\S+)\s*-\s*(\S+)\s*[(\d+\S+\d+:\d+:\d+:\d+)\s+\S+]\s*(\S+)\s+(\S+)\s+\S+\s*(\S+)\s*(\S+)\s*(\S+)\s*([^])\s([^])\s(\S+)\s*([0-9a-zA-Z.:, -]). | | | eg | String | 日志原文示例 | 192.168.1.100 - - [27/Nov/2024:12:00:00 +0000] GET /index.html HTTP/1.1 200 1234 1234 //www.example.com/ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 chunked 192.168.2.1 | | | logContent | Array of Objects | 日志提取內容。參考 TypeContent | | TypeContent | 表 TypeContent
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| key | String | 提取字段 | level | |
| type | String | 數據類型。text:字符串;double:數字 | text | |
| 表 RegexInfo |
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| regexStr | String | 提取正則表達式 | (\d+-\d+-\d+\s\S+)\s+[([^]]+)]\s+(\w+)\s+(\S+)\s+(.*) | |
| logContent | Array of Objects | 分割所得類型字段,輸入順序會被使用,正則/多行正則時會被匹配使用 | TypeContent | |
| 表 DelimiterInfo |
| 參數 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|
| delimiter | String | 分隔符 | - | |
| logContent | Array of Objects | 分割所得類型字段,輸入順序會被使用, | TypeContent |
枚舉參數
無
請求示例
請求url
GET //[endpoint]/v1/collectorRule/getRuleConfigByName?ruleName=rule001&unitCode=b0d0e6d887611c
請求頭header
regionId:20000000***1852
請求體body
無
響應示例
{
"statusCode": 0,
"error": null,
"requestId": "83382a7d-28624ff77",
"message": "成功",
"returnObj": {
"enable": true,
"unitCode": "9725******b0ce",
"ruleName": "servicerule,
"ruleAliasName": "servicerule",
"ruleCode": "0eced******ac205",
"extractMode": 1,
"logPaths": [
"/root/zhl/testjson.log"
],
"cuttingMode": "5",
"ruleConfig": {
"excludeFilePaths": [],
"excludeFiles": [],
"excludeDirs": [],
"maxPathDepth": 5,
"fileEncoding": "UTF8",
"delimiter": {},
"regex": {},
"nginxTemplate": {
"nginxLogConf": "",
"regexStr": "",
"eg": "",
"logContent": []
},
"dynamicK8sLabels": {},
"dynamicK8sEnv": {},
"logFilterVo": {
"include": {},
"exclude": {}
},
"topicType": "none",
"topicFormat": "",
"enableStdout": true,
"enableStderr": true,
"tailSize": 1024,
"keepSourceWhenParseFail": true,
"keepSourceWhenParseSucceed": false
},
"accessType": 10,
"createTime": "2025-06-18 19:14:35"
}
}
狀態碼
請參考
錯誤碼
請參考