更新时间:2024-11-06 GMT+08:00

云原生日志采集

插件介绍

云原生日志采集插件(log-agent)是基于开源fluent-bit和opentelemetry构建的云原生日志、K8s事件采集插件。log-agent支持基于CRD的日志采集策略,可以根据您配置的策略规则,对集群中的容器标准输出日志、容器文件日志、节点日志及K8s事件日志进行采集与转发。同时支持上报K8s事件到AOM,用于配置事件告警,默认上报所有异常事件和部分正常事件。

字段说明

表1 参数描述

参数

是否必选

参数类型

描述

basic

object

插件基础配置参数,无需指定。

flavor

表2 object

插件规格参数

custom

表3 object

插件自定义参数

表2 flavor

参数

是否必选

参数类型

描述

description

String

插件相关的描述信息

name

String

插件规格名称,固定为:Single-instance

replicas

String

otel-collector组件实例数,默认为:1

resources

resources object

容器资源(CPU、内存)配额。

表3 custom

参数

是否必选

参数类型

描述

caCert

String

安装时可不填。客户端证书,base64加密。由CCE插件中心生成,用于组件之间双向认证,以及webhook请求。需签发域名:*.monitoring.svc。

serverCert

String

安装时可不填。服务端证书,base64加密。由CCE插件中心生成,用于组件之间双向认证,以及webhook请求。需签发域名:*.monitoring.svc。

serverKey

String

安装时可不填。服务端私用密钥,base64加密。由CCE插件中心生成,用于组件之间双向认证,以及webhook请求。需签发域名:*.monitoring.svc。

accessKey

String

用户访问密钥ID,用于请求AOM和LTS服务接口,不填则使用临时aksk

secretKey

String

用户访问密钥,用于请求AOM和LTS服务接口,不填则使用临时aksk

createDefaultStdout

Bool

是否创建默认容器采集标准输出上报LTS策略,仅安装插件时有效,默认为false

createDefaultEvent

Bool

是否创建默认采集kubernetes事件上报LTS策略,仅安装插件时有效,默认为false

multiAZEnabled

Bool

是否多可用区部署,默认为false,如果为true,则强制跨可用区部署,若为false,则优先跨可用区部署。

cluster_category

String

固定为CCE

ltsAccessEndpoint

String

指定日志上报LTS的地址,不填则读取basic中的地址

ltsEndpoint

String

指定LTS接口的地址,不填则读取basic中的地址

aomEndpoint

String

指定事件上报AOM的地址,不填则读取basic中的地址

projectID

String

安装时可不填。当前CCE集群所属的项目ID

clusterID

String

安装时可不填。当前CCE集群的ID

clusterName

String

当前CCE集群的名称

表4 resources字段数据结构说明

参数

是否必选

参数类型

描述

limitsCpu

String

CPU大小限制,单位:m

limitsMem

String

内存大小限制,单位:Mi

name

String

组件名称,固定为:

fluent-bit: 采集节点日志的组件

cop-logs: 用于生成各节点需要采集文件的软链

log-operator:用于生成fluent-bit和otel-collector的配置

otel-collector:用于上报采集的日志和事件到AOM和LTS

requestsCpu

String

申请的CPU大小,单位:m

requestsMem

String

申请的内存大小,单位:Mi

请求示例

{
  "kind": "Addon",
  "apiVersion": "v3",
  "metadata": {
    "annotations": {
      "addon.install/type": "install"
    }
  },
  "spec": {
    "clusterID": "ccbe7bdf-4**9-3**b-b**4-0********78",
    "version": "1.4.4",
    "addonTemplateName": "log-agent",
    "values": {
      "basic": {
        "aomEndpoint": "https://***",
        "iam_url": "***",
        "ltsAccessEndpoint": "https://***:8102",
        "ltsEndpoint": "https://***",
        "region": "***",
        "swr_addr": "***",
        "swr_user": "***",
        "rbac_enabled": true,
        "cluster_version": "v1.25"
      },
      "flavor": {
        "description": "Recommanded when the number of logs per second does not exceed 5000.",
        "name": "Low",
        "replicas": 1,
        "resources": [
          {
            "limitsCpu": "500m",
            "limitsMem": "500Mi",
            "name": "fluent-bit",
            "requestsCpu": "100m",
            "requestsMem": "200Mi"
          },
          {
            "limitsCpu": 1,
            "limitsMem": "500Mi",
            "name": "cop-logs",
            "requestsCpu": "100m",
            "requestsMem": "100Mi"
          },
          {
            "limitsCpu": "500m",
            "limitsMem": "500Mi",
            "name": "log-operator",
            "requestsCpu": "100m",
            "requestsMem": "100Mi"
          },
          {
            "limitsCpu": 1,
            "limitsMem": "2Gi",
            "name": "otel-collector",
            "requestsCpu": "200m",
            "requestsMem": "1Gi"
          }
        ],
        "category": [
          "CCE",
          "Turbo"
        ]
      },
      "custom": {
        "accessKey": "",
        "aomEndpoint": "https://***",
        "aomPrivateEndpointIP": "",
        "caCert": "",
        "clusterID": "",
        "clusterName": "clusterName",
        "cluster_category": "CCE",
        "createAudit": false,
        "createDefaultEvent": false,
        "createDefaultEventToAOM": true,
        "createDefaultStdout": false,
        "createKubeApiserver": false,
        "createKubeControllerManager": false,
        "createKubeScheduler": false,
        "ltsAccessEndpoint": "https://***:8102",
        "ltsAuditStreamID": "",
        "ltsEndpoint": "https://***",
        "ltsEventStreamID": "",
        "ltsGroupID": "",
        "ltsKubeApiserverStreamID": "",
        "ltsKubeControllerManagerStreamID": "",
        "ltsKubeSchedulerStreamID": "",
        "ltsLogReportDomain": "",
        "ltsPrivateEndpointIP": "",
        "ltsStdoutStreamID": "",
        "multiAZEnabled": false,
        "paasakskEnable": true,
        "projectID": "",
        "secretKey": "",
        "securityToken": "",
        "serverCert": "",
        "serverKey": ""
      }
    }
  }
}