This application will output graphite counters for a list of AWS CloudWatch metrics. All you need to do is :
- copy
conf/metrics.json.sample
intoconf/metrics.json
- copy
conf/credentials.json.sample
intoconf/credentials.json
and set up youraccessKeyId
,secretAccessKey
andregion
.
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.
typically, to test you should simply run:
node cw2graphite.js
to test with all options:
node cw2graphite.js [--region region_name] [--credentials credentials_file] [--metrics metrics_file] | --help
region_name is the AWS region, ie. eu-west-1 (default : us-east-1)
credentials_file contains the AWS access key & secret key (default : ./conf/credentials.json)
metrics_file contains the metrics definition (defaults : ./conf/metrics.json)
You'll need to install a few modules, including:
-
dateformat
-
aws2js
-
optparse
simply running this should do the job :
npm install
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
typically, in a cron, you'd run:
node cw2graphite.js | nc host 2003