GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Utilizzo di Ansible per installare e configurare Elasticsearch su Ubuntu 20.04

Elasticsearch è un motore di ricerca e analisi distribuito basato su Apache Lucene. Fornisce un motore di ricerca full-text distribuito e multi-tenant con un'interfaccia Web HTTP e documenti JSON privi di schemi. Elasticsearch è diventato rapidamente il motore di ricerca più popolare ed è comunemente utilizzato per l'analisi dei log, la ricerca full-text, l'intelligence sulla sicurezza, l'analisi aziendale e i casi d'uso dell'intelligence operativa.

Ansible è uno strumento open source di fornitura di software, gestione della configurazione e distribuzione di applicazioni che abilita l'infrastruttura come codice. Funziona su molti sistemi simili a Unix e può configurare sia sistemi simili a Unix che Microsoft Windows.

Contenuti correlati

  • Come installare e configurare Elasticsearch su Ubuntu 20.04
  • Come installare e configurare Elasticsearch su Debian 11

Prerequisiti

Per seguire, assicurati di avere:

  • Un server Ubuntu 20.04 aggiornato con almeno 2 GB di RAM e 2 core
  • Accesso root al server o utente con accesso sudo
  • Accesso a Internet dal server
  • Ansible installato sul sistema locale

Indice dei contenuti

  1. Assicurarsi che il server sia aggiornato
  2. Installazione di alcuni pacchetti necessari per la configurazione
  3. Importa la chiave PGP di Elasticsearch
  4. Installa Elasticsearch dal repository APT
  5. Gestori di configurazione
  6. Crea file hosts
  7. L'intero playbook
  8. Esecuzione del playbook Ansible

1. Garantire che il server sia aggiornato

Prima di procedere, assicurarsi che il server sia aggiornato utilizzando queste attività. Per prima cosa aggiorniamo i repository, quindi aggiorniamo tutti i pacchetti.

- 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. Installazione dei pacchetti necessari

Successivamente, installiamo alcuni pacchetti comuni di cui avremo bisogno nel nostro playbook. Il pacchetto wget verrà utilizzato per scaricare alcuni file.

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

3. Importa la chiave PGP di Elasticsearch

Elasticsearch firma tutti i suoi pacchetti con la chiave di firma Elasticsearch. Scarica e installa la chiave di firma pubblica utilizzando questo ruolo:

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

4. Installa Elasticsearch dal repository APT

È necessario creare un file di definizione del repository poiché Elasticsearch non è disponibile per impostazione predefinita. Possiamo quindi installare la ricerca elastica dopo aver aggiornato la cache di 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

In quanto sopra, stiamo anche notificando ai gestori di Avvia Elasticsearch e Abilita Elasticsearch.

5. Configura i gestori

I gestori sono come le normali attività in un playbook Ansible ma vengono eseguiti solo se l'attività contiene una direttiva "notifica" . Indica anche che ha cambiato qualcosa.

Impostiamo i gestori per l'installazione di Elasticsearch e configuriamo:

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

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

6. Creazione del file hosts

Ansible eseguirà le attività rispetto ad alcune scorte. L'inventario del server verrà aggiunto come hosts.yaml file che definisce come verranno raggiunti i server. Questo è il mio file hosts:

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

7. L'intero playbook

Questo è l'intero playbook. Salvalo come 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. Esecuzione del playbook ansible

Per eseguire il playbook ansible, è necessario che ansible sia installato localmente. Puoi installare ansible usando il gestore di pacchetti del sistema operativo o se hai python pip puoi usarlo:

sudo pip install ansible

È inoltre necessario disporre dell'accesso ssh al server. Assicurati di aver impostato la connessione al server. Sto usando l'autenticazione con chiave ssh e ssh funziona per me usando questo comando:

ssh [email protected]

Ora puoi eseguire il playbook usando questo comando:

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

Al termine dell'esecuzione del playbook, puoi accedere al server Elasticsearch installato sul server.


Ubuntu
  1. Come installare e configurare Ansible su Windows

  2. Come installare e configurare Ansible su Ubuntu 18.04 LTS

  3. Come utilizzare Ansible per installare e configurare Redis 6 su Ubuntu 20.04

  4. Come installare e configurare Elasticsearch su Ubuntu 20.04

  5. Come installare e configurare Elasticsearch su Ubuntu 18.04

Installa e configura Graylog Monitoring Server Ubuntu 20.04

Installa e configura Git su Ubuntu 16.04

Installa e configura Fail2ban su Ubuntu 20.04

Come installare Ansible su Ubuntu 20.04

Come installare e configurare Ansible su Ubuntu

Come installare e configurare Elasticsearch su Ubuntu 20.04