Skip to content

Support Log Classes for CloudWatch Logs #24320

@cahartma

Description

@cahartma

Add the option to set the log class when creating a log group using the CloudWatch Logs sink.

Simple config and client update to pass along a string value when creating the log group.

A note for the community

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Use Cases

AWS CloudWatch Logs offers different log classes to cater to varying needs for log accessibility and the features required.

The main reason to use log classes is Cost Optimization:
infrequent_access log class offers lower storage and ingestion costs compared to the standard class, making it a cost-effective choice for long-term log retention where real-time analysis is not a primary concern.

OPTIONS:
STANDARD Log Class: (Default) This class provides the full suite of CloudWatch Logs features, including real-time monitoring, advanced analytical capabilities like metric extraction, anomaly detection, sensitive data protection, and real-time log analysis. It is ideal for logs requiring immediate operational visibility and frequent access for troubleshooting and performance monitoring.
INFREQUENT_ACCESS Log Class: While supporting core functionalities like log ingestion, storage, and querying with CloudWatch Logs Insights, the IA class offers a subset of features compared to the Standard class. This trade-off in features allows for the lower cost structure, making it suitable for scenarios where advanced real-time features are not essential.

Attempted Solutions

No response

Proposal

New Configuration Field: The CloudwatchLogsSinkConfig struct gains a new optional field:

pub log_group_class: Option<String>,

Documentation: Configuration documentation is included, clarifying that the allowed values are standard and infrequent_access, and that the default behavior (when not configured) is standard.

[sinks.output_cw_logs]
type = "aws_cloudwatch_logs"
region = "us-east-2"
group_name = "my-log-group"
log_group_class = "infrequent_access"  

References

No response

Version

v0.51.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: featureA value-adding code addition that introduce new functionality.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions