Analyze your AWS deployment!


Analyze your AWS deployment done by nscale.

##Installation The nscale-aws-analyzer module can be installed in a variety of ways depending on usage.

###Directly within nscale If you are deploying nscale to aws, a simple change to nscale's config file is all that is needed. In the modules section under analysis, set the value of require to nscale-aws-analyzer; nscale will will handle requiring the module.

  "modules": {
    "protocol": {
      "require": "nscale-protocol"
    "analysis": {
      "require": "nscale-aws-analyzer"

###As a global module To use as a stand alone node module simply install globally from NPM. The module can then be used by pointing it to a valid config file. Note, npm may require administrator permission to install global modules.

[sudo] npm install nscale-aws-analyzer -g
nscale-aws-analyzer ./path/to/config.json

###Embeded in your own project As well as globally, nscale-aws-analyzer can also be installed locally in a project via NPM. Simply require nscale-aws-analyzer. And call analyze to get the results in JSON format.

[sudo] npm install nscale-aws-analyzer --save
'use strict';
var fs = require('fs');
var analyzer = require('nscale-aws-analyzer');
var configFile = process.argv[2];
var config = JSON.parse(fs.readFileSync(configFile, 'utf8'));
analyzer.analyze(config, null, function(errresult) {
  if (err) {
  console.log(JSON.stringify(result, null, 2));

Regardless of installation method, a particular set of fields are required to be present in the config file. A sample config can be found in the test directory, it is the same as listed below.

  "systemId": "4624e815-f814-4802-89b4-e33340a6af46",
  "namespace": "nsd",
  "name": "nsd-test",
  "accessKeyId": "aws-key-id",
  "secretAccessKey": "aws-access-key",
  "region": "aws-region",
  "user": "awsuser",
  "identityFile": "path/to/pem/file",
  "instanceFilter": "filter"

Copyright (c) 2014 Nearform and other contributors

Licensed under the Artistic License 2.0