fabric-graphite is a fabric script to install Graphite and all dependencies on a debian-based host (with optional vagrant support)
Nginx Shell JavaScript Python
Latest commit af8f58f Jul 7, 2015 @gingerlime bump versions
* updated component software versions:
  - django
  - nginx
  - cairo
  - carbon
  - uwsgi
  - statsd
* tested with ubuntu 14.04 and debian 7.5
Failed to load latest commit information.
config bump versions Jul 7, 2015
.gitignore added Vagrant support Jun 29, 2013
README.md added Vagrant support Jun 29, 2013
Vagrantfile bump versions Jul 7, 2015
__init__.py added __init__.py for easier importing Jun 10, 2012
fabfile.py bump versions Jul 7, 2015
vagrant.py bump versions Jul 7, 2015


Graphite-Fabric - a fabric installer for Graphite

fabric-graphite is a fabric script to install Graphite, Nginx, uwsgi and all dependencies on a debian-based host.


I was reading a few interesting posts about graphite. When I tried to install it however, I couldn't find anything that really covered all the steps. Some covered it well for Apache, others covered Nginx, but had steps missing or assumed the reader knows about them etc.

I'm a big fan of fabric, and try to do all deployments and installations using it. This way I can re-run the process, and also better document what needs to be done. So instead of writing another guide, I created this fabric script.


  • Workstation running python (version 2.7 recommended). All platforms should be supported.
  • Fabric - can be installed via pip install fabric or easy_install fabric
  • a new VPS/Dedicated server running a Debian-based distribution (Debian, Ubuntu etc) - or
  • Virtualbox with Vagrant (see below)

Target Host

Best to execute this on a clean virtual machine running Debian 6 (Squeeze). Also tested successfully on Ubuntu 12.04 VPS.

Installation Instructions

run fab graphite_install -H root@{hostname} (hostname should be the name of a virtual server you're installing onto)

It might prompt you for the root password on the host you are trying to instal onto.

You can use it with a user other than root, as long as this user can sudo.

During the installation, you would be asked to set up the django superuser account. You might want to create an account, but it's not strictly necessary. If you answer no, the installation will still work fine.


you can now install graphite using vagrant on your local virutalbox. If you have vagrant installed, simply use

$ pip install fabtools
$ vagrant up
$ fab vagrant graphite_install

Once installed, you can access your graphite server on http://localhost:8080/graphite

Giraffe Dashboard

Giraffe is also included and installed. It is installed under /opt/graphite/webapp/giraffe and is accessible on http://your-graphite-url/giraffe/.

OPTIONAL: Install statsd.

After installing graphite, run fab statsd_install -H root@{hostname}

statsd is a powerful, Node.js tool for aggregating data sent over UDP, which means it is fairly robust and allows for heaping large amounts of data into your stat backend (graphite) without fear of downtime or failures.

After Installation

Simply open your browser and go to http://[your-hostname]/graphite/ ! It should be up and running.

Of course there's a lot more configuration to be done, but at the very least you should have a working environment to play with Graphite.


The scripts are meant to be used as a starting point for experimenting and trying out graphite and statsd, but they are by no means 'production-ready'. Further configuration would be required. This is of particular concern when considering security. The installed host(s) will have open ports listening, and access to the graphite web console is without any authentication.



Thanks to the authors of these online guides and resources who provided very useful information that I stitched together into this fabric script, and others who provided inspiration about Graphite in General:

Although not installed with this fabric script, I'd love to try these some time:


Please try this at your own risk. Please run this only with a newly installed host that you can easily throw away! I tested it with both Debian 6 and Ubuntu 12.04 successfully. However, you may experience different results.

Help and Contribution

I'd be happy to try to help if I can, but given the complexity of linux-based operating-systems, and my limited time, I might not be able to know why a certain operation fails or an error is generated. Feel free to fork for your own special requirements or needs.