Agent v1.31.0

Health Metrics for All Nodes & Components, Support for Compression/Decompression in OTTL, Enable pprof from UI with TTL per Fleet, and Severity Text to Pattern Item Attributes.

March 10, 2025

Features & Enhancements

  • Health Metrics for All Nodes & Components: Added health metrics to all nodes and components.
  • Support for Compression/Decompression in OTTL: Added EDXCompress, EDXDecompress, and EDXUnescapeJSON custom OTTL functions, supporting GZIP, Snappy, and ZSTD compression, plus handling of multiply-escaped JSON strings.
  • Enable pprof from UI with TTL per Fleet: Added the ability to enable pprof profiling from the UI with a TTL per fleet, improving visibility into system performance.
  • Add Severity Text to Pattern Item Attributes: Included severity text in pattern item attributes for better categorization.
  • Fleet Type & Environment Support in Nodespecs: Added supported pipeline types and environments to nodespecs to ensure proper input-to-pipeline compatibility.

Telemetry & Metrics Improvements

  • Self-Telemetry Enhancements
    • Deprecated node_health input node in favor of self_telemetry.
    • Ingested new dimensions (ed.source.name, service.name) for outgoing metrics.
    • Ensured obs_report integration tracks inbound/outbound traffic from ed_debug_output, prometheus_exporter_output, and other outputs.
    • Added __metric_category: self_metric/diagnostic to diagnostic telemetry.
    • Removed double ingestion of self-diagnostic metrics by differentiating between classical and granular metrics.
  • Updated Size Calculation for outgoing_bytes.sum Metric: Aligned data size calculations with log data size calculations in the archive, using a byte stream approach for consistency.
  • Set Timestamp for OTLP Input Log Type: Ensured logs received via OTLP input have a valid timestamp when missing.

Bug Fixes

  • Fix obs_report Usage in ed_output: Adjusted telemetry provider initialization to resolve obs_report consumption issues in ed_output.
  • Fix Certain Processors Not Being Addable to Packs: Resolved an issue preventing specific processor nodes from being added to packs (formerly called compound nodes).
  • Fix Validation for L2M Field Dimensions: Added missing validation checks for L2M processor dimensions.
  • Fix Issues with JSON Marshalling of Resource Fields: Changed resource fields to use struct pointers instead of concrete structs, preventing empty object serialization.

Security Fixes

  • Fix Multiple CVEs: Addressed security vulnerabilities: CVE-2024-45339, CVE-2025-22868, CVE-2025-22869.

Other Improvements

  • Optimize FlattenAnyToString Method: Improved memory allocation and execution time for FlattenAnyToString.
  • Replace gopsutil/v3 with gopsutil/v4: Upgraded gopsutil to v4 to resolve system stats collection issues on macOS.
  • Update Nodespecs for Elastic & Datadog Destinations:
    • Fixed formatting issues in Elastic destination link.
    • Standardized quotes in Datadog destination nodespecs.
    • Added a Makefile target for creating nodespecs.
  • Remove Default GOMEMLIMIT in Helm: Removed the default GOMEMLIMIT value in Helm as auto-memlimit is now implemented.