Menggunakan Elasticsearch untuk menyimpan log sistem bisnis, indeks baru akan dihasilkan setiap hari sesuai dengan tanggal, ada jutaan dokumen setiap hari, jika indeks Elasticsearch tidak dibersihkan tepat waktu, itu akan menyebabkan ruang disk yang besar, menyebabkan banyak tekanan pada disk, dan kecepatan pencarian juga akan menjadi lebih lambat. Sebelumnya, kami telah membersihkan indeks ES secara manual dan menggunakan skrip shell untuk membersihkannya secara teratur, tetapi ES dapat membuat kebijakan siklus hidup indeks untuk membantu kami menghapus indeks historis lama.
Versi Elasticsearch yang digunakan dalam artikel ini adalah: 7.10.2
Hari ini adalah 11-03-2022, dan Anda dapat melihat bahwa indeks dan dokumen untuk Januari 2022 masih ada, seperti yang ditunjukkan pada gambar di bawah ini:
Membuat templat indeks
Buka panel admin Kibana, klik Index Management -> Index Template -> untuk membuat template indeks dengan nama berikut:templat pencatat, modul indeks mengisi indeks yang perlu dicocokkan, dan kemudian melanjutkan ke langkah berikutnya, seperti yang ditunjukkan pada gambar di bawah ini:
Catatan: Saat membuat indeks Elasticsearch baru, template akan secara otomatis dicocokkan untuk menyelesaikan bagian dasar indeks. Artinya, saat membuat indeks itsvse-2022-03-13, itu akan cocok dengan versi logger-template, dan kemudian menjalankan aturan yang ditetapkan oleh template.Indeks historis (meskipun cocok dengan templat) tidak dikaitkan dengan templat indeks!!! Dalam artikel ini,Indeks yang tidak dibuat berdasarkan templat tidak dapat dihapus secara otomatis。
Membuat kebijakan siklus hidup indeks
Buka panel admin Kibana dan klik Index Lifecycle Policy -> untuk membuat kebijakan, seperti yang ditunjukkan pada gambar berikut:
Pengisian nama"Pembersihan-otomatis-30-hari-logger, hapus centang Aktifkan pembaruan bergulir, seperti yang ditunjukkan pada gambar berikut:
Buka fase penghapusan untuk membersihkan indeks secara otomatis hingga 30 hari yang lalu, seperti yang ditunjukkan pada gambar berikut:
Terakhir, tambahkan kebijakan ke templat indeks, seperti yang ditunjukkan pada gambar berikut:
Pada titik ini, indeks yang baru dibuat akan secara otomatis disimpan selama 30 hari, dan indeks di atas 30 hari akan dihapus, dan indeks historis perlu dibersihkan secara manual!! Untuk menghapus indeks secara manual, lihat:
Tinjau templat indeks yang baru saja Anda buat, yang akan diterapkan ke templat akhir yang cocok dengan indeks. Rinciannya adalah sebagai berikut:
{ "templat": { "pengaturan": { "indeks": { "siklus hidup": { "name": "auto-clean-30-days-logger" } } }, "alias": {}, "pemetaan": {} }
}
Tinjau antarmuka konfigurasi kebijakan, misalnya:http://192.168.1.182:9200/_ilm/policy/auto-clean-30-days-logger?pretty
{ "auto-clean-30-days-logger" : { "versi" : 1, "modified_date" : "2022-03-11T06:26:01.972Z", "kebijakan" : { "fase" : { "panas" : { "min_age" : "0ms", "tindakan" : { "set_priority" : { "prioritas" : 100 } } }, "hapus" : { "min_age" : "30d", "tindakan" : { "hapus" : { "delete_searchable_snapshot" : benar } } } } } }
}
ILM (Manajemen Siklus Hidup Indeks)
Kebijakan siklus hidup indeks baru kami dijalankan melalui polling berwaktu.
Layanan ILM melakukan polling kebijakan eksekusi di latar belakang:
ILM mendefinisikan empat tahap siklus hidup: Panas: Memperbarui dan mengkueri indeks secara aktif. Hangat: Tidak ada lagi memperbarui indeks, tetapi tetap melakukan kueri. cold: Tidak ada lagi indeks yang diperbarui, sedikit kueri. Informasi masih perlu dicari, tetapi tidak apa-apa jika kueri tersebut lebih lambat. Hapus: Indeks tidak lagi diperlukan dan dapat dihapus dengan aman.
Operasi Berkala ILM (indices.lifecycle.poll_interval),Defaultnya adalah 10 menituntuk memeriksa apakah indeks memenuhi kriteria kebijakan dan mengambil langkah-langkah apa pun yang diperlukan. Untuk menghindari situasi balapan, ILM mungkin perlu dijalankan beberapa kali untuk melakukan semua langkah yang diperlukan untuk menyelesaikan suatu tindakan. Jadi, meskipun indices.lifecycle.poll_interval diatur ke 10 menit dan indeks sesuai dengan rollover, mungkin diperlukan waktu 20 menit untuk menyelesaikan rollover. Misalnya, jika kita mengatur lebih dari 10 dokumen untuk digulirkan, tetapi karena proses ini tidak segera diimplementasikan, artikel ke-11 dan ke-12 mungkin masih jatuh pada indeks sebelumnya, dan dokumen yang baru dibuat tidak akan jatuh pada indeks baru sampai rollover berhasil.
Setelan manajemen siklus hidup indeks di Elasticsearch:Login hyperlink terlihat.
Lihat status ILM
Ini 2022-03-13, 2 indeks dibuat secara otomatis setiap hari, Anda dapat melihat indeks yang dibuat, sudahKebijakan dikaitkan secara otomatis, seperti yang ditunjukkan pada gambar di bawah ini:
(Akhir)
|