carbon, graphite and grafana

install carbon-cache service

apt-get install graphite-carbon

enable boot startup in /etc/default/graphite-carbon

enable ENABLE_LOGROTATION in /etc/carbon/carbon.conf

extend retentions

pattern = ^carbon\.
retentions = 60:90d
pattern = .*
retentions = 30s:7d,5m:30d,10m:1y,1d:10y

after changing *schemas.conf older *wsp has to be changed with whisper-resize

for i in `find /var/lib/graphite/whisper/ha/ -name "*wsp"`; do 
 whisper-resize $i  30s:7d 5m:30d 10m:1y 1d:10y

web interface

apt-get install graphite-web

adjust SECRET_KEY (with random string) and TIME_ZONE in /etc/graphite/

# choose user and password
graphite-manage syncdb
chown _graphite:_graphite /var/lib/graphite/graphite.db
#python /usr/lib/python2.7/dist-packages/graphite/ syncdb
sudo apt-get install apache2 libapache2-mod-wsgi
sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available
sudo a2ensite apache2-graphite
apt install nginx uwsgi uwsgi-plugin-python
vacuum = true
master = true
processes = 2
pidfile = /tmp/
socket = /tmp/uwsgi.sock
chmod-socket = 666
gid = _graphite
uid = _graphite
chdir = /usr/share/graphite-web
wsgi-file = graphite.wsgi
pymodule-alias = graphite.local_settings=/etc/graphite/
buffer-size = 65536
plugin = python
systemctl restart uwsgi
upstream graphite {
    server unix:///tmp/uwsgi.sock;
server {
    listen 9002;
    server_name localhost;
    access_log /var/log/nginx/graphite-access.log;
    error_log /var/log/nginx/graphite-error.log;
    root /usr/share/graphite-web/static;
    location / {
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Methods "GET, OPTIONS";
        add_header Access-Control-Allow-Headers "origin, authorization, accept";
        uwsgi_pass graphite;
        include /etc/nginx/uwsgi_params;
    location /media {
        # This makes static media available at the /media/ url.  The
        # media will continue to be available during site downtime,
        # allowing you to use styles and images in your maintenance page.
        alias /usr/lib/python2.7/dist-packages/django/contrib/admin/media;
  • projects/internetofthings/graphite.txt
  • Last modified: 2017/11/18 08:36
  • by scipio