Installation de graphite sur Debian Jessie 8
En parallèle de l installation de Shinken, j ai rencontré quelques souci pour installer graphite sous Debian, cela malgré les très bon tutoriaux qui existe déjà sur le net.
Je reprend donc tout cela en rajoutant les modifications que j ai du apporté afin de rendre le tout stable et fonctionnel.
Pré-requis
Une Debian 8 64 bit from scratch
Une sous domaine du style graphite.mondomaine.lan
et un peu de café
Installation
On commence par installer les paquets dont nous aurons besoin
apt-get install vim python-pip python-cairo python-django-tagging python-twisted python-memcache fontconfig apache2 libapache2-mod-wsgi
via pip qui est un gestionnaire de paquet python on installe les autres dépendances
pip install django
pip install zope.interface
pip install pytz
On passe maintenant a graphite
pip install https://github.com/graphite-project/ceres/tarball/master
pip install whisper
pip install carbon
pip install graphite-web
Il faut maintenant configurer le tout
cd /opt/graphite/conf
cp carbon.conf.example carbon.conf
cp storage-schemas.conf.example storage-schemas.conf
Mise en place du vhost
cd /opt/graphite
cp -a examples/example-graphite-vhost.conf /etc/apache2/sites-available/graphite.conf
cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
Editez le fichier /etc/apache2/sites-available/graphite.conf
Modifiez
WSGISocketPrefix run/wsgi
par
WSGISocketPrefix /var/run/wsgi
Puis modifiez
Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/"
en
Alias /media/ "/usr/share/pyshared/django/contrib/admin/media/"
remplacer le bloc de configuration :
<Directory /opt/graphite/conf/> Order deny,allow Allow from all </Directory>
par :
<Directory /opt/graphite/conf/> #Order deny,allow #Allow from all Options All AllowOverride All Require all granted </Directory> <Directory /opt/graphite/webapp> Options All AllowOverride All Require all granted </Directory>
Enfin remplacez
ServerName graphite
Par
ServerName grapithe.mondomaine.lan
il reste plus qu a activé le vhost
a2ensite graphite.conf
Il faut maintenant mettre des données et générer la base car pour le moment tout ce que vous obtiendrez c’est une belle erreur 500
cd /opt/graphite/webapp/graphite
python manage.py syncdb
Il va vous falloir créer un super utilisateur pour Django, il suffit de suivre les instructions
Il ne reste plus qu a mettre les bons droits et recharger apache
chown -R www-data:www-data /opt/graphite/storage
apache2ctl graceful
On lance le serveur qui collecte les données
/opt/graphite/bin/carbon-cache.py start
on vérifie qu il écoute bien
netstat -paunt | grep 2003
qui doit répondre
tcp 0 0 0.0.0.0:2003 0.0.0.0:* LISTEN 9196/python
Par contre au reboot on va tout perdre
le plus simple est de faire un cron au démarrage
crontab -e
et copiez cela dedans
@reboot /opt/graphite/bin/carbon-cache.py start
Avec cela nous sommes tranquille.
Tout vas bien on continue
Si vous regarder les logs de votre webapp dans
vim /opt/graphite/storage/log/webapp/error.log
Vous verrez ceci ;
opt/graphite/webapp/graphite/settings.py:244: UserWarning: SECRET_KEY is set to an unsafe default. This should be set in local_settings.py for better security
Pour résoudre cela on va faire un petit peu de configuration
cp /opt/graphite/webapp/graphite/local_settings.py.example /opt/graphite/webapp/graphite/local_settings.py
Éditez le fichier /opt/graphite/webapp/graphite/local_settings.py
Modifier la ligne
#SECRET_KEY = 'UNSAFE_DEFAULT'
en
SECRET_KEY = 'metcequetuveux'
On en profite pour changer le timezone
#TIME_ZONE = 'America/Los_Angeles'
en
TIME_ZONE = 'Europe/Paris'
Voila c est bon en vous rendant sur votre nom de domaine vous allez pouvoir voir le résultat.
Conclusion
Vous voila avec une installation de graphite fonctionnelle. J ai rencontré un souci avec mon cron pour relancer le daemon d’écoute au démarrage. Hésitez pas à verifier après un reboot que ce dernier est bien lancé.

Laisser un commentaire