Project Description
A web app utilizing the Amazon Web Services API with a focus on browsing through and analyzing data graphically, mostly from CloudWatch - the API providing metrics about the usage of all the Amazon Web Services such as EC2 (Cloud Computing) and ELB (Elastic Load Balancing).

This app is written in ASP.Net MVC3 (using Razor views) and uses the following components:
The app requires an AWS account with which to browse the resources of.

AWS keys are input in the application configuration file. It is recommended you create a separate read-only set of AWS credentials to input to this app.
<add key="AWS.AccessKey" value="" />
<add key="AWS.SecretKey" value="" />

Visualizations

Elastic Load Balancing

Monitor - url: /elb/{load-balancer-name}

Displays a graph of all traffic today, compared to yesterday, the same day 1 week ago and the same day 2 weeks ago, and a preview of the website (if http). Displays gauges showing average CPU from the last 2 minutes for each Instance involved in the load-balancer. Visualization data refreshes via ajax every 40 seconds:
elb-monitor.png

Monitor - url: /elb/random

Same as above, but returns a different load-balancer from the list of all load-balancers after every (ajax) data refresh. Good for screensavers.

Preview - url: /elb/{load-balancer-name}/preview

Displays a preview for how your website looks on each server, if HTTP. Uses the healthcheck target Url (including any custom ports) and the server's DNS name to form the Url for each server.
elb-preview.png
This visualization also takes an optional query paramenter 'previewUrl' which can be used to specify a relative Url to load for each server, eg /elb/my-site/preview?previewUrl=/news/article
(*note that the CodePlex.com site has been used to protect the privacy of any actual sites in any screenshots above)

Roadmap

  • ELB
    • Monitor
      • Display information for traffic accross all load-balancers
      • Implement 'Index' view, displaying information for each individual load-balancer and a link to it's detail page
      • Allow customisations on the date-range in view
    • Preview
      • Allow editing of the Url being previewed for each server, instead of direct manipulation of a query parameter in the Url
  • EC2
    • Display instance metrics (filterable)
  • Use a google-o-meter somehow

This app was created as a tool to help monitor and diagnose the health of a set of applications on AWS. It has been designed to be as generic as possible to allow others to benefit. It you would find the tool useful, please download and run in any way appropriate, and please also consider contributing any changes or enhancements.

Last edited Feb 23, 2011 at 1:56 AM by pmiller, version 6