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


aws-cloudwatchlogs (7) Versions 1.1.7

Install and Configure AWS CloudWatch Logs Agent

cookbook 'aws-cloudwatchlogs', '~> 1.1.7'
cookbook 'aws-cloudwatchlogs', '~> 1.1.7', :supermarket
knife supermarket install aws-cloudwatchlogs
knife supermarket download aws-cloudwatchlogs
Quality 75%

AWS CloudWatch Logs Cookbook

Runtime License

Unofficial Chef Cookbook that install and configure AWS CloudWatch Logs Agent and deploy it's configurations automatically.


Add this cookbook to your base recipe:

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

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.7 / 2017-11-21

  • Fixed 'service resource not found' error.
  • Several improvements for better handling the installation process.
  • Added more supported platforms.

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.7 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.7 passed this metric

Foodcritic Metric

1.1.7 passed this metric

No Binaries Metric

1.1.7 passed this metric

Publish Metric

1.1.7 passed this metric

Supported Platforms Metric

1.1.7 passed this metric

Testing File Metric

1.1.7 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.7 passed this metric