接口功能介绍
根据采集配置名称获取采集配置
接口约束
无
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 http://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 https://[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"
}
}
状态码
请参考 状态码
错误码
请参考 错误码