Bring Amazon AWS Cloudwatch metrics into Graphite
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

AWS Cloudwatch2Graphite

Join the chat at npm npm


  1. was written as a generic utility. When I recently moved it to using 'aws-sdk' instead of the unofficial 'aws2js', I hacked the genericity/configurability out. cw2graphite should again be configurable for multiple metrics - This configurability should use the native node-config instead of optparse

What is this for?

This application will output graphite counters for a list of AWS CloudWatch metrics. All you need to do is :

  • copy config/default.json,sample into config/default.json and set up your accessKeyId, secretAccessKey and region as well as metrics.

You'll find here the reference to NameSpaces, metrics, units and dimensions you'll want to refer to to set up your metrics.json (metrics.json.sample is a good starting point). Thus far this has been tested with EC2, ELB & DynamoDB.

This software is governed by the Apache 2.0 license.


typically, to test you should simply run:

node cw2graphite.js


You'll need to install a few modules, including:

  • dateformat

  • aws-sdk

  • minimist & config

    simply running this should do the job :

    npm install

Example output

aws.dynamodb.rad_impressions.throttledrequests.updateitem.sum.count 28.0 1359407920
aws.elb.radimp.requestcount.sum.count 933.0 1359407920
aws.dynamodb.rad_impressions.consumedwritecapacityunits.sum.count 890.0 1359407920

Sending to Graphite

typically, in a cron, you'd run:

node cw2graphite.js | nc host 2003