User Tools

Site Tools


graphite_on_debian

This is an old revision of the document!


Installing Graphite for use with NAV on Debian

This is a short guide to installing and configuring a Graphite installation dedicated to NAV on a Debian Wheezy-based server.

Getting Graphite

A full Graphite setup consists of the Carbon backend server, which receives metrics over TCP or UDP, and a Graphite web frontend, which enables browsing and retrievial/rendering of the stored metrics. NAV will collect metrics and send to the former, while utilizing the latter to retrieve metrics and render graphs.

The Debian package graphite-carbon is present in the official Debian Wheezy distribution, but because of licensing issues, the graphite-web package did not make it into Wheezy in time. It is only available for the testing and unstable Debian distributions. If you have followed the instructions from nav_on_debian, you will find a version of the graphite-web package that has been backported to Wheezy by us:

$ apt-cache policy graphite-web              
graphite-web:
  Installed: (none)
  Candidate: 0.9.12-0uninett1~bpo70+1
  Version table:
     0.9.12-0uninett1~bpo70+1 0
        500 https://nav.uninett.no/debian/ wheezy/navbeta amd64 Packages

Assuming you will be running Graphite on the same Debian server as you are running NAV, all you need to do to install Graphite is:

apt-get install graphite-carbon graphite-web

Configuring Carbon

Carbon, the metric-receiving backend of Graphite, must be configured before it can be used with NAV. We will only be covering the simple case of using the carbon-cache daemon. Most of this information is lifted from the NAV installation documentation.

Edit /etc/carbon/carbon.conf to ensure these options are set in the [cache] section:

MAX_CREATES_PER_MINUTE = inf
ENABLE_UDP_LISTENER = True

The first line ensures that Carbon will not delay creating Whisper backend files for the metrics NAV sends it. The default setting is a maximum of 50 creates per minute (the setting exists to limit I/O strain on huyge setups), which means that when bootstrapping a NAV installation, hours to days can pass before all its metrics are being actually stored in Graphite.

The second line ensures that Carbon accepts metrics on a UDP socket, which is required by NAV.

Carbon also needs to know the resolution at which to store your time-series data, for how long to store it, and how to roll up data from high resolution data archives to lower resolution archives. These are the storage schemas and aggregation methods. NAV provides its own config examples for this; on a Graphite backend dedicated to NAV, you can simply symlink these config files from NAV:

ln -s /etc/nav/graphite/*.conf /etc/carbon/

Finally, you will need to make sure the Carbon backend is automatically started at boot time, and then start it manually the first time:

sed -e 's/^CARBON_CACHE_ENABLED\b.*$/CARBON_CACHE_ENABLED=true/g' -i /etc/default/graphite-carbon
service carbon-cache start
graphite_on_debian.1396957633.txt.gz · Last modified: 2014/04/08 11:47 by morten