HowtoGraphite.md
This commit is contained in:
parent
9e2f0ee90c
commit
70cd6d89d7
82
HowtoGraphite.md
Normal file
82
HowtoGraphite.md
Normal file
|
@ -0,0 +1,82 @@
|
|||
---
|
||||
categories: databases
|
||||
title: Howto Graphite
|
||||
...
|
||||
|
||||
* Documentation : <http://graphite.readthedocs.io/en/latest/>
|
||||
|
||||
Graphite est un système de base de donnée en série temporelle (ou time series database (TSDB)). Il gère la collecte, le stockage et l'affichage des données.
|
||||
|
||||
Il est découpé en 3 composants principaux :
|
||||
* carbon : Le daemon d'ingestion des donénes
|
||||
* whisper : Le système de base de donnée (similire au RRD)
|
||||
* graphite-webapp : Une application web (Python/Django) pour l'afficage/génération de graphes
|
||||
|
||||
## Installation
|
||||
|
||||
~~~
|
||||
# apt install graphite-web graphite-carbon
|
||||
~~~
|
||||
|
||||
## Configuration
|
||||
|
||||
### Carbon
|
||||
|
||||
Le fichier le plus intéréssant est probablement `/etc/carbon/storage-schemas.conf` car il va définir notament les durées de rétention des données stoquées avec whisper.
|
||||
|
||||
Exemple si on souhaite appliquer la politique de rétention suivante à toute les données :
|
||||
|
||||
* 1 point toutes les 60 secondes pendant un jour
|
||||
* 1 point toutes les 5 minutes pendant 7 jours
|
||||
* 1 point toutes les 20 minutes pendant 1 mois
|
||||
* 1 point toutes les 1 heure pendant 2ans
|
||||
|
||||
~~~
|
||||
[default]
|
||||
pattern = .*
|
||||
retentions = 60s:1d, 5m:7d, 20m:1m, 1h:2y
|
||||
~~~
|
||||
|
||||
### WebApp
|
||||
|
||||
Le fichier de configuration de l'interface web se trouve dans `/etc/graphite/local_settings.py`.
|
||||
Les choses intéréssantes à modifier sont :
|
||||
|
||||
* SECRET_KEY (pour les cookies de CSRF)
|
||||
* TIME_ZONE
|
||||
* DATABASES (si vous ne souhaitez pas utiliser sqlite comme base de donnée pour l'interface web (comptes de l'interface))
|
||||
|
||||
|
||||
Après, pour que l'interface web de graphite puisse fonctionner, il faut initialiser la base de donnée et créer un premier utilisateur
|
||||
|
||||
~~~
|
||||
# graphite-manage migrate
|
||||
# graphite-manage migrate --run-syncdb
|
||||
# graphite-manage createsuperuser
|
||||
~~~
|
||||
|
||||
Il ne reste plus qu'a configurer le serveur web. Pour Apache2 on peut s'inspirer du fichier de conf fournit dans `/usr/share/graphite-web/apache2-graphite.conf`
|
||||
|
||||
|
||||
## Utilisation
|
||||
|
||||
|
||||
|
||||
## Tips
|
||||
|
||||
### Redimentionnement suite à un changement des règles de rétention
|
||||
|
||||
Après un changent de la politique de rétention des données dans `/etc/carbon/storage-schemas.conf`, il faut redimentionner les fichiers de données existant si on souhaite que la nouvelle politique s'y applique aussi.
|
||||
Il existe une commande `whisper-auto-resize` qui après s'occupe de tout le redimentionnement
|
||||
|
||||
~~~
|
||||
# whisper-auto-resize /var/lib/graphite/whisper/ /etc/carbon
|
||||
# chown _graphite: -R /var/lib/graphite/whisper/
|
||||
~~~
|
||||
|
||||
Par défaut, whisper-auto-resize ne fait que lister les fichiers qui seront modifiés et comment la rétention va changer.
|
||||
Pour le faire, il suffit de rajouter l'argument *--confirm* pour confirmer de manière interactive à chauqe fichiers. Ou avec *--doit* pour les personnes qui n'ont pas peur.
|
||||
|
||||
Il existe aussi une option *--subdir* pour ne ciber qu'une parties données.
|
||||
|
||||
**ATTENTION** : L'opération va changer le propriétaire des fichiers. Il ne faut pas oublier de chown après (avec \_graphite sur Debian)
|
Loading…
Reference in a new issue