Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


aws-cloudwatchlogs (7) Versions 1.1.6

Install and Configure AWS CloudWatch Logs Agent

cookbook 'aws-cloudwatchlogs', '= 1.1.6', :supermarket
cookbook 'aws-cloudwatchlogs', '= 1.1.6'
knife supermarket install aws-cloudwatchlogs
knife supermarket download aws-cloudwatchlogs
Quality 57%

AWS CloudWatch Logs Cookbook


Unofficial Chef Cookbook that installs AWS CloudWatch Logs<sup>™</sup>
Agent and deploy it's configurations automatically.


Add this cookbook to your base recipe:

cookbook 'aws-cloudwatchlogs', '~> 1.1.6'

You need to configure the following node attributes via an environment or role:

   'aws_cwlogs' => {
      'region' => 'your_aws_region',
      'aws_access_key_id' => 'your_aws_access_key',
      'aws_secret_access_key' => 'your_aws_secret_key',
      'log' => {
         'syslog' => {
            'datetime_format' => '%b %d %H:%M:%S',
            'file' => '/var/log/syslog',
            'buffer_duration' => '5000',
            'log_stream_name' => '{instance_id}',
            'initial_position' => 'start_of_file',
            'log_group_name' => '/var/log/syslog'

Or you can also configure by declaring it in another cookbook at a higher precedence level:

default['aws_cwlogs']['region'] = 'your_aws_region'
default['aws_cwlogs']['aws_access_key_id'] = 'your_aws_access_key'
default['aws_cwlogs']['aws_secret_access_key'] = 'your_aws_secret_key'
default['aws_cwlogs']['log']['syslog'] = {
   'datetime_format' => '%b %d %H:%M:%S',
   'file' => '/var/log/syslog',
   'buffer_duration' => '5000',
   'log_stream_name' => '{instance_id}',
   'initial_position' => 'start_of_file',
   'log_group_name' => '/var/log/syslog'

Note: If you do not specify aws credentials, it will attempt to use the AWS IAM Role assigned to the instance instead.

Once you defined the attributes, you will need to reference aws_cwlogs resource in your recipe:

include_recipe 'aws-cloudwatchlogs'

aws_cwlogs 'syslog' do
  log node['aws_cwlogs']['log']['syslog']

aws_cwlogs 'messages' do
  log node['aws_cwlogs']['log']['messages']

This will create a unique configuration file in AWS CloudWatch Logs that will be stored in etc/config directory.

Remember: You can configure as many logs as you need with log attribute.

Note: We are not making use of data_bags for AWS Credentials in this recipe at this time.


Those attributes used before will generate the AWS CloudWatch Logs configuration below:

datetime_format = %b %d %H:%M:%S
file = /var/log/syslog
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/syslog

For more deployment details about AWS CloudWatch Logs, please visit the AWS CloudWatch Logs Documentation.



  • Ubuntu 14.04


See attributes/default.rb for default values.



This recipe will check if all necessary requirements being met, and after
that will call configure and install recipe.


This recipe will prepare and configure all files required by AWS CloudWatch Logs.


This recipe will install AWS CloudWatch Logs Agent.


See for more details.

License and Author

See LICENSE for more details.


Amazon Web Services and AWS are trademarks of, Inc. or
its affiliates in the United States and/or other countries.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

There are no cookbooks that are contingent upon this one.


1.1.6 / 2017-02-22

  • Removed the requirement for aws_access_key_id and aws_secret_access_key attributes values.

1.1.5 / 2017-01-31

  • Implementing a better way to handle AWS CloudWatch Logs configurations, now each log has a configuration file that is provisioned via Chef Resources.

1.1.4 / 2016-11-07

  • Implementing logging_config_file configuration, that overrides the default logging configuration to a WARNING value.

1.1.3 / 2016-10-31

  • Fixing aws_access_key_id and aws_secret_access_key attributes values.

1.1.2 / 2016-10-31

  • Removing the log_files attribute.
  • Implementing a better logic to handle if the agent is already installed.

1.1.1 / 2016-10-24

  • Initial version of aws-cloudwatchlogs cookbook.

Collaborator Number Metric

1.1.6 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

1.1.6 passed this metric

Foodcritic Metric

1.1.6 failed this metric

FC066: Ensure chef_version is set in metadata: aws-cloudwatchlogs/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: aws-cloudwatchlogs/metadata.rb:1
FC069: Ensure standardized license defined in metadata: aws-cloudwatchlogs/metadata.rb:1
Run with Foodcritic Version 12.0.1 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

License Metric

1.1.6 passed this metric

No Binaries Metric

1.1.6 passed this metric

Testing File Metric

1.1.6 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

1.1.6 passed this metric