Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Merge pull request #17 from Habbie/freebsd10.1

fix building on FreeBSD 10.1, presumably also 10.0
latest commit 2a663d630b
bert hubert authored
Failed to load latest commit information.
ahutils Merge commit 'f019652526d12d3c10d2b018d5e3a4dfd2f4f276' as 'ahutils'
examples feeder script for verbose linux statistics - network only for now
html address json compliancy
sysdeps fix building on FreeBSD 10.1, presumably also 10.0
yahttp Merge branch 'master' of github.com:cmouse/yahttp
.gitignore *~
.travis.yml ok perhaps THIS will make travis happy
LICENSE Initial commit
Makefile fix building on FreeBSD 10.1, presumably also 10.0
README.md Add Fedora/EPEL package name
dolog.hh dolog did not retain the old g_verbose behaviour, it is back now & do…
interpolate.cc fix crash on duplicate data points, make us crash on *any* fp error n…
interpolate.hh hmm, were these missing?
iputils.cc Found one possible cause for issue #14 and fixed it
iputils.hh move some socket stuff to iputils to slim down metronome.cc
metromisc.hh actually commit what we described in previous commit message
metronome.cc address json compliancy
mmanage.cc fix dropping off at the end of a week
msubmit.cc actually support ipv6 for msubmit
statstorage.cc Merge branch 'master' of github.com:ahupowerdns/metronome
statstorage.hh fix up compilation on FreeBSD
test-statstorage.cc implement simple unit tests, hook up travis, add getMetrics to statst…
testrunner.cc implement simple unit tests, hook up travis, add getMetrics to statst…
update-git-hash-if-necessary make us build semi-static libraries, add git hash

README.md

metronome

Mini-graphite so we can ship pdnscontrol w/o depending on graphite.

'metronome' implements the carbon protocol, so anything that can feed Graphite can feed metronome. We also accept submissions via POST:

For example, to submit RX bytes for eth0:

while true; 
do
    VAL=$(ip -s link ls eth0 | grep RX -A 1 | tail -1 | awk '{print $1}')
    wget -q --post-data="" "http://127.0.0.1:8000/?do=store&name=rxbytes&timestamp=$(date +%s)&value=$VAL" -O /dev/null
    sleep 1
done

To retrieve data:

$ wget http://127.0.0.1:8000/?do=retrieve&name=rxbytes&begin=0&end=$(date +%s)&callback=jsonp

This delivers a JSONP callback with your values in there.

To view, try html/index.html

Installing

Either install libeigen3-dev (Debian, Ubuntu), eigen3-devel (Fedora, EPEL), or:

$ wget http://bitbucket.org/eigen/eigen/get/3.2.1.tar.bz2
$ tar xf 3.2.1.tar.bz2
$ ln -s eigen-eigen-*/Eigen .

Then:

$ make
$ ./metronome --help
$ mkdir stats
$ ./metronome --stats-directory=./stats

Next, host the 'html/' directory somewhere on a webserver, and edit 'html/local.js' so it knows the Webserver IP address of metronome (port 8000 on :: by default).

Thanks to

Aki Tuomi for the excellent yahttp, Rickshaw for the graphs. Eigen for the math. And a cast of thousands for C++2011.

status

"Toy" for now - stores all data in flat files, which we read in their entirety to replay data.

But, starting to look nice.

Something went wrong with that request. Please try again.