Pour l'installation de Graphite, j'ai privilégié une distribution debian 8.7. L'installation sera facile à réaliser avec des paquets stables.
2 - Installation du système
L'installation se fera sur une VM Debian très basique et minimal (juste l'option serveur ssh). Par défaut, j'utilise un user vmdebian et j'installe les VMware Tools pour adapter au mieux ma VM à VMware Fusion. Configurez l'interface réseau avec l'adresse IP 172.16.209.106 conformément au schéma de la maquette.
Configuration réseau /etc/network/interfaces
# The primary network interface allow-hotplug eth0 iface eth0 inet static address 172.16.209.106 netmask 255.255.255.0 gateway 172.16.209.2Installation des VMware Tools pour Fusion
apt-get install autoconf gcc make psmisc linux-headers-$(uname -r) mount /dev/cdrom /media/cdrom tar xzf /media/cdrom/VMwareTools*.tar.gz -C /tmp cd /tmp/vmware-tools-distrib ./vmware-install.pl --default --force-install
3 - Installation de Graphite
Dans un premier temps nous allons installer l'application Graphite et le démon Carbon.
apt-get install graphite-web graphite-carbon
L'installation est terminée. La configuration de Graphique nécessite l'utilisation d'une base de données. Par défaut c'est SQLite qui est utilisé mais il est possible d'utiliser d'autres bases de données SQL qui nécessitera une modification de la configuration.
Maintenant, nous devons configurer notre base de données et créer notre super utilisateur de notre interface.
Maintenant, nous devons configurer notre base de données et créer notre super utilisateur de notre interface.
graphite-manage syncdb
Répondez aux quelques questions.
Would you like to create one now? (yes/no): yes System check identified some issues: WARNINGS: ?: (1_6.W001) Some project unittests may not execute as expected. HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information. Username (leave blank to use 'root'): admin Email address: user@localhost Password: Password (again): Superuser created successfully.
3.1 Configuration de Carbon
Nous indiquerons au démon de démarrer automatiquement. Modifiez le fichier /etc/default/graphite-carbon.
# Change to true, to enable carbon-cache on boot CARBON_CACHE_ENABLED=True
Nous pouvons activer la rotation de logs en modifiant le fichier /etc/carbon/carbon.conf.
# Enable daily log rotation. If disabled, a kill -HUP can be used after a manual rotate ENABLE_LOGROTATION = True
Si vous avez beaucoup de graphique à initialiser, vous pouvez augmenter la valeur MAX_CREATES_PER_MINUTE qui est à 50 graphes/minutes par défaut.
MAX_CREATES_PER_MINUTE = 200
3.1a Spécification de la durée de rétention des métriques et du niveau de détail
Nous allons adapter la durée de rétention des métriques et le niveau de détail avec ce fichier /etc/carbon/storage-schemas.conf. Entre les deux blocs par défaut, ajoutez ce filtre.
[centreon] pattern = ^centreon\. retentions = 60s:1d, 20m:30d, 1h:1y
Nous prendrons une première valeur toutes les minutes pendant une journée puis ces données seront agrégées et nous garderons une donnée toutes les vingt minutes pendant 30 jours pour finir à une donnée toutes les heures pendant un an. Pour la configuration de l'agrégation, nous devons copier le fichier exemple.
cp /usr/share/doc/graphite-carbon/examples/storage-aggregation.conf.example /etc/carbon/storage-aggregation.conf
Pour finir, nous devons relancer le démon Carbon pour prendre en compte ces modifications.
service carbon-cache restart
Vous pouvez vérifier si le démon écoute bien le port 2003 qui nous servira à la connexion avec Centreon.
netstat -an | grep 2003résultat de la commande
tcp 0 0 0.0.0.0:2003 0.0.0.0:* LISTEN
3.2 Configuration de Graphite
Nous devons adapter le serveur Apache pour Graphite. Installer les paquets suivants.
apt-get install apache2 libapache2-mod-wsgi
Nous allons modifier la page d'accueil par défaut pour pointer sur l'application graphite.
a2dissite 000-default cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available a2ensite apache2-graphite service apache2 reload
Modifions le fuseau horaire. Editez le fichier /etc/graphite/local_settings.py
TIME_ZONE = 'Europe/Paris'
Connectez-vous sur l'interface de Graphite avec cette url http://172.16.209.106/
Le but de cet article n'étant pas de faire de la littérature sur Graphite mais d'interfacer Centreon avec Graphite, je vous laisse le soin de lire les nombreux articles sur ce sujet. Continuons par la configuration de Centreon.
3.3 Pour aller plus loin
Les articles sur le Web qui m'ont servi :
- Graphite – les bases
- Supervision d’applications : installation de Graphite
- Graphite – les bases
- Supervision d’applications : installation de Graphite