Curator adalah alat manajemen indeks yang disediakan oleh Elasticsearch sumber terbuka. Alat ini memungkinkan Anda membuat, menghapus, menonaktifkan indeks, serta menggabungkan segmen indeks. Topik ini menjelaskan cara menginstal Curator dan fitur-fiturnya. Anda dapat menggunakan Curator untuk menjalankan antarmuka baris perintah (CLI) singleton, menjadwalkan tugas menggunakan crontab, memisahkan data panas dan dingin, serta memigrasikan indeks dari node panas ke node hangat.
Instal Curator
Prasyarat
Sebuah kluster Alibaba Cloud Elasticsearch telah dibuat.
Untuk informasi lebih lanjut, lihat Buat kluster Alibaba Cloud Elasticsearch.
Sebuah Instance ECS Alibaba Cloud telah dibuat, dan lingkungan Python telah dipersiapkan.
Dalam contoh ini, instance ECS yang menjalankan CentOS 7.3 64-bit digunakan. Instance ECS yang dibuat harus berada di wilayah, zona, dan virtual private cloud (VPC) yang sama dengan kluster Elasticsearch. Untuk informasi lebih lanjut, lihat Buat instance di tab Peluncuran Kustom.
Prosedur
Hubungkan ke instance ECS. Untuk informasi lebih lanjut, lihat Hubungkan ke instance Linux menggunakan kata sandi atau kunci.
CatatanDalam contoh ini, pengguna biasa digunakan.
Jalankan perintah berikut untuk menginstal Curator:
sudo pip install elasticsearch-curatorCatatanKami merekomendasikan agar Anda menginstal Curator 5.6.0. Versi ini mendukung kluster Alibaba Cloud Elasticsearch V5.5.3 dan V6.3.2. Untuk informasi tentang kompatibilitas antara versi Curator dan versi Alibaba Cloud Elasticsearch, lihat Kompatibilitas Versi.
Untuk informasi lebih lanjut tentang Curator, lihat Curator.
Setelah Curator diinstal, jalankan perintah berikut untuk memeriksa versinya:
sudo curator --versionJika perintah berhasil dijalankan, hasil berikut akan dikembalikan:
curator, version 5.6.0
Gunakan CLI Singleton
Anda dapat menjalankan perintah curator_cli untuk melakukan operasi tunggal. Untuk informasi lebih lanjut, lihat Antarmuka Baris Perintah Singleton.
Perintah curator_cli memungkinkan Anda melakukan hanya satu operasi pada satu waktu.
Beberapa operasi seperti Alias dan Restore tidak dapat dilakukan menggunakan CLI singleton.
Jadwalkan tugas menggunakan crontab
Anda dapat menggunakan crontab dan perintah curator untuk menjadwalkan operasi suatu tugas.
Kode berikut memberikan contoh perintah curator:
curator [OPTIONS] ACTION_FILE
Options:
--config PATH Path to configuration file. Default: ~/.curator/curator.yml
--dry-run Do not perform any changes.
--version Show the version and exit.
--help Show this message and exit.Sebelum menjalankan perintah curator, Anda harus menentukan file config.yml dan action.yml.
Pisahkan data panas dan dingin
Untuk informasi lebih lanjut, lihat Arsitektur "Hot-Warm" di Elasticsearch 5.x.
Migrasikan indeks dari node panas ke node hangat
Buat file config.yml di direktori /usr/curator/. Anda dapat merujuk kode berikut untuk mengonfigurasi file tersebut:
client: hosts: - http://es-cn-0pxxxxxxxxxxxx234.elasticsearch.aliyuncs.com port: 9200 url_prefix: use_ssl: False certificate: client_cert: client_key: ssl_no_validate: False http_auth: user:password timeout: 30 master_only: False logging: loglevel: INFO logfile: logformat: default blacklist: ['elasticsearch', 'urllib3']hosts: Atur nilai ke endpoint internal atau publik dari kluster Elasticsearch. Endpoint internal digunakan dalam contoh ini.http_auth: Atur nilai ke nama pengguna dan kata sandi yang digunakan untuk mengakses kluster Elasticsearch.
Buat file action.yml di direktori /usr/curator/. Anda dapat merujuk kode berikut untuk mengonfigurasi file tersebut:
actions: 1: action: allocation description: "Apply shard allocation filtering rules to the specified indices" options: key: box_type value: warm allocation_type: require wait_for_completion: true timeout_override: continue_if_exception: false disable_action: false filters: - filtertype: pattern kind: prefix value: logstash- - filtertype: age source: creation_date direction: older timestring: '%Y-%m-%dT%H:%M:%S' unit: minutes unit_count: 30Dalam contoh ini, indeks yang dibuat pada node
hot30 menit lalu dan namanya dimulai denganlogstash-dimigrasikan ke nodewarm. Anda juga dapat mengonfigurasi file action.yml sesuai dengan kebutuhan bisnis Anda.Jalankan perintah berikut untuk memeriksa apakah perintah curator berjalan normal:
sudo curator --config /usr/curator/config.yml /usr/curator/action.ymlJika perintah curator berjalan normal, informasi serupa dengan kode berikut akan dikembalikan:
2019-02-12 20:11:30,607 INFO Preparing Action ID: 1, "allocation" 2019-02-12 20:11:30,612 INFO Trying Action ID: 1, "allocation": Apply shard allocation filtering rules to the specified indices 2019-02-12 20:11:30,693 INFO Updating index setting {'index.routing.allocation.require.box_type': 'warm'} 2019-02-12 20:12:57,925 INFO Health Check for all provided keys passed. 2019-02-12 20:12:57,925 INFO Action ID: 1, "allocation" completed. 2019-02-12 20:12:57,925 INFO Job completed.Jalankan perintah berikut untuk mengaktifkan perintah curator agar berjalan setiap interval 15 menit:
crontab -e */15 * * * * curator --config /usr/curator/config.yml /usr/curator/action.yml