Comment installer Graphite, la solution Open Source pour la métrologie.
Graphite est un système dédié au stockage et à la visualisation de métriques en tous genres. Il est écrit en langage Python.
Cette installation de Graphite essaie de minimiser les droits requis pour faire fonctionner Graphite (pas de root) et essaie d’être la plus légère possible; d’où le choix de Chaussette plutôt qu’Apache2.
Cette installation a été validée pour Ubuntu 13.04 et Ubuntu LTS 14.04.
Installation des dépendances requises pour Graphite.
Nous installons un environnement de «build» minimal orienté Python bien sûr.
sudo apt-get install build-essential python-dev python-pip python-virtualenv libffi-dev libcairo2
Préparation de l’environnement
Nous installons l’ensemble dans un environnement virtuel Python. Il faut donc naturellement commencer par l’initialisation de cet environnement.
sudo mkdir /opt/graphite
sudo chown -R $USER:$USER /opt/graphite
virtualenv /opt/graphite
source /opt/graphite/bin/activate
cd $VIRTUAL_ENV
Installation des composants Graphite
Maintenant que nous sommes dans un environnement virtuel activé, nous pouvons procéder à l’installation de Graphite à proprement parlé, et ce avec les droits de l’utilisateur connecté.
pip install 'Twisted<12.0'
pip install django==1.4.9 django-tagging
pip install carbon
pip install whisper
pip install graphite-web
Installation de la librairie Cairo pour les graphes dans l’interface web.
pip install cairocffi
cd $VIRTUAL_ENV/lib/python2.7/site-packages/
ln -s cairocffi cairo
Django a besoin d’un serveur web applicatif «WSGI
» pour fonctionner. Nous avons choisi Chaussette pour sa légéreté et parce qu’il est lui-ême écrit en Python.
pip install meinheld
pip install chaussette
Configuration de Graphite
Juste la configuration minimale pour que Graphite fonctionne. D’abord la configuration pour l’interface web.
cd $VIRTUAL_ENV/webapp/graphite
cp local_settings.py.example local_settings.py
python manage.py syncdb
Vous pouvez pour une installation minimale décider de ne pas installer le système d’autorisation de Graphite Web. L’installation reste opérationnelle mais non sécurisée côté interface web.
Et ensuite, tous les fichiers de configuration pour Graphite, que nous laissons aux valeurs par défaut.
cd $VIRTUAL_ENV/conf
for f in *.conf.example; do mv "$f" "${f//.conf.example/.conf}"; done
for f in *.wsgi.example; do mv "$f" "${f//.wsgi.example/.wsgi}"; done
ln -s $VIRTUAL_ENV/conf/graphite.wsgi $VIRTUAL_ENV/webapp/wsgi.py
Démarrage de Graphite
Pour génèrer ses propres métriques et accepter des métriques d’outils tierces, il faut démarrer à minima carbon-cache
en écoute sur le réseau.
$VIRTUAL_ENV/bin/carbon-cache.py start
Lancement du serveur web
cd $VIRTUAL_ENV/webapp
chaussette --host 0.0.0.0 --backend meinheld wsgi.application
Vérification de l’installation en se connectant sur http://localhost:8080
.
Vous n’avez pas besoin d’envoyer des données pour vérifier votre installation basique. Graphite en génère pour sa propre supervision. Elles suffisent à valider l’installation.
Votre installation est prête à fonctionner. Ne reste plus qu’à envoyer des métriques à Graphite!