Agent v1.17.0

Enhanced Kubernetes Input Source Detection, Debug Output Stability, Refinement in Metrics Collection, and Google Cloud Logging API Limitations.

September 9, 2024

Enhancements

  • Enhanced Kubernetes Input Source Detection: The source detection mechanism for Kubernetes inputs has been improved. Previously, it utilized the first parent of a pod, such as a ReplicaSet, to create the k8s.pod.name filter. The update now ensures that the root controller is used for creating the k8s.pod.name filter, providing a more stable and reliable source reference. Additionally, the unused attribute ed.k8s.pods has been removed to streamline the system.

  • Debug Output Stability: A bug was fixed in the Debug output that caused a crashloop issue due to undefined streamer and integration names. The fix involved ensuring that both names are appropriately set, thus stabilizing the Debug output functionality and preventing further crashes.

  • Refinement in Metrics Collection: The default logic for collecting pod labels and annotations for cAdvisor and Kube-state metrics has been overhauled. The old system, which automatically gathered these by default, has been replaced with a new resource field selection logic. This new logic mirrors the approach used for the Kubernetes Input node, ensuring a more targeted and efficient collection of metrics which improves performance and accuracy.

Fixes

  • Google Cloud Logging API Limitations: An issue with the Google Cloud Logging API’s limit of 256KB per log entry has been addressed. Log entries will now be split correctly to adhere to this size limit while maintaining their labels. Furthermore, a new label called edgedelta_GCL_split_id has been introduced to store the UUID of split messages. This ensures proper handling of logs without exceeding API restrictions, which include no more than 64 labels, label keys being at most 512 bytes, and label values being at most 64KB.