GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Verwenden von Ansible zum Installieren und Konfigurieren von Elasticsearch unter Ubuntu 20.04

Elasticsearch ist eine verteilte Such- und Analyse-Engine, die auf Apache Lucene basiert. Es bietet eine verteilte, mandantenfähige Volltextsuchmaschine mit HTTP-Webinterface und schemafreien JSON-Dokumenten. Elasticsearch hat sich schnell zur beliebtesten Suchmaschine entwickelt und wird häufig für Protokollanalysen, Volltextsuche, Sicherheitsinformationen, Geschäftsanalysen und Anwendungsfälle für operative Informationen verwendet.

Ansible ist ein Open-Source-Softwarebereitstellungs-, Konfigurationsverwaltungs- und Anwendungsbereitstellungstool, das eine Infrastruktur als Code ermöglicht. Es läuft auf vielen Unix-ähnlichen Systemen und kann sowohl Unix-ähnliche Systeme als auch Microsoft Windows konfigurieren.

Verwandte Inhalte

  • So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 20.04
  • So installieren und konfigurieren Sie Elasticsearch unter Debian 11

Voraussetzungen

Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:

  • Ein aktualisierter Ubuntu 20.04-Server mit mindestens 2 GB RAM und 2 Kernen
  • Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
  • Zugang zum Internet vom Server
  • Ansible auf dem lokalen System installiert

Inhaltsverzeichnis

  1. Sicherstellen, dass der Server auf dem neuesten Stand ist
  2. Installation einiger für die Einrichtung notwendiger Pakete
  3. Importieren Sie den Elasticsearch-PGP-Schlüssel
  4. Installieren Sie Elasticsearch aus dem APT-Repository
  5. Handler einrichten
  6. Hostdatei erstellen
  7. Das ganze Playbook
  8. Ausführen des Ansible-Playbooks

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, stellen Sie mit diesen Aufgaben sicher, dass der Server auf dem neuesten Stand ist. Zuerst aktualisieren wir die Repos, dann aktualisieren wir alle Pakete.

- 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. Notwendige Pakete installieren

Lassen Sie uns als Nächstes einige gängige Pakete installieren, die wir in unserem Playbook benötigen. Das wget-Paket wird verwendet, um einige Dateien herunterzuladen.

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

3. Importieren Sie den Elasticsearch-PGP-Schlüssel

Elasticsearch signiert alle seine Pakete mit dem Elasticsearch Signing Key. Laden Sie den öffentlichen Signaturschlüssel mit dieser Rolle herunter und installieren Sie ihn:

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

4. Installieren Sie Elasticsearch aus dem APT-Repository

Wir müssen eine Repository-Definitionsdatei erstellen, da Elasticsearch standardmäßig nicht verfügbar ist. Wir können dann die elastische Suche installieren, nachdem wir den Apt-Cache aktualisiert haben.

- 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

Oben teilen wir Handlern auch mit, Elasticsearch zu starten und Elasticsearch zu aktivieren.

5. Handler einrichten

Handler sind genau wie normale Aufgaben in einem Ansible-Playbook, aber sie werden nur ausgeführt, wenn die Aufgabe eine „Notify“-Anweisung enthält . Es zeigt auch an, dass es etwas geändert hat.

Lassen Sie uns Handler für unsere Elasticsearch-Installation einrichten und einrichten:

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

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

6. Erstellen der Hosts-Datei

Ansible führt die Aufgaben anhand eines Inventars aus. Das Serverinventar wird als hosts.yaml hinzugefügt Datei, die definiert, wie die Server erreicht werden. Dies ist meine Hosts-Datei:

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

7. Das ganze Playbook

Das ist das ganze Playbook. Speichern Sie es als 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. Ansible Playbook ausführen

Um das Ansible-Playbook auszuführen, muss Ansible lokal installiert sein. Sie können Ansible mit dem OS-Paketmanager installieren oder wenn Sie Python Pip haben, können Sie es verwenden:

sudo pip install ansible

Außerdem benötigen Sie ssh-Zugriff auf den Server. Stellen Sie sicher, dass Sie die Verbindung zum Server eingerichtet haben. Ich verwende die SSH-Schlüsselauthentifizierung und ssh funktioniert für mich mit diesem Befehl:

ssh [email protected]

Jetzt können Sie das Playbook mit diesem Befehl ausführen:

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

Sobald die Ausführung des Playbooks abgeschlossen ist, können Sie auf den auf dem Server installierten Elasticsearch-Server zugreifen.


Ubuntu
  1. So installieren und konfigurieren Sie Ansible unter Windows

  2. So installieren und konfigurieren Sie Ansible unter Ubuntu 18.04 LTS

  3. So verwenden Sie Ansible zum Installieren und Konfigurieren von Redis 6 unter Ubuntu 20.04

  4. So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 18.04

Installieren und konfigurieren Sie den Graylog-Überwachungsserver Ubuntu 20.04

Installieren und konfigurieren Sie Git unter Ubuntu 16.04

Installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04

So installieren Sie Ansible unter Ubuntu 20.04

So installieren und konfigurieren Sie Ansible unter Ubuntu

So installieren und konfigurieren Sie Elasticsearch unter Ubuntu 20.04