Graphite is kind of insane to setup, in particular all the nonsense around Cairo and PyCairo. What. A. Pain. But the back-end (Carbon and Whisper) is easy to setup and works as advertised.
So I decided to see if I can use D3 to draw SVG charts directly from the Whisper files generated by the Graphite back-end (Carbon).
Famout last words.
But it worked. Good enough for playing with charts, and an awesome JavaScript learning experience. (Yes, I optimize my free time for that)
So skip the Graphite Web app and get Carbon and Whisper installed:
$ sudo pip install whisper
$ sudo pip install carbon
$ cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
$ cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
Fire up Carbon and start collecting data:
$ /opt/graphite/bin/carbon-cache.py start
Now run the Web server:
$ npm start
$ open localhost:8080
If your machine stores Whisper files in any other directory, you need to tell the server where to look by setting the
environment variable GRAPHITE_STORAGE
. The default path is /opt/graphite/storage
.
Enjoy.
Note This is an experiment more than anything. Some functions are implemented, most not, neither are date ranges. But if you like to hack on it, be my guest.