Name | Resource Type | Description |
tke-log-agent | DeamonSet | Each log-agent Pod contains a controller container and a loglistener sidecar container, which are responsible for collecting logs generated by all containers on the node. |
cls-provisioner | Deployment | There is one instance per cluster, responsible for converting the CRD configuration into a collection configuration comprehensible by the loglistener to communicate with CLS. |
logconfigs.cls.cloud.tencent.com | CRD | - |
Category | Content |
Feature | - |
Bugfix | Fixed the issue that Kafka collector encounters livenessProbe failure when the node is high in CPU load. Fixed the issue that logs of Kafka collector under containerd runtime carry the CRI format prefix. |
Category | Content |
Feature | cls-provisioner supports vmagent container. log-agent generates the loglistener configuration file in encryption mode by default. |
Bugfix | - |
Category | Content |
Feature | cls-provisioner allows to enable Dynamic Index when you are creating a topic. cls-provisioner allows to add a finalizer to logconfig. The max_metadata_wait_time_s parameter added to loglistener can be configured by using environment variables. When the key-value index is text, the word segmentation symbol can be empty. |
Bugfix | Fixed the log-agent problem of incorrect container judgment during metadata generation. For example, different containers of the same Pod exist in the /data path, such as A container volume mounted to /data and B having a normal directory /data. Fixed the cls-provisioner problem of potential residual dirty data during switching between host_file and container_file. Fixed the problem of collection configuration being deleted or overwritten in self-built mode. Fixed the problem where the kafka collector fails to retrieve the latest target metadata, and added a regular update mechanism for metadata. Fixed the problem where metadata is not generated as expected when different collection rules are used to collect different files under the same directory. |
Category | Content |
Feature | Kafka collector supports custom metadata. Kafka collector allows to output metadata in string format. Added the cluster_id field to Kafka collector metadata. Supported advanced filters. |
Bugfix | Fixed the resource compatibility problem for existing add-ons, and added non-CLS regions through the add-on configuration CLOUD_API_REGION. log-agent adds docker DataRoot to avoid triggering dynamic mounting for docker runtime with standard configuration. Adapted to standard output path mapping for clusters earlier than version 1.14. log-agent no longer automatically mounts docker dataroot. Fixed the problem where file events fail to be processed due to full retryChan. Fixed the problem where standard output logs fail to be collected due to empty containerOpt. Fixed the cls-provisioner OOM problem caused by frequent ns updates. |
Category | Content |
Feature | CLS add-ons expose metrics related to collection rule status. The default port is 8088. |
Bugfix | - |
Category | Content |
Feature | Elastic Pod cls-provisioner switches to norm authentication. |
Bugfix | Fixed the problem of accidental path deletion introduced by multiple paths. |
Category | Content |
Feature | TKE multi-path collection supports path wildcards. |
Bugfix | Adapted to clusters earlier than version 1.19 to address log loss caused by kubelet mapping failure of the standard data log path. |
Category | Content |
Feature | Added source resources during collection configuration creation to distinguish the TKE collection configuration, CLS console, and direct access to TKE. Supported namespace and excluded namespace using regular expression. Added advanced collection configuration to collect ClsAgentParseFailMerge, and changed parameter types to fix the parameter loss problem during the JSON marshal/unmarshal process. Supported custom cls-provisioner and log-agent installation namespaces, which is kube-system by default. Supported multi-path collection for container files and host files. |
Bugfix | Fixed the problem where the log-agent does not delete symbolic links when the job Pod ends, causing the number of files and directories monitored by loglistener to reach the upper limit. Fixed the problem where kafkaListener fails to collect logs due to excessively long logs in a single line, and updated the maximum length of a single line to 2 MB. Fixed the problem where mapping the log directory fails when the PVC StorageClass is empty. |
Category | Content |
Feature | - |
Bugfix | Fixed the problem that occurs when log-agent handles the inverse selection logic of container notin. |
Category | Content |
Feature | Added AdvancedConfig, including the MaxDepth and FileTimeout parameters. Added the HotPeriod parameter to support the settlement rules of transitioning standard topic data to a low frequency. Supported container selection and exclusion, container metadata collection, and tag-based collection. |
Bugfix | Fixed the problem of abnormal prefix removal for paths in the blocklist. Fixed the log-agent problem where symbolic links are deleted and recreated while the Pod remains unchanged. Fixed the panic problem in cls-provisioner caused by failure to query topics. Added validation for logconfig. Invalid logconfigs will not be processed to prevent program panic or processing errors. |
Category | Content |
Feature | - |
Bugfix | Fixed the problem of no retry after workload is not supported. |
Category | Content |
Feature | Added the logConfig-max-threshold parameter. When the logconfig reaches the threshold, the informer is used to query the workload information after you upgrade or restart the add-on. Optimized the method to obtain docker root. You can obtain it via the API preferentially. Custom metadata is available to kafka collector, and SASL authentication is supported. |
Bugfix | Fixed the problem where a kubelet parameter error occurred when starting the log-agent. Fixed the problem where a logset API calling error occurred when replacing the topicID. CLS is not case-sensitive. Fixed the case-sensitive issue of cls-provisioner. The log-agent supports CSI by default. The Provisioner of StorageClasses is no longer judged and compared separately. |
Category | Content |
Feature | Added multi-line Regex matching with container standard output for the kafka collector. You can configure tag API address through environment variables. |
Bugfix | Fixed the problem that the agent automatically created a topic but failed to sync it to the cluster tag in regions where CLS was not available, such as Shenzhen and Tianjin. Fixed the problem where the kafka collector’s metadata prefix captured the format issue of containerd. Fixed the problem where the incremental and full options were missing when cls-provisioner was synced to CLS. You can query the workload information through informer during logconfig loading to reduce the load on apiserver. |
Category | Content |
Feature | Added São Paulo and Shanghai Auto-Driving Cloud Zone that can be shipped to by CLS. |
Bugfix | - |
Category | Content |
Feature | Supported collecting standard output logs of the init container. Supported the GBK encoding format for CLS log parsing. Supported namespace label selectors for CLS log collection rules. |
Bugfix | Fixed the issue of frequent retries of the event queue. Optimized the queue processing algorithm for the LogConfig and Pod in the log-agent to prevent the queue from being blocked by a large number of repeated events. Fixed the issue where the standard output logs of the container were not collected when there were only namespaces but no labels. |
Category | Content |
Feature | Supported index settings for CLS STANDARD_IA. |
Bugfix | - |
Category | Content |
Feature | Supported configuring a blocklist in CLS collection rules for container files and host files. |
Bugfix | - |
Category | Content |
Feature | Supported the multi-core CPU for the LogListener. Adapted the LogListener memory to the upper limit of 100 MB memory. |
Bugfix | Fixed the issue where the log-agent failed to update the volume link and did not retry after the returned error was not processed during the update. |
Category | Content |
Feature | Supported inheriting TKE clusters' tags when a topic was automatically created by CLS. Supported cross-region log shipping for CLS. |
Bugfix | - |
Category | Content |
Feature | - |
Bugfix | Fixed the issue where an empty topic ID caused the logconfig to be deleted and recreated during topic replacement. Fixed the issue where the logconfigpro sync crashed as the logconfigpro informer was not started. |
Category | Content |
Feature | Blocked the collection of loglistener logs under kube-system by default. Modified the index creation policy, so that the default index was created only when a topic was automatically created, and the topic index was not modified in other scenarios. Supported the Kafka collector to add metadata information to messages. Supported the following parsing modes in the Kafka collector: full text in a single line, JSON, and full text in multiple lines. |
Bugfix | Fixed the issue where the container couldn't be specified when collecting the standard output in the workload scenario. Added the docker client to get Storage Driver, so that if there was no configuration file, the info information could be obtained through the client to get Storage Driver. Fixed the error of the specified metadatalabel when collecting container files. Fixed the scheme to get the kubelet root directory. Fixed the collection configuration match error caused by the incorrectly set prefix of the old collection configuration to be deleted. Fixed the issue where the timestampKey timestamp set for messages in the current Kafka collector was invalid. |
Category | Content |
Feature | Supported creating key-value indexes during topic creation by cls-provisioner, including index name, type, word segmentation, and statistics collection status switch; if not supported, the pod_name,namespace,container_name index would be enabled by default. Supported specifying metadatalabels to write the specified Pod labels into metadata collection; if not supported, all Pod labels would be collected as metadata. Supported customizing the CLS TencentCloud API service backend address. |
Bugfix | - |
Category | Content |
Feature | Supported modifying the kubelet root directory and docker root directory in log-agent. |
Bugfix | - |
Category | Content |
Feature | Supported the label != operation (exclude labels) in the log collection configuration.Supported collecting only incremental logs by CLS. Supported selecting multiple namespaces and excluding namespaces in the log collection configuration. Supported configuring Pod labels with the same key but different values in log-agent. Supported configuring loglistener parameters. |
Bugfix | Fixed a known issue with log-agent using configmap as source. Fixed an issue where the collector configuration was empty and caused verification failures under some conditions. Fixed the issue where the collector failed to delete the configuration when deleting the log rule. Fixed compatibility issues with logConfig configuration. |
Category | Content |
Feature | Switched the API for cls-provisioner to access CLS to TencentCloud API. Supported TKE log collection and delivery to CKafka (for more information, see Configure Log Collection via the Console). |
Bugfix | - |
Category | Content |
Feature | - |
Bugfix | Fixed the issue where one Pod corresponded to multiple logconfig files. |
Category | Content |
Feature | - |
Bugfix | Fixed the issue where the extraction mode configured on a topic was overwritten in some scenarios. |
Category | Content |
Feature | - |
Bugfix | Fixed the issue where the metadata couldn't be created in some cases when the collection configuration of the stdout type was deleted. |
Category | Content |
Feature | - |
Bugfix | Fixed the log-agent panic issue in some cases. Fixed the issue of soft connection deletion caused by workload cache. Fixed the metadata file creation failure. |
Category | Content |
Feature | - |
Bugfix | Fixed the issue where metadata was accidentally deleted during container restart in a Pod. Supported automatically cleaning up LogAgentRootDir before log-agent start so as to avoid dirty data. Fixed the panic of log-agent caused by extreme scenarios. Fixed the startup failure caused by log-agent's repeated mounting of the /data directory. |