Graphite consists of a storage backend and a web-based visualization
frontend. Client applications send streams of numeric time-series
data to the Graphite backend (called carbon), where it gets stored
in fixed-size database files similar in design to RRD. The web
frontend provides 2 distinct user interfaces for visualizing this
data in graphs as well as a simple URL-based API for direct graph
generation. Graphite's design is focussed on providing simple
interfaces (both to users and applications), real-time
visualization, high-availability, and enterprise scalability.
This charm will install Graphite (graph serving webapp) and Carbon
(the metrics sink backend). It's based on the work of the Canonical
CI Engineering team, but does not install, run and expose txtstatsd by
Docs and charm are in transition. Apologizies for rough edges and help
$ make deploy
If you would like to deploy with postgres instead of sqlite3 you will
also need to deploy postgres and add the relation:
$ juju add-relation graphite:pgsql postgres:db
Graphite requires a user for saving graphs.
juju ssh graphite-heka/0 -t sudo graphite-manage createsuperuser
You will be prompted for an username, email and password.
Currently, this charm exposes a line-interface for direct carbon input
and udp statsd input if the statsd config option is set to true.
The makefile to run tests requires the following dependencies
$ sudo apt-get install python-nose python-mock python-flake8
Presently the graphite charm only works with one graphite instance deployed or
one graphite and one postgresql instance deployed. It is not presently able to
scale out further than that.