Skip to content

varshneyjayant/cloudwatch-metrics-to-loggly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cloudwatch-metrics-to-loggly

Sends AWS Cloudwatch metrics to Loggly

More information about AWS Lambda and Loggly

Get the code and prepare it for the uploading to AWS

  • Clone the git repo
git clone https://github.com/psquickitjayant/cloudwatch-metrics-to-loggly.git
cd cloudwatch-metrics-to-loggly
  • Install required npm packages.
npm install
  • zip up your code
zip -r cloudwatchMetrics2Loggly.zip index.js node_modules

The resulting zip (cloudwatchMetrics2Loggly.zip) is what you will upload to AWS.

Setting up AWS

For all of the AWS setup, I used the AWS console following this example. Below, you will find a high-level description of how to do this. I also found this blog post on how to set things up using the command line tools.

Create and upload the cloudwatchMetrics2Loggly function in the AWS Console

  1. Create Role
  2. Sign in to your AWS account and open IAM console https://console.aws.amazon.com/iam/
  3. In your IAM console create a new Role say, 'cloudwatch-full-access'
  4. Select Role Type as 'AWS Lambda'
  5. Apply policy 'CloudWatchFullAccess' and save.
  6. Create KMS Key
  7. Create a KMS key - http://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html
  8. Encrypt the Loggly Customer Token using the AWS CLI - aws kms encrypt --key-id alias/<your KMS key arn> --plaintext "<your loggly customer token>"
  9. Copy the base-64 encoded, encrypted token from step 2's CLI output (CiphertextBlob attribute) and replace it with the "your KMS encypted key" in the script at line no 13
  10. Create lambda function
  11. https://console.aws.amazon.com/lambda/home
  12. Click "Create a Lambda function" button. (Choose "Upload a .ZIP file") * Name: cloudwatchMetrics2Loggly * Upload lambda function (zip file you made above.) * Handler:* index.handler * Set Role : cloudwatch-full-access * Set Timeout to 2 minutes
  13. Go to your Lamda function and select the "Event sources" tab * Click on Add Event Source * Event Source Type : Cloudwatch Events - Schedule * Name : Provide any customized name. e.g. cloudwatchMetrics2Loggly Event Source * Description: Invokes Lambda function in every 5 minutes * Schedule expression : rate(5 minutes) * Enable Event Source : Enable Now Now click on submit and wait for the events to occur in Loggly

NOTE: Always use latest version of AWSCLI. Some features like KMS may not work on older versions of AWSCLI. To upgrade, use the command given below

pip install --upgrade awscli

About

Sends AWS Cloudwatch metrics to Loggly

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published