How to view graphite graphs on ui?

596 views Asked by At

Earlier I was using Ganglia to monitor a bunch of nodes but now we are moving to Graphite and will be using RRDtool as our storage engine. I have build all graphite related files from source and can start carbon and graphite daemons. But how can I view these graphs on the ui?

3

There are 3 answers

0
erbdex On BEST ANSWER

This is a very broad question. Nevertheless-

Graphite stack is made up of three parts-

  1. Carbon (aggregation tool)
  2. Whisper (sqlite3 based RRD)
  3. 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.

0
Vamsi Krishna On

You could try the recent development version of graphite with ceres TSDB.

ceres ; Ceres is known to have a superior performance and lower storage area compared to whisper DB.

0
tombaldwin67 On

Other than using the built-in graphite-web as @erbdex described, you can also try Grafana, which is an open source dashboarding software. Grafana can pull in data from graphite (and also other backends).

Or also AppsDash, which can also do alerting, but not open source. AppsDash speaks graphite (and statsd) protocols.