GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Utiliser Ansible pour installer et configurer Elasticsearch sur Ubuntu 20.04

Elasticsearch est un moteur de recherche et d'analyse distribué basé sur Apache Lucene. Il fournit un moteur de recherche en texte intégral distribué et mutualisé avec une interface Web HTTP et des documents JSON sans schéma. Elasticsearch est rapidement devenu le moteur de recherche le plus populaire et est couramment utilisé pour l'analyse des journaux, la recherche en texte intégral, les renseignements sur la sécurité, l'analyse commerciale et les cas d'utilisation de l'intelligence opérationnelle.

Ansible est un outil de provisionnement de logiciels open source, de gestion de la configuration et de déploiement d'applications permettant l'infrastructure en tant que code. Il fonctionne sur de nombreux systèmes de type Unix et peut configurer à la fois des systèmes de type Unix et Microsoft Windows.

Contenu connexe

  • Comment installer et configurer Elasticsearch sur Ubuntu 20.04
  • Comment installer et configurer Elasticsearch sur Debian 11

Prérequis

Pour suivre, assurez-vous d'avoir :

  • Un serveur Ubuntu 20.04 mis à jour avec au moins 2 Go de RAM et 2 cœurs
  • Accès root au serveur ou utilisateur avec accès sudo
  • Accès à Internet depuis le serveur
  • Ansible installé sur le système local

Table des matières

  1. S'assurer que le serveur est à jour
  2. Installation de certains packages nécessaires à la configuration
  3. Importer la clé PGP Elasticsearch
  4. Installer Elasticsearch à partir du référentiel APT
  5. Gestionnaires de configuration
  6. Créer un fichier d'hôtes
  7. Tout le livre de jeu
  8. Exécuter le playbook Ansible

1. S'assurer que le serveur est à jour

Avant de continuer, assurez-vous que le serveur est à jour en utilisant ces tâches. Nous actualisons d'abord les dépôts, puis nous mettons à niveau tous les packages.

- name: Update apt repo and cache on Ubuntu box
  apt:
    update_cache: yes
    force_apt_get: yes
    cache_valid_time: 3600

- name: Upgrade all packages on servers
  apt:
    upgrade: dist
    force_apt_get: yes

2. Installation des packages nécessaires

Ensuite, installons quelques packages communs dont nous aurons besoin dans notre playbook. Le package wget sera utilisé pour télécharger certains fichiers.

- name: Install required packages
  dnf:
    name:
      - vim
      - wget
    state: present

3. Importer la clé PGP Elasticsearch

Elasticsearch signe tous ses packages avec la clé de signature Elasticsearch. Téléchargez et installez la clé de signature publique en utilisant ce rôle :

- name: Import the Elasticsearch PGP Key
  shell: |
    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  args:
    warn: no

4. Installez Elasticsearch à partir du référentiel APT

Nous devons créer un fichier de définition de référentiel car Elasticsearch n'est pas disponible par défaut. Nous pouvons ensuite installer elastic search après avoir mis à jour le cache apt.

- name: Add repository defiition
  copy:
    dest: /etc/apt/sources.list.d/elastic-7.x.list
    content: |
      deb https://artifacts.elastic.co/packages/7.x/apt stable main

- name: Install the Elasticsearch package
  apt:
    name: elasticsearch
    state: present
    update_cache: yes
  notify:
    - Start Elasticsearch
    - Enable Elasticsearch

Dans ce qui précède, nous informons également les gestionnaires de Démarrer Elasticsearch et Activer Elasticsearch.

5. Configurer les gestionnaires

Les gestionnaires ressemblent à des tâches normales dans un playbook Ansible, mais ils ne s'exécutent que si la tâche contient une directive "notifier" . Cela indique également que cela a changé quelque chose.

Configurons les gestionnaires pour l'installation d'Elasticsearch et configurons :

handlers:
  - name: Start Elasticsearch
    systemd:
      name: elasticsearch
      state: started

  - name: Enable Elasticsearch
    systemd:
      name: elasticsearch
      enabled: yes

6. Création du fichier hosts

Ansible exécutera les tâches par rapport à un inventaire. L'inventaire du serveur sera ajouté en tant que hosts.yaml fichier qui définit comment les serveurs seront atteints. Voici mon fichier hosts :

all:
  hosts:
    elastsrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: ubuntu

7. Tout le playbook

C'est tout le livre de jeu. Enregistrez-le sous elasticsearch.yaml

---
- name: Install Elasticsearch on Ubuntu
  hosts: elastsrv
  become: yes
  gather_facts: False
  tasks:
    - name: Update apt repo and cache on all Ubuntu box
      apt:
        update_cache: yes
        force_apt_get: yes
        cache_valid_time: 3600

    - name: Upgrade all packages on servers
      apt:
        upgrade: dist
        force_apt_get: yes

    - name: Set hostname
      hostname:
        name: elastsrv.citizix.com

    - name: Install Common packages
      apt:
        name:
          - vim
          - wget
        state: latest

    - name: Import the Elasticsearch PGP Key
      shell: |
        wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
      args:
        warn: no

    - name: Add repository defiition
      copy:
        dest: /etc/apt/sources.list.d/elastic-7.x.list
        content: |
          deb https://artifacts.elastic.co/packages/7.x/apt stable main

    - name: Install the Elasticsearch package
      apt:
        name: elasticsearch
        state: present
        update_cache: yes
      notify:
        - Start Elasticsearch
        - Enable Elasticsearch

  handlers:
    - name: Start Elasticsearch
      systemd:
        name: elasticsearch
        state: started

    - name: Enable Elasticsearch
      systemd:
        name: elasticsearch
        enabled: yes

8. Exécuter le playbook ansible

Pour exécuter le playbook ansible, vous devez installer ansible localement. Vous pouvez installer ansible à l'aide du gestionnaire de packages du système d'exploitation ou si vous avez python pip, vous pouvez l'utiliser :

sudo pip install ansible

Vous devez également avoir un accès ssh au serveur. Assurez-vous d'avoir configuré la connexion au serveur. J'utilise l'authentification par clé ssh et ssh fonctionne pour moi en utilisant cette commande :

ssh [email protected]

Vous pouvez maintenant exécuter le playbook à l'aide de cette commande :

ansible-playbook -i hosts.yaml elasticsearch.yaml -vv

Une fois l'exécution du playbook terminée, vous pouvez accéder au serveur Elasticsearch installé sur le serveur.


Ubuntu
  1. Comment installer et configurer Ansible sous Windows

  2. Comment installer et configurer Ansible sur Ubuntu 18.04 LTS

  3. Comment utiliser Ansible pour installer et configurer Redis 6 sur Ubuntu 20.04

  4. Comment installer et configurer Elasticsearch sur Ubuntu 20.04

  5. Comment installer et configurer Elasticsearch sur Ubuntu 18.04

Installer et configurer le serveur de surveillance Graylog Ubuntu 20.04

Installer et configurer Git sur Ubuntu 16.04

Installer et configurer Fail2ban sur Ubuntu 20.04

Comment installer Ansible sur Ubuntu 20.04

Comment installer et configurer Ansible sur Ubuntu

Comment installer et configurer Elasticsearch sur Ubuntu 20.04