====== carbon, graphite and grafana ====== ===== carbon ===== 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 [carbon] pattern = ^carbon\. retentions = 60:90d [default] 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 done ===== graphite-web ===== web interface apt-get install graphite-web adjust SECRET_KEY (with random string) and TIME_ZONE in ///etc/graphite/local_settings.py// # choose user and password graphite-manage syncdb chown _graphite:_graphite /var/lib/graphite/graphite.db #python /usr/lib/python2.7/dist-packages/graphite/manage.py syncdb ==== apache ==== 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 ==== nginx ==== apt install nginx uwsgi uwsgi-plugin-python [uwsgi] vacuum = true master = true processes = 2 pidfile = /tmp/uwsgi.pid 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/local_settings.py 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; } }