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 check-dependencies.py script to see if the dependencies have been met or not.
Basic Graphite requirements:
Python 2.4 and 2.5 have extra 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:
See also
On some systems it is necessary to install fonts for Cairo to use. If the webapp is running but all graphs return as broken images, this may be why.
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.
You can download the latest source tarballs for Graphite-web, Carbon, and Whisper from the Graphite project page, https://launchpad.net/graphite or clone the latest version using Bazaar: bzr branch lp:graphite
To install, simply extract the source and run python setup.py install as root in the project directories for Whisper, Carbon, and Graphite-web (the root of the repository in the case of a source tree checkout).
This will install Whisper as a site-package, while Carbon and Graphite will be installed in /opt/graphite/.
If you run into any issues with Graphite, feel free to post a question to our Questions forum on Launchpad or join us on IRC in #graphite on FreeNode