Work on TP2

This commit is contained in:
nemunaire 2016-09-15 02:46:46 +02:00
commit b171ee869d
10 changed files with 290 additions and 136 deletions

View file

@ -1,73 +1,50 @@
\newpage
# Rendu
## Avis
Dans le courriel que vous enverrez, je serais ravi de connaître votre avis sur
ce cours : aussi bien les choses que vous avez apprécié que celles que vous
n'avez pas aimés.
Cela ne rentrera pas en compte dans la notation, mais permettra d'améliorer ce
cours.
## TP
Rendez le contenu de votre dossier à la dernière étape du TP : avec le
`docker-compose.yml`, ainsi que vos `Dockerfile` et les éventuels fichiers
annexes.
Rendu
=====
## Projet
De la même manière que nous avons réaliser un groupe de conteneurs utilisant
`grafana` et `InfluxDB`, qui permet d'afficher facilement des métriques sous
forme de graphiques, vous allez réaliser, à l'aide des images Docker présentent
sur le hub, une interface web de recherche et de visualisation de logs,
utilisant
[Kibana](https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-4-on-ubuntu-14-04).
Amusez-vous à la piscine, il n'y a pas de projet en plus des exercices fait en
TP !
Toutes la chaîne d'image Docker est déjà présente sur le hub :
[logstash](https://hub.docker.com/_/logstash/),
[elasticsearch](https://hub.docker.com/_/kibana/),
[kibana](https://hub.docker.com/_/kibana/).
En complément de ce TP, vous pouvez jetez un œil à
[https://docs.docker.com/engine/swarm](Docker Swarm) !
Le but du projet est donc de réaliser un `docker-compose.yml` permettant
d'avoir un système de centralisation de logs fonctionnels. Vous aurez sans
doute à faire quelques adaptations au niveau des images Docker, au moins pour
des fichiers de configuration, donc il n'y aura sans doute pas que ce fichier à
rendre.
Vous pouvez utiliser comme source de logs les conteneurs du TP, grâce aux
options `log-driver=gelf` et `log-opt=gelf-address=udp://host:port`, passées
aux `docker run` (ou dans le `docker-compose`).
## Modalité de rendu
Côté `logstash`, votre configuration devrait ressembler à ça :
Un service automatique s'occupe de réceptionner vos rendus, de faire les
vérifications nécessaires et de vous envoyer un accusé de réception (ou de
rejet).
Ce service écoute sur l'adresse <virli@nemunai.re>, c'est donc à cette adresse
et exclusivement à celle-ci que vous devez envoyer vos rendus. Tout rendu
envoyé à une autre adresse et/ou non signé ne sera pas pris en compte.
## Tarball
Tous les fichiers identifiés comme étant à rendre pour ce TP sont à
placer dans une tarball (pas d'archive ZIP, RAR, ...).
Les réponses aux questions sont à regrouper dans un fichier `questions.txt` à
placer à la racine de votre rendu.
Voici une arborescence type:
```
input {
tcp {
port => 4242
}
udp {
port => 4242
}
}
output {
elasticsearch { }
}
login_x-TP2/questions.txt
login_x-TP2/docker-compose.yml
login_x-TP2/influxdb
login_x-TP2/influxdb/Dockerfile
login_x-TP2/influxdb/influxdb.conf
login_x-TP2/chronograf
login_x-TP2/chronograf/Dockerfile
login_x-TP2/chronograf/chronograf.conf
login_x-TP2/mymonitoring
login_x-TP2/mymonitoring/Dockerfile
login_x-TP2/mymonitoring/chronograf.conf
login_x-TP2/mymonitoring/influxdb.conf
login_x-TP2/mymonitoring/supervisor.conf
```
Vous pourrez ainsi envoyez les logs de Docker sur le port 4242. Ou directement
vos logs syslog :
```
netcat localhost 4242 < /var/log/syslog
```
N'oubliez pas de lire les README associés aux images Docker du hub, ils vous
indiqueront comment utiliser les images et comment leur passer des paramètres.
Bon courage !