191 lines (134 sloc) 6.37 KB

Installing Graphite


Graphite renders graphs using the Cairo graphics library. This adds dependencies on several graphics-related libraries not typically found on a server. If you're installing from source you can use the script to see if the dependencies have been met or not.

Basic Graphite requirements:

Additionally, the Graphite webapp and Carbon require the Whisper database library which is part of the Graphite project.

There are also several other dependencies required for additional features:

Fulfilling Dependencies

Most current Linux distributions have all of the requirements available in the base packages. RHEL based distributions may require the EPEL repository for requirements. Python module dependencies can be install with pip rather than system packages if desired or if using a Python version that differs from the system default. Some modules (such as Cairo) may require library development headers to be available.

Default Installation Layout

Graphite defaults to an installation layout that puts the entire install in its own directory: /opt/graphite


Whisper is installed Python's system-wide site-packages directory with Whisper's utilities installed in the bin dir of the system's default prefix (generally /usr/bin/).

Carbon and Graphite-web

Carbon and Graphite-web are installed in /opt/graphite/ with the following layout:

  • bin/

  • conf/

  • lib/


  • storage/

    • log

      Log directory for Carbon and Graphite-web

    • rrd

      Location for RRD files to be read

    • whisper

      Location for Whisper data files to be stored and read

    • ceres

      Location for Ceres data files to be stored and read

  • webapp/

    Graphite-web PYTHONPATH

    • graphite/

      Location of

    • content/

      Graphite-web static content directory

Installing Graphite

Several installation options exist:

Initial Configuration

Help! It didn't work!

If you run into any issues with Graphite, please to post a question to our Questions forum on Launchpad or join us on IRC in #graphite on FreeNode.

Post-Install Tasks

:doc:`Configuring Carbon </config-carbon>`
Once you've installed everything you will need to create some basic configuration. Initially none of the config files are created by the installer but example files are provided. Simply copy the .example files and customize.
:doc:`Administering Carbon </admin-carbon>`
Once Carbon is configured, you need to start it up.
:doc:`Feeding In Your Data </feeding-carbon>`
Once it's up and running, you need to feed it some data.
:doc:`Configuring The Webapp </config-webapp>`
With data getting into carbon, you probably want to look at graphs of it. So now we turn our attention to the webapp.
:doc:`Administering The Webapp </admin-webapp>`
Once its configured you'll need to get it running.
:doc:`Using the Composer </composer>`
Now that the webapp is running, you probably want to learn how to use it.

Windows Users

Despair Not! Even though running Graphite on Windows is completely unsupported (we fear that handling the escaping of paths in the regexes would result only in jibbering madness, and life is just too short; pull requests happily considered!), you are not completely out of luck. There are some solutions that make it easier for you to run a UNIX VM within your Windows box. The :doc:`Installing via Synthesize </install-synthesize>` article will help you set up a Vagrant VM that will run Graphite. In order to leverage this, you will need to install Vagrant.