Cloud Native Log Collection
Add-on Overview
The Cloud Native Logging add-on (log-agent) is developed based on Fluent Bit and OpenTelemetry for collecting logs and Kubernetes events. This add-on supports CRD-based log collection policies. It collects and forwards standard output logs, container file logs, node logs, and Kubernetes event logs in a cluster based on configured policies. It also reports Kubernetes events to AOM for configuring event alarms. By default, all abnormal events and some normal events are reported.
Add-on Parameters
Parameter | Mandatory | Type | Description |
---|---|---|---|
description | No | String | Add-on description |
name | Yes | String | Add-on specification name. The value is fixed at Single-instance. |
replicas | Yes | String | Number of otel-collector component instances. The default value is 1. |
resources | Yes | resources object | Container resource (CPU and memory) quotas |
Parameter | Mandatory | Type | Description |
---|---|---|---|
caCert | Yes | String | Specifies a client certificate, which is encrypted using Base64. This parameter is optional during installation. It is generated by the CCE add-on center and used for two-way authentication between components and webhook requests. Domain name to be issued: *.monitoring.svc. |
serverCert | Yes | String | Specifies a server certificate, which is encrypted using Base64. This parameter is optional during installation. It is generated by CCE add-ons and used for two-way authentication between components and webhook requests. Domain name to be issued: *.monitoring.svc. |
serverKey | Yes | String | Specifies the private key of a server, which is encrypted using Base64. This parameter is optional during installation. It is generated by CCE add-ons and used for two-way authentication between components and webhook requests. Domain name to be issued: *.monitoring.svc. |
accessKey | No | String | Specifies the access key ID of a user, which is used to request AOM and LTS APIs. If this parameter is left blank, a temporary AK/SK is used. |
secretKey | No | String | Specifies the access key of a user, which is used to request AOM and LTS APIs. If this parameter is left blank, a temporary AK/SK is used. |
createDefaultStdout | No | Bool | Specifies whether to create the default policy for collecting container standard output logs and reporting them to LTS. This parameter is valid only after it is specified during the add-on installation. The default value is false. |
createDefaultEvent | No | Bool | Specifies whether to create the default policy for collecting Kubernetes events and reporting them to LTS. This parameter is valid only after it is specified during the add-on installation. The default value is false. |
multiAZEnabled | No | Bool | Specifies whether to deploy the add-on pods in multiple AZs. The default value is false. If this parameter is set to true, cross-AZ deployment is forcibly performed. If this parameter is set to false, cross-AZ deployment is preferred. |
cluster_category | No | String | The value is fixed at CCE. |
ltsAccessEndpoint | No | String | Specifies the address for reporting logs to LTS. If this parameter is left blank, the address specified in basic is used. |
ltsEndpoint | No | String | Specifies the address of the LTS APIs. If this parameter is left blank, the address specified in basic is used. |
aomEndpoint | No | String | Specifies the address for reporting events to AOM. If this parameter is left blank, the address specified in basic is used. |
projectID | Yes | String | Specifies the ID of the project to which the current CCE cluster belongs. This parameter is optional during installation. |
clusterID | Yes | String | Specifies the ID of the current CCE cluster. This parameter is optional during installation. |
clusterName | Yes | String | Specifies the name of the current CCE cluster. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
limitsCpu | Yes | String | CPU size limit (unit: m) |
limitsMem | Yes | String | Memory size limit (unit: Mi) |
name | Yes | String | Component name. Options: fluent-bit: component for collecting node logs cop-logs: generates soft links for collected files on each node. log-operator: generates fluent-bit and otel-collector configurations. otel-collector: reports collected logs and events to AOM and LTS. |
requestsCpu | Yes | String | Requested CPU size (unit: m) |
requestsMem | Yes | String | Requested memory size (unit: Mi) |
Example Request
{"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": ""}}}}
- Add-on Overview
- Add-on Parameters
- Example Request