Skip to content

Instantly share code, notes, and snippets.

@BenHall
Forked from caged/graphite.md
Created September 5, 2012 20:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BenHall/3644329 to your computer and use it in GitHub Desktop.
Save BenHall/3644329 to your computer and use it in GitHub Desktop.
Installing Graphite on OS X Mountain Lion

This is a general overview (from memory) of the steps I used to install graphite (http://graphite.wikidot.com) on OS X Lion. I think the steps are in order but YMMV. Please fork and fix if you find an error.

Install Python 2.7.2

brew install python

Check your env

$ python --version
Python 2.7.2

$ type python
python is /usr/local/bin/python

$ file /usr/local/bin/python
/usr/local/bin/python: Mach-O 64-bit executable x86_64

$ brew --version
0.8.1

Install Cairo

brew install cairo

Instally py2cairo [CRAZY TRAIN]

git clone git://git.cairographics.org/git/py2cairo
# Open wscript and below `env = ctx.env` add `env.append_unique('CFLAGS', ['-arch', 'x86_64'])`

python waf clean

export PATH=/usr/local/Cellar/python/2.7.2/bin:$PATH
export PYTHONPATH=/usr/local/Cellar/python/2.7.2
export LD_LIBRARY_PATH=/usr/local/Cellar/python/2.7.2:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/Cellar/python/2.7.2/lib:$LD_LIBRARY_PATH
export LINKFLAGS='-search_dylibs_first -L /usr/local/Cellar/python/2.7.2/lib/'
export ARCHFLAGS='-arch x86_64'
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig

python waf configure
python waf build
python waf install

Install Graphite and Dependencies

pip install carbon
pip install whisper
pip install django
pip install django-tagging
pip install graphite-web

Create default database

cd /opt/graphite/webapp/graphite
sudo python manage.py syncdb
sudo chown -R nobody:nobody /opt/graphite/storage/

Move example configs

cd /opt/graphite/conf
cp storage-schemas.conf.example storage-schemas.conf
cp carbon.conf.example carbon.conf

Carbon scripts are installed in /opt/graphite/bin

Start carbon

cd /opt/graphite/bin
sudo python carbon-cache.py start

Edit Graphite settings.py - include the following at the bottom

DATABASES = {
   'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'demo1',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

Create DB - Answer no to super users

cd /opt/graphite/webapp/graphite/
sudo python ./manage.py syncdb

Start Graphite

sudo python ../../bin/run-graphite-devel-server.py /opt/graphite

Hope like hell it works

http://localhost:8080

If it works correclty you should see a black image with "No Data" in the Graphite Composer. If you see a broken image, it's probably something to do with py2cairo and cairo.

http://graphite.wikidot.com/quickstart-guide

@BenHall
Copy link
Author

BenHall commented Sep 6, 2012

Because it's OSX, I also had to use brew to install and use Python 2.7.3.

Then had to modify sudo vim /usr/local/bin/django-admin.py to use the brew python and not the default

!/usr/local/bin/python

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment