This is a very broad question. Nevertheless-
Graphite stack is made up of three parts-
- Carbon (aggregation tool)
- Whisper (sqlite3 based RRD)
- Graphite-web (django based webapp)
It is Graphite web that is going to display the graphs by reading the directory tree of whisper. By default, the stack seamlessly installs itself at /opt/graphite
with /opt/graphite/storage/whisper
being the default location of the RRD directory tree.
Another thing you have to do is that you need to make an entry into your webserver's virtualhost area. If you are using apache, you can do something like-
<IfModule !wsgi_module.c>
LoadModule wsgi_module modules/mod_wsgi.so
</IfModule>
# XXX You need to set this up!
# Read http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix
WSGISocketPrefix run/wsgi
<VirtualHost *:80>
ServerName 54.28.2.2
DocumentRoot "/opt/graphite/webapp"
ErrorLog /opt/graphite/storage/log/webapp/error.log
CustomLog /opt/graphite/storage/log/webapp/access.log common
WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
WSGIProcessGroup graphite
WSGIApplicationGroup %{GLOBAL}
WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL}
WSGIScriptAlias / /opt/graphite/conf/graphite.wsgi
Alias /content/ /opt/graphite/webapp/content/
<Location "/content/">
SetHandler None
</Location>
Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/"
<Location "/media/">
SetHandler None
</Location>
<Directory /opt/graphite/conf/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
In most cases, this is all the customization that is required to setup the stack. i recommend you take a look at some git gists on your architecture and distribution.