1 - Installation

TP 1 : installation d’Elasticsearch, Kibana et Filebeat

Installer Elasticsearch avec Ansible

  1. Clonez le dépôt situé à cette adresse : https://github.com/Uptime-Formation/vagrant-ansible-elk
  2. Créez les VM avec vagrant up (il faut installer Vagrant et VirtualBox avant si ce n’est pas fait)
  3. Vagrant a de lui-même lancé ansible-playbook ping.yml, il teste donc qu’Ansible est bien configuré.
  4. Lancez ansible-playbook setup_elastic.yml. Les requirements sont installés ! Voyez les ok et changed apparaissant lorsque vous lancez le playbook : Ansible est verbeux, il informe de sa réussite.

Rappels Ansible :

  • Ansible peut être rejoué plusieurs fois (il est idempotent)
  • Ansible garantit l’état de certains éléments du système lorsqu’on le (re)joue
  • Ansible est (dès qu’on est un peu habitué-e) plus limpide que du bash

Configurer Elastic en cluster

  1. Observez le fichier templates/elasticsearch.yml.j2 : c’est modèle de fichier de configuration. Il contient des trous {{ ma_variable }} qui doivent être remplis par les variables du playbook

  2. Jouer le playbook complet.

  3. Lancez les commandes de diagnostic

  • curl http://192.168.2.2:9200/_cat/nodes?pretty
  • curl -XGET http://192.168.2.2:9200/_cluster/state?pretty
  • curl -XGET http://192.168.2.2:9200/_cluster/health?pretty

Si tout est bien configuré vous devriez voir une liste de deux nœuds signifiant que les deux elastic se « connaissent »

  • Pour ajouter un nouveau nœud !

    • ajoutez une nouvelle machine dans Vagrant
    • l’ajouter au fichier hosts.cfg dans le groupe elastic_nodes
    • ajoutez la nouvelle IP dans la variable elk_node_ips
  • relancer le playbook : #magic

Installer Kibana

  • Lancer : ansible-playbook setup_kibana.yml

  • Accéder à 192.168.2.4:5601 dans Firefox 😃

Installer Elasticsearch avec Docker Compose

`docker-compose.yml` :

Une stack complète Elastic et Filebeat avec Docker Compose

Récupérer la config Filebeat :

curl -L -O https://raw.githubusercontent.com/elastic/beats/7.10/deploy/docker/filebeat.docker.yml

Renommons cette configuration et rectifions qui possède ce fichier pour satisfaire une contrainte de sécurité de Filebeat :

mv filebeat.docker.yml filebeat.yml
sudo chown root filebeat.yml
sudo chmod go-w filebeat.yml
`docker-compose.yml` :