Coder Social home page Coder Social logo

mk-fg / gmond-amqp-graphite Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 116 KB

Daemon to pull xml data from a cluster of gmond nodes and push them to graphite via amqp

Python 100.00%
gmond ganglia amqp python daemon graphite-carbon gevent monitoring metrics events

gmond-amqp-graphite's Introduction

gmond-amqp-graphite: daemon to pull xml data from a cluster of gmond nodes and push them to graphite via amqp

Toolkit, consisting of gmond_amqp.py daemon to poll metrics from ganglia's gmond nodes into amqp and amqp_carbon.py to read them from amqp queue to graphite's carbon daemons.

Why pull data through amqp broker?

  • To add multiple consumers for the same values. Graphite to draw graphs, nagios or shinken to issue alerts if values exceed some thresholds.
  • Reliable delivery. You can plug-in/disable and restart consumers without any loss of data, which gathers safely in broker queues.
  • Ease of use. That's what I hate zmq for - try to implement reliable delivery, durable queues, with a proper fanout and make it configurable on-the-fly. Make it not loose messages on any disconnect and reconnect scenarios, throw in some atomicity (transactions), so you can read/send batches of values. Some 10-50 lines with amqp and insane amount of minefield code otherwise.

Differs from passive collectors like graphlia in that it actually polls the data from redundant gmond nodes at the regular intervals (as graphite needs it), not just listens for it.

gmond_amqp.py also does the job of rewriting gmond metric names, so they fit neatly into graphite namespaces.

Check out yaml files (actual configuration) for more info.

Wrote the thing before realizing that gmond can't handle dynamic number of values, like plugin that collects metrics from systemd services' cgroups without knowing how many will be started in advance, so abandoned the thing when got to migrating data collectors to the actual gmond plugins. Pity, gmond looked like a nice and solid thing otherwise.

Requirements:

gmond-amqp-graphite's People

Contributors

mk-fg avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 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.