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.