Unattended install of Cloudwatch Logs Agent

Posted on July 3rd, 2015 in Amazon APIs,Linux System Administration by Brandon

So far, I’m pretty impressed with cloudwatch logs. The interface for it isn’t as fancy, and search capability isn’t as deep as other tools like PaperTrail or Loggly, but the cost is significantly less, and I like the fact that you can store different log groups for different lengths of time.

I’m trying to get the cloudwatch logs agent to install as part of an automated script, and couldn’t find any easy instructions to do that, so here is how I got it working with a shell script on an Ubuntu 14.04 host

echo Creating cloudwatch config file in /root/awslogs.conf
cat <<EOF >/root/awslogs.conf
[general]
state_file = /var/awslogs/state/agent-state
## Your config file would have a lot more with the logs that you want to monitor and send to Cloudwatch
EOF

echo Creating aws credentials in /root/.aws/credentials
mkdir /root/.aws/
cat <<EOF > /root/.aws/credentials
[default]
aws_access_key_id = YOUR_AWS_ACCESS_KEY_HERE
aws_secret_access_key = YOUR_AWS_SECRET_KEY_HERE
EOF

echo Downloading cloudwatch logs setup agent
cd /root
wget https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py
echo running non-interactive cloudwatch-logs setup script
python ./awslogs-agent-setup.py --region us-west-2 --non-interactive --configfile=/root/awslogs.conf

No Responses to 'Unattended install of Cloudwatch Logs Agent'

Subscribe to comments with RSS or TrackBack to 'Unattended install of Cloudwatch Logs Agent'.

  1. David said,

    on May 12th, 2016 at 5:03 am

    Thanks a lot. Something was wrong with my deploy. Using yours worked like a charm. The only difference I see is that I was working from /tmp instead of /root folder. Also I used -c instead of –configFile. Anyway, thanks 🙂

Post a comment