Page tree
Skip to end of metadata
Go to start of metadata

Modifications majeures dans elasticsearch

Les modifications suivantes vont avoir un impact important sur les fonctionnalités utilisées dans Agimus :

  • Les données ne sont plus typées (https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html)
    L'ancienne organisation des données avec un index par jour et un type par origine de log n'est plus utilisable. La version 7 d'Agimus-NG va donc maintenant utiliser un index par type et par mois (Ex : ag-moodledb-2020.09).
  • Le format des templates a changé. Vous pouvez trouver de nouveaux exemples à la page Installations requises sur le serveur Agimus-NG
  • Le champ "_all" n'existe plus, il n'est plus nécessaire de le désactiver dans nos templates
  • Le type booléen n'accepte plus comme valeur que true et false. Les autres valeurs renverront une erreur au moment de l'import. Il faudra donc prévoir la conversion dans logstash.
  • le plugin kopf devient une application externe nommée cerebro : https://github.com/lmenezes/cerebro
  • La query "filtered" n'existe plus. Vous pouvez la remplacer par une "bool" avec le paramètre filter
  • Le plugin delete_by_query est disponible par défaut maintenant en utilisant le point d'accès : "_delete_by_query". On l'utilise dans le daily_batch.sh pour nettoyer certains index.
  • Les scripts se font maintenant en painless et non plus en groovy

Sécurisation basique

Une sécurisation de base est fournie gratuitement maintenant. Un tuto basique de mise en place est disponible ici : https://www.elastic.co/fr/blog/getting-started-with-elasticsearch-security

Cette sécurisation apporte l'échange sécurisé via TLS entre les nœuds du serveur ainsi que l'authentification basique.

Il est possible de créer des utilisateurs locaux et des rôles pour restreindre les index visibles.

L'intégration LDAP est payante.

Attention, pour activer le mécanisme, il faut lancer le script bin/elasticsearch-setup-passwords mais je n'ai vu nul part comment revenir en arrière.


Procédure de mise à jour

Les changements sont tellement importants qu'il est conseillé de créer un nouveau cluster elasticsearch en v7 et de transférer les données.

  1. Création serveur(s) elasticsearch en v7
  2. reprendre les templates en se basant sur ceux fournis par défaut
  3. Migration de v2 vers v7 d'une partie des données (via logstash) pour valider la nouvelle architecture
  4. Création des nouveaux scripts logstash d'import

Pour faciliter le transfert des données, vous pouvez utiliser le script scripts/reimport/import_index.sh qui utilise le traitement logstash/migrationv2v7

Ce traitement permet la migration de votre ancien cluster vers le nouveau.

  • Paramétrez votre ancien cluster dans le fichier 10_import_esv2
  • Vérifiez / complétez les traitements génériques qui s'appliqueront sur tous les index dans le fichier 20_filtre_generique
  • Supprimez / ajoutez les traitements spécifiques à chaque type dans les autres fichiers
  • No labels