开发者社区 问答 正文

日志服务的UpdateConfig用?


更新配置内容,如果配置被应用到机器组,对应机器也会同时更新。
示例:


PUT /configs/{configName}


请求语法






请求参数

属性名称类型是否必须描述
configNamestring日志配置名称, project 下唯一
inputTypestring输入类型,现在只支持 file
inputDetailjson见下表格说明
outputTypestring输出类型,现在只支持 LogService
outputDetailjson见下表格说明

inputDetail 内容:
属性名称类型必须描述
logTypestring日志类型,现在只支持 common_reg_log
logPathstring日志所在的父目录,例如/var/logs/
filePatternstring日志文件的 Pattern,例如access*.log
localStorageboolean是否打开本地缓存,在服务端之间链路断开的情况下,本地可以缓存 1GB 日志
timeFormatstring日志时间格式,如%Y/%m/%d %H:%M:%S
logBeginRegexstring日志首行特征(正则表达式),由于匹配多行日志组成一条 log 的情况
regexstring日志对提取正则表达式
keyarray日志提取后所生成的 Key
filterKeyarray用于过滤日志所用到的 key,只有 key 的值满足对应 filterRegex 列中设定的正则表达式日志才是符合要求的
filterRegexarray和每个 filterKey 对应的正正则表达式, filterRegex 的长度和 filterKey 的长度必须相同
topicFormatstring用于将日志文件路径的某部分作为 topic,如/var/log/(.*).log,默认为 none,表示 topic 为空
preservebooleantrue 代表监控目录永不超时,false 代表监控目录 30 分钟超时,默认值为 true
preserveDepthinteger当设置 preserve 为 false 时,指定监控不超时目录的深度,最大深度支持 3
fileEncodingstring支持两种类型:utf8、gbk,默认值为utf8 

outputDetail 内容:
属性名称类型必须描述
logstoreNamestring对应 logstore 名称


请求头


无特有请求头。关于 API 的公共请求头,请参考 公共请求头

响应头


无特有响应头。关于 API 的公共响应头,请参考 公共响应头

响应元素


返回值:成功返回 200 状态码。

错误码


除了返回 API 的 通用错误码,还可能返回如下特有错误码:
HTTP 状态码ErrorCodeErrorMessage
404ConfigNotExistconfig {Configname} not exist
400InvalidParameterinvalid config resource json
400BadRequestconfig resource configname not match request
500InternalServerErrorinternal server error


细节描述


创建过程中遇到格式错误、必要参数遗失、或者 quota 超过限制等错误,则会创建失败。

示例



请求示例:





展开
收起
轩墨 2017-10-23 15:02:06 2081 分享 版权
阿里云 AI 助理回答

根据您提供的信息,这是关于如何使用阿里云日志服务(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调用的一般要求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答