2015-10-22 03:25:20 +00:00
|
|
|
|
\newpage
|
|
|
|
|
|
2016-09-15 00:46:46 +00:00
|
|
|
|
Premières étapes
|
|
|
|
|
================
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-14 20:51:14 +00:00
|
|
|
|
Dans un premier temps, nous allons créer une image Docker comme si l'on
|
2021-09-23 00:55:18 +00:00
|
|
|
|
réalisait une installation sur une machine classique : en suivant une recette,
|
2017-10-15 20:49:27 +00:00
|
|
|
|
sans trop se préoccuper des fonctionnalités que propose Docker.
|
2016-09-15 02:27:59 +00:00
|
|
|
|
|
|
|
|
|
La machine (notre première image Docker) contiendra tout le nécessaire pour
|
|
|
|
|
faire fonctionner notre service de monitoring.
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-09-20 04:02:53 +00:00
|
|
|
|
## `RUN` ou script ?
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-08 01:44:20 +00:00
|
|
|
|
### InfluxDB
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-15 02:27:59 +00:00
|
|
|
|
Ensuite vient la suite d'instructions pour installer d'InfluxDB. Le paquet
|
2017-10-15 20:49:27 +00:00
|
|
|
|
n'est pas disponible dans les dépôts[^debrepos]. La
|
|
|
|
|
[procédure décrite du site](https://portal.influxdata.com/downloads) incite à
|
|
|
|
|
télécharger le paquet mis à disposition puis à l'installer via `dpkg -i`.
|
|
|
|
|
|
|
|
|
|
[^debrepos]: Le projet met à disposition des dépôts, si vous préférez cette
|
2022-09-20 04:02:53 +00:00
|
|
|
|
méthode, consultez-la
|
2018-10-03 08:56:13 +00:00
|
|
|
|
[documentation d'installation](https://docs.influxdata.com/influxdb/v1.6/introduction/installation/#ubuntu-debian).
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2021-09-23 00:55:18 +00:00
|
|
|
|
Deux solutions s'offrent à nous :
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
|
|
|
|
* télécharger le paquet hors du conteneur, le copier, puis l'installer.
|
|
|
|
|
* faire un `RUN` avec toutes ces opérations (sans oublier l'installation
|
|
|
|
|
préalable de `wget`/`curl`).
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-14 20:51:14 +00:00
|
|
|
|
La copie étant définitive (supprimer le fichier ne le supprimera pas des
|
2022-09-20 04:02:53 +00:00
|
|
|
|
couches où il a pu exister), on préférera la seconde méthode, bien que `wget`
|
2016-09-15 02:27:59 +00:00
|
|
|
|
restera en déchet. La première méthode aura plus sa place dans un dépôt de
|
|
|
|
|
projet où les binaires auront été préalablement compilés, il ne restera plus
|
|
|
|
|
qu'à les copier dans le conteneur au bon emplacement.
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-15 00:46:46 +00:00
|
|
|
|
Écrivons une commande `RUN` qui va télécharger la dernière version
|
|
|
|
|
d'InfluxDB, qui va l'installer et supprimer le fichier.
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-08 01:44:20 +00:00
|
|
|
|
\vspace{1em}
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-15 02:27:59 +00:00
|
|
|
|
À ce stade, nous pouvons déjà terminer le conteneur (`EXPOSE`, `CMD`, ...) et
|
|
|
|
|
[tester](http://localhost:8083) qu'InfluxDB est bien utilisable.
|
2016-09-14 20:51:14 +00:00
|
|
|
|
|
|
|
|
|
Il est possible que vous ayez à écraser le fichier de configuration via un
|
2016-09-15 00:46:46 +00:00
|
|
|
|
`COPY` (ou de manière plus maligne en utilisant `--volume` au moment du `docker
|
2022-09-20 04:02:53 +00:00
|
|
|
|
run`, cela ne fonctionne pas qu'avec les dossiers !). Ou peut-être ferez-vous
|
|
|
|
|
un `ENTRYPOINT` ?
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
|
|
|
|
|
2016-09-15 02:27:59 +00:00
|
|
|
|
### `telegraf`
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
2016-09-15 02:27:59 +00:00
|
|
|
|
`telegraf` est un programme qui permet de collecter des métriques systèmes. Il
|
|
|
|
|
travaille de paire avec InfluxDB, qu'il utilise pour stocker les valeurs
|
|
|
|
|
relevées.
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
|
|
|
|
Vous pouvez monitorer les métriques de n'importe quelle machine, simplement en
|
2016-09-15 02:27:59 +00:00
|
|
|
|
installant `telegraf` et en lui indiquant l'emplacement de son serveur
|
|
|
|
|
InfluxDB. Nous allons installer `telegraf` sur notre machine à l'aide de la
|
2018-10-03 08:56:13 +00:00
|
|
|
|
[documentation](https://docs.influxdata.com/telegraf/v1.8/introduction/installation/).
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
|
|
|
|
Ces quelques lignes devraient suffir à lancer la collecte, à condition que
|
2021-09-23 00:55:18 +00:00
|
|
|
|
votre InfluxDB écoute sur le port 8086 local :
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
|
<div lang="en-US">
|
2016-09-15 00:46:46 +00:00
|
|
|
|
```bash
|
2018-11-16 01:38:41 +00:00
|
|
|
|
TELEGRAF_VERSION=1.8.0
|
|
|
|
|
wget https://dl.influxdata.com/telegraf/releases/telegraf-${TELEGRAF_VERSION}_linux_amd64.tar.gz
|
|
|
|
|
tar xf telegraf-${TELEGRAF_VERSION}_linux_amd64.tar.gz
|
|
|
|
|
TELEGRAF_CONFIG_PATH=./telegraf/etc/telegraf/telegraf.conf ./telegraf/usr/bin/telegraf
|
2016-09-15 00:46:46 +00:00
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
|
</div>
|
2016-09-15 00:46:46 +00:00
|
|
|
|
|
2016-09-15 02:27:59 +00:00
|
|
|
|
Rendez-vous ensuite dans [l'interface d'InfluxDB](http://localhost:8083/) pour
|
2016-09-15 00:46:46 +00:00
|
|
|
|
voir si la collecte se passe bien.
|
|
|
|
|
|
2021-09-23 00:55:18 +00:00
|
|
|
|
Dans l'interface sélectionnez la base `telegraf` puis explorez les valeurs :
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2017-10-17 06:29:07 +00:00
|
|
|
|
<div lang="en-US">
|
2016-09-15 00:46:46 +00:00
|
|
|
|
```sql
|
2018-11-16 01:38:41 +00:00
|
|
|
|
SHOW MEASUREMENTS
|
|
|
|
|
SHOW FIELD KEYS
|
|
|
|
|
SELECT usage_idle FROM cpu WHERE cpu = 'cpu-total' ORDER BY time DESC LIMIT 5
|
2016-09-15 00:46:46 +00:00
|
|
|
|
```
|
2017-10-17 06:29:07 +00:00
|
|
|
|
</div>
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-15 00:46:46 +00:00
|
|
|
|
Laissons tourner `telegraf` afin de constituer un petit historique de valeurs.
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
|
|
|
|
|
2018-11-16 01:38:41 +00:00
|
|
|
|
## Rendu {-}
|
2015-10-22 03:25:20 +00:00
|
|
|
|
|
2016-09-15 02:27:59 +00:00
|
|
|
|
Avant de passer à la suite, placez votre `Dockerfile` et les éventuels fichiers
|
|
|
|
|
annexes dans un dossier `influxdb`.
|