更新日志收集规则

最近更新时间:2018-06-01 21:18:24

接口描述

本接口(UpdateLogCollector)用于更新日志收集规则。

接口请求域名:

ccs.api.qcloud.com

输入参数

以下请求参数列表仅列出了接口请求参数,其它参数见 公共请求参数

参数名称 描述 类型 必选
clusterId 集群 ID,请填写 查询集群列表 接口中返回的 clusterId 字段 String
name 收集器名称 String
description 日志收集器描述 String
inputType 收集类型,收集容器日志请传“container-log”,收集主机日志请传“host-log” String
outputType 消费类型,输出到kafka请传“kafka”,输出到ckafka请传“ckafka”,输出到cls请传“cls” String
inputOption 收集选项,参考收集和消费选项 Object
outputOption 消费选项,参考收集和消费选项 Object

收集和消费选项

使用此接口创建日志收集器时,根据 inputTypeoutputType 传入值的不同,inputOptionoutputOption 需要传入不同结构的 Object

inputTypecontainer-log 时,需要传入的 inputOption 结构为

参数名称 描述 类型 必选
allNamespaces 是否收集所有 namespace 的 容器的日志 Boolean
namespaces 如果 allNamespaces 值为 false,需要传入需要收集的 namespace 的名称的列表 Array

namespaces 字段 Array 中每个 Object 的结构为

参数名称 描述 类型 必选
namespace namespace 名称 String
allContainers 是否收集所有容器的日志 Boolean
services 如果 allContainers 值为 false,需要传入此 namespace 下要收集的 pod 对应的 deploy 的名称(仅支持收集由 deployment 创建的 pod) Array

inputTypehost-log 时,需要传入的 inputOption 结构为

参数名称 描述 类型 必选
path 收集的主机日志文件的路径,支持通配路径 String
labels 为对应的日志记录附加的 metadata,仅支持 k-v 模式,如 {"key": "value"} Object

outputTypekafka 时,需要传入的 outputOption 结构为

参数名称 描述 类型 必选
host 对应 kafka 的 host String
port 对应 kafka 的 port Integer
topic 对应 kafka 的主题名称 String

outputTypeckafka 时,需要传入的 outputOption 结构为

参数名称 描述 类型 必选
instanceId 对应 CKafka 的 instanceId String
topicId 对应 CKafka 主题的 topicId String
host 对应 CKafka 的 host String
port 对应 CKafka 的 port Integer
topic 对应 CKafka 的主题名称 String

输出参数

参数名称 描述 类型
code 公共错误码。0 表示成功,其他值表示失败 Int
codeDesc 业务错误码。成功时返回 Success,错误时返回具体业务错误原因 String
message 模块错误信息描述,与接口相关 String
data 日志收集规则相关数据 Object

data 字段的结构如下

参数名称 描述 类型
logCollectorList 日志收集规则 Object

logCollectorList 字段中 Object 的结构如下

参数名称 描述 类型
name 收集规则名称,集群范围内唯一,不可重复 String
clusterId 集群 ID String
clusterName 集群名称 String
createdAt 收集规则的创建时间 String
inputType 收集类型。“container-log”代表收集容器日志,“host-log”代表收集主机日志 String
outputType 消费类型。"kafka"代表输出到 Kafka,“ckafka”代表输出到 CKafka String
inputOption 收集选项,参考 收集和消费选项 Object
outputOption 消费选项,参考 收集和消费选项 Object

示例

输入

 https://domain/v2/index.php?Action=UpdateLogCollector
  &name=testlog
  &inputType=container-log
  &outputType=cls
  &description=temporary nothing
  &inputOption=allNamespaces=false
  &namespaces.0.namespace=default
  &namespaces.0.allContainers=true
  &outputOption=logsetId=XXXXX
  &topicId=XXXXX
  &clusterId=cls-XXXXX
  &其它公共参数

输出

{
    "data":{
        "code":0,
        "message":"",
        "codeDesc":"Success",
        "data":{
            "logCollectorList":{
                "name":"testlog",
                "description":"temporary nothing",
                "clusterId":"cls-XXXXX",
                "clusterName":"log-agent-feature-dev",
                "createdAt":"2018-05-23 16:36:33",
                "inputType":"container-log",
                "outputType":"cls",
                "inputOption":{
                    "allNamespaces":false,
                    "namespaces":[
                        {
                            "namespace":"default",
                            "allContainers":true
                        }
                    ]
                },
                "outputOption":{
                    "topicId":"XXXXX",
                    "logsetId":"XXXXX"
                }
            }
        }
    },
    "message":"",
    "code":0
}