Elasticsearch adalah mesin pencari dan analitik terdistribusi yang dibangun di atas Apache Lucene. Ini menyediakan mesin pencari teks lengkap berkemampuan multitenant yang terdistribusi dengan antarmuka web HTTP dan dokumen JSON bebas skema. Elasticsearch dengan cepat menjadi mesin telusur paling populer dan biasanya digunakan untuk analisis log, penelusuran teks lengkap, intelijen keamanan, analisis bisnis, dan kasus penggunaan intelijen operasional.
Ansible adalah penyediaan perangkat lunak sumber terbuka, manajemen konfigurasi, dan alat penerapan aplikasi yang memungkinkan infrastruktur sebagai kode. Ini berjalan di banyak sistem mirip Unix, dan dapat mengonfigurasi sistem mirip Unix serta Microsoft Windows.
Konten Terkait
- Cara Menginstal dan Mengonfigurasi Elasticsearch di Ubuntu 20.04
- Cara Menginstal dan Mengonfigurasi Elasticsearch di Debian 11
Prasyarat
Untuk mengikuti, pastikan Anda memiliki:
- Server Ubuntu 20.04 yang diperbarui dengan setidaknya 2 GB RAM dan 2 inti
- Akses root ke server atau pengguna dengan akses sudo
- Akses ke internet dari server
- Dapat dipasang di sistem lokal
Daftar Isi
- Memastikan bahwa server selalu mutakhir
- Menginstal beberapa paket yang diperlukan untuk penyiapan
- Impor Kunci PGP Elasticsearch
- Instal Elasticsearch dari repositori APT
- Penangan penyiapan
- Buat file host
- Seluruh buku pedoman
- Menjalankan pedoman yang memungkinkan
1. Memastikan bahwa server sudah diperbarui
Sebelum melanjutkan, pastikan server sudah diperbarui menggunakan tugas-tugas ini. Pertama kita refresh reponya kemudian kita upgrade semua paketnya.
- 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. Menginstal paket yang diperlukan
Selanjutnya, mari kita instal beberapa paket umum yang akan kita perlukan di buku pedoman kita. Paket wget akan digunakan untuk mendownload beberapa file.
- name: Install required packages
dnf:
name:
- vim
- wget
state: present
3. Impor Kunci PGP Elasticsearch
Elasticsearch menandatangani semua paketnya dengan Elasticsearch Signing Key. Unduh dan instal kunci penandatanganan publik menggunakan peran ini:
- name: Import the Elasticsearch PGP Key
shell: |
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
args:
warn: no
4. Instal Elasticsearch dari repositori APT
Kita perlu membuat file definisi repositori karena Elasticsearch tidak tersedia secara default. Kami kemudian dapat menginstal pencarian elastis setelah memperbarui 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
Di atas, kami juga memberi tahu penangan untuk Mulai Elasticsearch dan Aktifkan Elasticsearch.
5. Siapkan penangan
Penangan sama seperti tugas normal dalam buku pedoman Ansible, tetapi mereka hanya berjalan jika Tugas berisi perintah “beri tahu” . Ini juga menunjukkan bahwa itu mengubah sesuatu.
Mari kita mengatur penangan untuk instalasi Elasticsearch dan mengatur:
handlers:
- name: Start Elasticsearch
systemd:
name: elasticsearch
state: started
- name: Enable Elasticsearch
systemd:
name: elasticsearch
enabled: yes
6. Membuat file host
Ansible akan menjalankan tugas terhadap beberapa inventaris. Inventaris server akan ditambahkan sebagai hosts.yaml
file yang mendefinisikan bagaimana server akan dijangkau. Ini adalah file host saya:
all:
hosts:
elastsrv:
ansible_ssh_host: 10.2.11.10
ansible_ssh_user: ubuntu
7. Seluruh pedoman
Ini adalah keseluruhan buku pedoman. Simpan sebagai 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. Menjalankan buku pedoman yang memungkinkan
Untuk menjalankan playbook yang memungkinkan, Anda perlu menginstal ansible secara lokal. Anda dapat menginstal mungkin menggunakan manajer paket OS atau jika Anda memiliki python pip Anda dapat menggunakannya:
sudo pip install ansible
Anda juga harus memiliki akses ssh ke server. Pastikan Anda mengatur koneksi ke server. Saya menggunakan otentikasi kunci ssh dan ssh berfungsi untuk saya menggunakan perintah ini:
ssh [email protected]
Sekarang Anda dapat menjalankan playbook menggunakan perintah ini:
ansible-playbook -i hosts.yaml elasticsearch.yaml -vv
Setelah playbook selesai dijalankan, Anda dapat mengakses server Elasticsearch yang terinstal di server.