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 |
---|---|---|---|
basic |
No |
object |
Basic configuration parameters, which do not need to be specified |
flavor |
Yes |
Table 2 object |
Flavor parameters |
custom |
Yes |
Table 3 object |
Custom 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": "" } } } }
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.