GithubHelp home page GithubHelp logo

signiant / aws-elb-to-librato Goto Github PK

View Code? Open in Web Editor NEW
0.0 5.0 0.0 24 KB

Generate error rate stats in Librato from AWS ELB/ALB

License: MIT License

Python 100.00%
librato aws-elb ec2 error-rate alb metrics docker

aws-elb-to-librato's Introduction

aws-elb-to-librato

Generate error rate charts in Librato from AWS ELB/ALB used by Elastic Beanstalk and ECS services

Purpose

Using the concept popularized by Google of error budgets, we'd like to report back to teams who own services what the error rate is of that service. While AWS cloudwatch provides the raw data for requests and 500s, we need a tool like Librato to transform the data and produce the metrics. While we are at it, we can use Librato to graph this data too.

We also need it to be dynamic as we add new microservices fairly frequently to AWS ECS. So the intent of this tool is that it is run on a schedule to continually make sure we have a metric in Librato for all services

Prerequisites

  • You must have a Librato subscription. Go get one now, it's a fantastic tool
  • You must have an AWS account
  • You must be using either Elastic Beanstalk or ECS services

Functionality

The tool is split into the core and plugins. Currently, there are 2 plugins:

  • ECS
    • This plugin queries an ECS cluster and will create a chart for each service that uses a load balancer
  • Elastic Beanstalk
    • This plugin queries given elastic beanstalk environments and adds a chart for each environment's load balancer. It will only create a chart for the current "live" environment where the live environment is defined by a Route53 DNS entry pointing to the environment's load balancer.

Usage

The easiest way to run the tool is from docker (because docker rocks). You just pass it a config file and it will do everything from there

docker pull signiant/aws-elb-to-librato
docker run \
   -v /config/myconfigfile.yaml:/config.yaml \
   signiant/aws-elb-to-librato \
        -c /config.yaml

In this example, we use a bindmount to mount in the config file from a local folder to the root directory of the container. We can then pass the -c argument to the container to have it read the config from /

There is an optional -d flag to the tool which will turn on more debug output. For example:

docker run -ti \
   -v /config/myconfigfile.yaml:/config.yaml \
   signiant/aws-elb-to-librato \
        -c /config.yaml \
        -d

aws-elb-to-librato's People

Contributors

dnorth98 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.