×

Installation de graphite sur Debian Jessie 8

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

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

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