Skip to content
This repository has been archived by the owner on Feb 2, 2022. It is now read-only.

Simple bridge app to convert gmond output to Influxdb-friendly data points

Notifications You must be signed in to change notification settings

cboggs/gmond-influxdb-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gmond-influxdb-bridge

Simple bridge app to convert gmond output to Influxdb-friendly data points.

If It's a Pain, Something's Wrong

I'm an Ops guy. Or an Infra-nerd. Or a CLI junkie. Whatever you want to call it, I spend all my time poking around the internals of some kind of mass of servers. When my tools suck, I stop using them.

If this particular tool isn't easy to use, easy to automate, and easy to forget about after it's setup, then I've done something wrong and you really ought to open an issue. Pull requests are always welcome, too!

Why?

InfluxDB + Grafana = Awesome

gmond system metrics + gmond plugins = Awesome

This is my attempt to bridge two of my favorite Awesomes.

Dependencies

sudo apt-get install libxml2-dev libxslt1-dev sudo pip install influxdb lxml

(Optional: an accessible Docker host)

Test Drive

If you have a Docker host handy:

scripts/build.sh && scripts/run.sh
vim config.json #Edit as appropriate
./gmond-influxdb-bridge.py -f config.json

Then just navigate to your_docker_host:5080 in your favorite browser and voila!

What It Should Do

This tool works fine when pointed at multiple hosts whose gmond instances each contain metrics for a single host.

I've not yet tested a single instance of gmond-influxdb-bridge pointing at multiple gmond collector hosts to collect multi-cluster-wide metrics. Should you try it and find it lacking, you can run multiple instances of gmond-influxdb-bridge as a workaround (for now).

What's Still to Come

  • Allow custom ports per host
  • Test multi-cluster-wide collection via gmond collector hosts (will add option for this in Docker scripts)
  • Use standard socket library instead of telnet (slow-brain moment led me to libtelnet... I don't try to understand why)
  • Configurable parallelism (should the need arise due to a single instance being too slow to handle many/large clusters)

About

Simple bridge app to convert gmond output to Influxdb-friendly data points

Resources

Stars

Watchers

Forks

Packages

No packages published