cloudwatchlogs
Version information
This version is compatible with:
- Puppet Enterprise 3.x
- Puppet 3.x
- Amazon, Ubuntu, RedHat, CentOS
This module has been deprecated by its author since Jul 22nd 2021.
Start using this module
Documentation
cloudwatchlogs
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with cloudwatchlogs
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module installs, configures and manages the service for the AWS Cloudwatch Logs Agent on Amazon Linux, Ubuntu, Red Hat & CentOS EC2 instances.
Module Description
CloudWatch Logs can be used to monitor your logs for specific phrases, values, or patterns. For example, you could set an alarm on the number of errors that occur in your system logs or view graphs of web request latencies from your application logs. You can view the original log data to see the source of the problem if needed. Log data can be stored and accessed for as long as you need using highly durable, low-cost storage so you don’t have to worry about filling up hard drives.
Setup
What cloudwatchlogs affects
- The
awslogs
package. - Configuration files under
/etc/awslogs
. - The
awslogs
service.
Beginning with cloudwatchlogs
The minimum you need to get this module up and running is (assuming your instance is launched with a suitable IAM role):
include '::cloudwatchlogs'
Usage
In addition to the minimum config above you can also declare which logs will be shipped to Cloudwatch Logs:
class { 'cloudwatchlogs':
logs => [
{ 'Messages' => '/var/log/messages' },
{ 'Secure' => '/var/log/secure' },
{ 'Mail' => '/var/log/maillog' },
],
region => 'eu-west-1',
aws_access_key_id => 'AKIAIOSFODNN7EXAMPLE',
aws_secret_access_key => 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
}
Reference
state_file
:
Defaults:
- Amazon Linux:
/var/lib/awslogs/agent-state
- Other:
/var/awslogs/state/agent-state
State file for the awslogs agent.
streamname
:
Default: {instance-id}
The name of the stream in Cloudwatch Logs.
logs
:
Default: [ { 'Messages' => '/var/log/messages', }, { 'Secure' => '/var/log/secure', }, ]
An array of hashes containing the 'name' & the 'path' of the log file(s) to be sent to Cloudwatch Logs.
region
:
Default: undef
The region your EC2 instance is running in.
aws_access_key_id
:
Default: undef
The Access Key ID from the IAM user that has access to Cloudwatch Logs.
aws_secret_access_key
:
Default: undef
The Secret Access Key from the IAM user that has access to Cloudwatch Logs.
Limitations
This module is currently only compatible with:
- Amazon Linux AMI 2014.09 or later.
- Ubuntu
- Red Hat
- CentOS
More information on support as well as information in general about the set-up of the Cloudwatch Logs agent can be found here.
Development
Contributions are welcome via pull requests.
Contributors
Authors:
All other contributions: https://github.com/kemra102/puppet-cloudwatchlogs/graphs/contributors
v0.1.0:
- Initial release, supports Amazon Linux only.
v1.0.0:
- Added support for Ubuntu, RHEL & CentOS via python package.
v0.1.0:
- Made 'region', 'aws_access_key_id' & 'aws_secret_access_key' optional for people who launch instances with an IAM role.
- Added 'streamname' variable.
Dependencies
- puppetlabs-stdlib (>= 3.2.0)
Copyright (c) 2015, Danny Roberts & Russ McKendrick All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.