====== 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;
}
}