graphite-web python

A highly scalable real-time graphing system

Overview

Graphite consists of two major components

  1. the frontend Django webapp that runs under mod_python Apache
  2. the backend carbon-cache.py daemon

Client applications connect to the running carbon-cache.py daemon on port 2003 and send it lines of text of the following format:

my.metric.name value unix_timestamp

For example:

performance.servers.www01.cpuUsage 42.5 1208815315

The metric name is like a filesystem path that uses . as a separator instead of / The value is some scalar integer or floating point value The unix_timestamp is unix epoch time, as an integer

Each line like this corresponds to one data point for one metric.

Once you’ve got some clients sending data to carbon-cache, you can view graphs of that data in the frontend webapp.

Webapp Installation

Use the instructions in the INSTALL file.

Running carbon-cache.py

First you must tell carbon-cache what user it should run as. This must be a user with write privileges to $GRAPHITE_ROOT/storage/whisper/ Specify the user account in $GRAPHITE_ROOT/carbon/conf/carbon.conf

This user must also have write privileges to $GRAPHITE_ROOT/storage/log/carbon-cache/

Writing a client

First you obviously need to decide what data it is you want to graph with graphite. The script examples/example-client.py demonstrates a simple client that sends loadavg data for your local machine to carbon on a minutely basis.

The default storage schema stores data in one-minute intervals for 2 hours. This is probably not what you want so you should create a custom storage schema according to the docs on the graphite wiki (http://graphite.wikidot.com)

Related Repositories

graphite-web

graphite-web

A highly scalable real-time graphing system ...

graphite-api

graphite-api

Graphite-web, without the interface. Just the rendering HTTP API. ...

Tattle

Tattle

Tattle is a lightweight self-service dashboards web-application for Graphite and Ganglia monitoring tools ...

graphite-influxdb

graphite-influxdb

An influxdb backend for Graphite-web and graphite-api ...

icingaweb2-module-grafana

icingaweb2-module-grafana

Grafana module for Icinga Web 2 (supports InfluxDB & Graphite) ...


Top Contributors

cdavis mleinart tmm1 obfuscurity carmelchas drawks Dieterbe brutasse SEJeff nleskiw bmhatfield jdugan1024 punnie esc gingerlime octplane whilp bitprophet katzj JoseCF dinomite statik jwoschitz jerith jordansissel magec coredump jgpaiva justino ickymettle

Releases

-   0.9.12 zip tar
-   0.9.11 zip tar
-   0.9.11-pre2 zip tar
-   0.9.11-pre1 zip tar
-   0.9.10 zip tar
-   0.9.10-pre5 zip tar
-   0.9.10-pre4 zip tar
-   0.9.10-pre3 zip tar
-   0.9.10-pre2 zip tar
-   0.9.10-pre1 zip tar
-   0.9.9 zip tar
-   0.9.8 zip tar
-   0.9.7c zip tar
-   0.9.6 zip tar
-   0.9.5 zip tar