Skip to content

Instantly share code, notes, and snippets.

@relaxdiego
Forked from surjikal/graphite.md
Last active January 5, 2022 09:07
Show Gist options
  • Save relaxdiego/7539911 to your computer and use it in GitHub Desktop.
Save relaxdiego/7539911 to your computer and use it in GitHub Desktop.
Installing Graphite in OS X Mavericks

Follow these steps to install graphite on OS X Mavericks.

Prerequisites

  • Homebrew
  • Python 2.7
  • Git

Install dependencies

Install Cairo and friends

brew install cairo
brew install py2cairo

Install Django

pip install Django==1.5
pip install django-tagging

Install Graphite

sudo pip install carbon
pip install whisper
sudo pip install graphite-web
sudo pip install Twisted==11.1.0 

sudo chown -R <your username>:staff /opt/graphite

Configure graphite

cp /opt/graphite/conf/carbon.conf{.example,}
cp /opt/graphite/conf/storage-schemas.conf{.example,}

Create default database

cd /opt/graphite/webapp/graphite

# Modify this file to change database backend (default is sqlite).
cp local_settings.py{.example,}

# Initialize database
python manage.py syncdb

Start carbon

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

Start Graphite

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

Hope that it works!

Go to:

http://localhost:8080

You should see this if it works properly:

bacon

If you get a broken image, it most likely means that something is wrong py2cairo and cairo.

Check the debug output here:

http://localhost:8080/render

Optional convenience aliases

Add this to your .bashrc or .bash_profile:

alias carbon='python /opt/graphite/bin/carbon-cache.py'
alias graphite-web='python /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite'

Additional resources

@spinlock99
Copy link

thanks @kalw that fixed graphite. Looks like I still might need to fix cairo because I'm seeing a broken image in Graphite rather than the blank graph but this is progress :)

@foovungle
Copy link

I also had to specify
pip install django-tagging==0.3.6

@fgbreel
Copy link

fgbreel commented Oct 19, 2015

Thanks @slowenthal, I had the same problem with the huge fonts!

But with the 1.12.6 version /render gives me HTTP 500.

This one worked for me: 1.14.0

 git checkout e78bed9 /usr/local/Library/Formula/cairo.rb

@luckykurhe
Copy link

@slowenthal / @fgbreel:
I am running into same issue (Mac OS 10.10.5)
while trying to go back to old version, versions command itself is not supported now, any idea on how to resolve it

$ brew versions cairo
Error: The versions command is no longer supported.
You can use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
Or use brew log to browse the git history.

$ brew tap homebrew/boneyard
Warning: Already tapped!

$ brew versions cairo
Error: The versions command is no longer supported.
You can use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
Or use brew log to browse the git history.

$ brew tap homebrew/versions
Warning: Already tapped!

$ brew versions cairo
Error: The versions command is no longer supported.
You can use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
Or use brew log to browse the git history.

$

@fgbreel
Copy link

fgbreel commented Nov 10, 2015

@luckyhurhe, just run this:

git checkout e78bed9 /usr/local/Library/Formula/cairo.rb

and then

brew install cairo

@mr-fixit
Copy link

mr-fixit commented Mar 3, 2016

I got to the step of python manage.py syncdb and was told:

Unknown command: 'syncdb'
Type 'manage.py help' for usage.

I found that python manage.py migrate --run-syncdb did the trick.

For reference, here are the versions involved:

$ python manage.py --version
1.9.3
$ python --version
Python 2.7.10

@MaxGabriel
Copy link

I needed django-tagging==0.3.6 as others have mentioned. I also needed to install zope.interface with sudo easy_install zope.interface.

@reinhack
Copy link

in my /opt/graphite/ folder there's no webapp folder... does anyone know what might cause it?

@geeves
Copy link

geeves commented Oct 25, 2016

This was a lot of help, thanks! These instructions also work as well for El Capitan.

  • Used MaxGabriel's suggestion of django-tagging and zope.intertace.
  • Install cairocffi: pip install cairocffi - Graphite will run without it, but none of your graphs will render (they'll be broken images).

I have it setup to run with Cassandra and Grafana and also followed much of the .ini and .conf setup from this article https://www.pythian.com/blog/monitoring-apache-cassandra-metrics-graphite-grafana/

@dabidgs3
Copy link

Great contributions - for those ones struggling with database sync there is a missing version : sudo pip install django-tagging==0.3

@drewish
Copy link

drewish commented Apr 6, 2017

I needed to add sudo to the Django setup commands

@skabbit
Copy link

skabbit commented May 19, 2017

Current way to have graphite running I've found is to update the following command:

pip install django-tagging==0.3.6
pip install Django==1.8
/opt/graphite/venv/graphite/lib/python2.7/site-packages/django/bin/django-admin.py syncdb --settings=graphite.settings --pythonpath /opt/graphite/webapp

NOTE: Use your path to venv

But still I have problems with serving static files...

@jdrain
Copy link

jdrain commented Jun 9, 2017

I'm having issues with the "Create Default Database" step... There is no such file manage.py in the directory /opt/graphite/webapp/graphite

Anyone have an idea why this is the case/if there is a work around?

@jeffnelson
Copy link

@jdrain - I'm having the same issue. you found any answers?

@amarjitdhillon
Copy link

I am also having same issue on mac , there is no manage.py in /opt/graphite

please help

@siddhartha-chandra
Copy link

@odd-snail @jeffnelson @jdrain
per my understanding the --run-syncdb option allows for creating the default schema and tables

This worked for me:
django-admin migrate --pythonpath /opt/graphite/webapp --settings graphite.settings --run-syncdb

@siddhartha-chandra
Copy link

siddhartha-chandra commented Dec 7, 2017

btw any idea what are the default credentials to access the Login page of Graphite? I have started the server with the default sqlite3 backend and unable to get authenticated in the login section

@sunfeng90
Copy link

Good job

@ank29
Copy link

ank29 commented Jul 11, 2018

python manage.py syncdb

Where should I run this command from ?
I am getting the following exception : /usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'manage.py': [Errno 2] No such file or directory

@pchychi-blox
Copy link

ank29, dont bother running it from local

use below as siddhartha-chan suggested:
django-admin migrate --pythonpath /opt/graphite/webapp --settings graphite.settings --run-syncdb

@nikhil133
Copy link

Can any one help me to configure remote graphite.
or is there any way to have carbon-relay-ng in mac

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