更新配置内容,如果配置被应用到机器组,对应机器也会同时更新。
示例:
PUT /configs/{configName}
属性名称 | 类型 | 是否必须 | 描述 | |
configName | string | 是 | 日志配置名称, project 下唯一 | |
inputType | string | 是 | 输入类型,现在只支持 file | |
inputDetail | json | 是 | 见下表格说明 | |
outputType | string | 是 | 输出类型,现在只支持 LogService | |
outputDetail | json | 是 | 见下表格说明 |
属性名称 | 类型 | 必须 | 描述 |
logType | string | 是 | 日志类型,现在只支持 common_reg_log |
logPath | string | 是 | 日志所在的父目录,例如/var/logs/ |
filePattern | string | 是 | 日志文件的 Pattern,例如access*.log |
localStorage | boolean | 是 | 是否打开本地缓存,在服务端之间链路断开的情况下,本地可以缓存 1GB 日志 |
timeFormat | string | 是 | 日志时间格式,如%Y/%m/%d %H:%M:%S |
logBeginRegex | string | 是 | 日志首行特征(正则表达式),由于匹配多行日志组成一条 log 的情况 |
regex | string | 是 | 日志对提取正则表达式 |
key | array | 是 | 日志提取后所生成的 Key |
filterKey | array | 是 | 用于过滤日志所用到的 key,只有 key 的值满足对应 filterRegex 列中设定的正则表达式日志才是符合要求的 |
filterRegex | array | 是 | 和每个 filterKey 对应的正正则表达式, filterRegex 的长度和 filterKey 的长度必须相同 |
topicFormat | string | 否 | 用于将日志文件路径的某部分作为 topic,如/var/log/(.*).log,默认为 none,表示 topic 为空 |
preserve | boolean | 否 | true 代表监控目录永不超时,false 代表监控目录 30 分钟超时,默认值为 true |
preserveDepth | integer | 否 | 当设置 preserve 为 false 时,指定监控不超时目录的深度,最大深度支持 3 |
fileEncoding | string | 否 | 支持两种类型:utf8、gbk,默认值为utf8 |
属性名称 | 类型 | 必须 | 描述 |
logstoreName | string | 是 | 对应 logstore 名称 |
HTTP 状态码 | ErrorCode | ErrorMessage |
404 | ConfigNotExist | config {Configname} not exist |
400 | InvalidParameter | invalid config resource json |
400 | BadRequest | config resource configname not match request |
500 | InternalServerError | internal server error |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的信息,这是关于如何使用阿里云日志服务(SLS)API 更新配置内容的示例。下面是一个具体的请求示例,展示如何通过PUT请求更新一个日志配置。
请求URL:
PUT https://sls.aliyuncs.com/configs/{configName}
请求体示例:
{
"inputType": "file",
"inputDetail": {
"logType": "common_reg_log",
"logPath": "/var/logs/",
"filePattern": "access*.log",
"localStorage": true,
"timeFormat": "%Y/%m/%d %H:%M:%S",
"logBeginRegex": "^\\[(.*?)\\]",
"regex": "(\\S+)-(\\d+)-(\\S+)-\\[(.*?)\\] \"(.*?)\" (\\d+) (\\d+|-) \"(.*?)\" \"(.*?)\"",
"key": ["remoteHost", "userId", "timestamp", "requestLine", "status", "bytesSent", "referer", "userAgent"],
"filterKey": ["status"],
"filterRegex": ["5.."],
"topicFormat": "/var/log/(.*).log",
"preserve": true,
"preserveDepth": 2,
"fileEncoding": "utf8"
},
"outputType": "LogService",
"outputDetail": {
"logstoreName": "your-logstore-name"
}
}
在这个示例中,我们更新了一个名为{configName}
的日志收集配置,该配置用于从服务器上的/var/logs/
目录下匹配所有以access
开头并符合时间格式的日志文件。配置包括了日志类型、路径、模式、本地缓存设置、时间格式、正则表达式提取关键信息等详细参数,并指定了输出到名为your-logstore-name
的日志库(Logstore)中。
请确保替换{configName}
为实际的配置名称,并且根据实际情况调整outputDetail.logstoreName
以及其他可能需要自定义的参数。在发送此请求前,确保已正确设置阿里云访问密钥和签名,遵循阿里云API调用的一般要求。