Formations DevOps

Logo Elasticsearch Ops

Elasticsearch Ops

Administrer Elasticsearch

60% théorie, 40% pratique
(4.3) 241 évaluations de janvier 2019 à ce jour
Durée 3 jours • 21 heures Obtenir un devis

Introduction - Initiation Elasticsearch

  • Initiation à l'API REST
  • Indices, documents, mappings: les concepts principaux
  • Analyse du text à l'indexation et à la recherche
  • Rechercher des documents avec Elasticsearch
  • Calculer des agrégations avec Elasticsearch

TP1:

  • Exécuter le cluster à un noeud d'Elasticsearch et son Kibana associé via docker-compose
  • Indexer et chercher nos premiers documents à travers l'interface devtools de kibana

Installer & estimer les ressources nécessaires d'infrastructure

  • Cluster, Noeuds, Indices, Shards et Replicas: Les principaux concepts
  • Allocation des shards, commandes and philosophie:
    • déploiement classique
    • déploiement multi data tiers
  • Rôles des noeuds
  • Savoir expliquer les allocations effectuées
  • Recovery: Quand et comment les contrôler
  • Explications du routing des requêtes de recherche et d'indexation
  • Noeuds Masters et Voting configuration
  • Paramétrage de la Memoire
  • Paramétrage du disque
  • Paramétrage réseau
  • Paramétrage CPU
  • Avertissement sur la virtualisation
  • Recette de "Sizing"
  • Usage API pour lister les features XPack actives

TP2:

  • Découvrir le fichier docker-compose fourni pour le cluster à un noeud,
  • Découvrir le fichier docker-compose fourni pour le cluster à trois noeuds,
  • Specialiser les noeuds du second cluster de manière à avoir des tiers hot, warm et cold (rôles data_hot, data_warm et data_cold)
  • Ajouter le rôle ingest node au noeud de rôle data_cold
  • Ajouter le rôle voting_only au noeud de rôle data_hot
  • Ajouter le rôle master au noeuds data_warm et data_cold
  • Examiner les allocations des shards des nouveaux indices créés

Monitorer & réagir

  • API Cluster Health, Cluster stats/state, Node infos/stats, Index _stats
  • APIs équivalentes avec l'API _cat
  • Connaître les tâches en attente de traitement sur le cluster (pending tasks)
  • Connaître les threads les plus actifs d'un noeud (hot threads)
  • Monitorer les fonctionnalités de la stack
  • Monitorer la mémoire utilisée
  • Monitorer les file handles utilisés
  • Monitorer l'occupation disque
  • Monitorer la bande passante et connexions réseau
  • Surveiller les indicateurs de performance: charge de travail des threads , performances d'indexation/recherche et surveillance des requêtes "lentes"
  • Monitorer à l'aide des journaux applicatifs elasticsearch
  • Alerter sur la base des données de monitoring (nécessite une licence supérieure à "basic" ou une licence d'essai)

TP3:

  • Installer et paramétrer une instance metricbeat utilisant le cluster à un noeud pour indexer les données de monitoring du cluster à trois noeuds
  • Explorer les commandes Cluster/Nodes/Indices states and stats
  • Explorer les commandes _cat
  • Utiliser les slowlogs pour lister toutes les requêtes de recherche effectuées

Maintenance

  • Mécanismes du Recovery
  • Se mettre à l'échelle: ajouter ou retirer un noeud
  • Opérations de maintenance: redémarrer un noeud ou un cluster complet
  • Ré-indexer des données
  • Prévenir les arrêts de services: Aliases et Rollover API
  • Cas particulier d'usage de indices: les Datastreams
  • Sauvegarder/Restaurer des indices
  • Fonctionnalité de sauvegarde automatisée (Snapshot Lifecycle Management ou SLM)
  • Fonctionnalité de gestion du cycle de vie des indices (Index Lifecycle Management ou ILM)
  • Utiliser l'API de dépréciation
  • Préparer une montée de version
  • Monter de Version

TP4:

  • Ajouter/Enlever un noeud sans conséquence
  • Ré_indexer depuis un autre index
  • Sauvegarder/Restaurer un index
  • Paramétrer une ILM policy avec une action Rollover et une SLM policy
  • Créer un datastream pour les données Metricbeat avec la datastream policy fournie afin de surveiller les allocations des indices ""vieillissants" sous-jacents

Securité

  • Périmètre et vue d'ensemble
  • Filtrer les flux réseau
  • Limiter les fonctionnalités de Scripting
  • Chiffrer les données sur disque ou échangées sur le réseau
  • Authentifier les utilisateurs avec XPack security
  • Autentifier les utilisateur avec un reverse proxy
  • Authorisations d'accès aux ressources

TP5:

  • Sécuriser le trafic réseau entre les noeuds du cluster et entre le cluster et ses clients: Kibana, Metricbeat (HTTP + TCP transport)
  • Paramétrer l'authentification basique:
    • Paramétrer les utilisateurs "built-in"
    • Définir un utilisateur administrateur, un utilisateur standard et un utilisateur en lecture seule avec le File realm

Cross Cluster Replication (CCR)

  • Réplications entres clusters distants uni-directionelles ou bi-directionnelles pour permettre différents cas d'usage:
    • Une Architecture capable un retour rapide à la normale après désastre
    • Une architecture de mise à proximité données
    • Une architecture de centralisation de la supervision

Optimisation & Performance

  • Indexer plus rapidement:

    • Bulk API
    • Refresh interval
    • Optimisations des Mappings
  • Rechercher plus efficacement:

    • Contextes de filtres, de post filters, opérateurs "exact matches" et caches
    • Pièges des opérateurs wildcard ou des mappings parent/child
    • Agréger and trier plus efficacement: doc_values et fielddata
    • Diagnostiquer le calcul de score, ou les erreurs
    • Profiler ses recherches pour comprendre les temps de réponse
  • Matériel & Infrastructure:

    • Penser aux capacité de gestion des data_tiers d'Elasticsearch
    • Pas d'ingestion sans noeud dédier à cette activité
    • Dissocier les clusters pour les spécialiser dans des tâches données (supervision vs métier)
    • Faire sans logstash en environnement cloud