Setelah layanan Kibana Anda direstart akibat pengecualian, indeks .kibana_{num} untuk layanan tersebut direset. Dalam kasus ini, Anda perlu memulihkan indeks tersebut untuk mengembalikan data. Pada {num}, .kibana_{num} merupakan variabel—misalnya, indeks .kibana_1 dan .kibana_2 mungkin ada. Topik ini menjelaskan cara memulihkan indeks .kibana_{num} menggunakan Snapshot atau dengan memanggil API reindex. Dalam topik ini, contoh yang digunakan adalah indeks .kibana_1.
Informasi latar belakang
Indeks .kibana_{num} digunakan untuk menyimpan informasi konfigurasi Kibana, seperti konfigurasi dashboard dan pola indeks. Secara default, Kibana membaca data dari indeks .kibana_{num} melalui alias .kibana. Jika terdapat beberapa indeks .kibana_{num}, hanya satu indeks yang ditautkan ke alias .kibana.
Dalam beberapa skenario bisnis kompleks, informasi konfigurasi Kibana yang tersimpan dalam indeks .kibana_1 mungkin direset. Misalnya, jika struktur indeks .kibana_1 rusak atau terjadi error saat mengakses layanan Kibana, Anda perlu menghapus indeks .kibana_1 dan merestart layanan Kibana. Demikian pula, jika terjadi pengecualian konfigurasi pada task penjadwalan, indeks .kibana_1 mungkin dihapus, sehingga layanan Kibana ikut direstart. Dalam skenario tersebut, setelah layanan Kibana direstart, .kibana_task_manager_1 secara otomatis membuat indeks .kibana_1 baru yang menggunakan alias .kibana, sehingga informasi konfigurasi Kibana—termasuk pola indeks, konfigurasi dashboard, dan peran pengguna—ikut direset.
Anda dapat memulihkan indeks .kibana_1 dengan salah satu cara berikut:
Memulihkannya langsung dari Snapshot.
Memulihkan data Snapshot ke indeks cadangan, lalu menggunakan API reindex untuk menyalin data dari indeks cadangan ke .kibana_1.
Membuat ulang secara manual pola indeks atau peran pengguna.
Prasyarat
Kluster Elasticsearch Anda telah mengaktifkan Snapshot otomatis, atau Anda telah melakukan backup manual indeks sistem dalam sebuah Snapshot. Indeks .kibana_1 dalam Snapshot tersebut harus memiliki struktur yang valid.
Alias .kibana ada di kluster dan mengarah ke indeks .kibana_1. Jika indeks .kibana_1 tidak ada, restart layanan Kibana untuk menginisialisasi dan membuat indeks .kibana_1.
Prosedur
Pulihkan dari Snapshot
Login ke Konsol Kibana kluster Elasticsearch Anda dan buka halaman utama Kibana.
Di bilah navigasi kiri, klik Dev tools.
Pada tab Console halaman yang muncul, jalankan perintah berikut untuk mengkueri informasi tentang Snapshot otomatis yang disimpan di repositori terkait:
GET _cat/snapshots/aliyun_auto_snapshot?valiyun_auto_snapshot: nama repositori tempat menyimpan Snapshot. Jika Anda menggunakan fitur Snapshot otomatis Alibaba Cloud Elasticsearch untuk mencadangkan data kluster secara berkala, nama repositorinya tetap aliyun_auto_snapshot. Jika Anda menggunakan backup manual, ganti aliyun_auto_snapshot dengan nama repositori kustom Anda.
Setelah berhasil dijalankan, sistem akan mengembalikan detail semua Snapshot di repositori tersebut, seperti id dan status.
CatatanCatat id Snapshot terbaru yang diambil sebelum terjadi pengecualian Kibana. Anda akan membutuhkannya nanti.

Sebelum memulihkan Snapshot, ambil informasi Snapshot dari backup dan periksa apakah indeks bernama .kibana_1 ada di kluster.
GET _snapshot/aliyun_auto_snapshot/<yourSnapshotId><yourSnapshotId>: id Snapshot terbaru yang diambil sebelum terjadi pengecualian Kibana. Masukkan id yang Anda catat di Langkah 3. Misalnya, es-cn-m7r23wodb006n****_20220303020235.
Setelah berhasil dijalankan, hasil seperti pada gambar berikut dikembalikan. Anda hanya dapat melanjutkan ke langkah berikutnya jika hasilnya mencakup indeks terkait .kibana_1.

Jalankan perintah berikut untuk mengatur status indeks .kibana_1 menjadi close:
PentingJika Anda tidak dapat login ke Konsol Kibana setelah menutup indeks .kibana_1 dan merestart Kibana, gunakan perintah cURL untuk memulihkan indeks .kibana_1. Untuk informasi selengkapnya, lihat FAQ.
POST /.kibana_1/_closeSetelah berhasil dijalankan, hasil berikut dikembalikan.
{ "acknowledged" : true, "shards_acknowledged" : true, "indices" : { ".kibana_1" : { "closed" : true } } }Jalankan perintah berikut untuk memulihkan indeks .kibana_1 dari Snapshot:
POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore { "indices": ".kibana_1", "rename_pattern": ".kibana_1", "rename_replacement": ".kibana_1" }Parameter
Deskripsi
<yourSnapshotId>
ID Snapshot untuk backup otomatis ID: Masukkan ID yang Anda ambil di Langkah 3.
indices
Nama indeks yang akan dipulihkan.
rename_pattern
Opsional. Ekspresi reguler untuk mencocokkan nama indeks yang akan dipulihkan.
rename_replacement
Opsional. Aturan untuk mengganti nama indeks yang cocok.
Setelah berhasil dijalankan,
"accepted" : truedikembalikan.PentingJika kluster Elasticsearch Anda menjalankan versi selain V7.10, Anda mungkin melihat error seperti
index_closed_exception index=".kibana_1"saat memulihkan indeks .kibana_1 dari Snapshot. Lihat FAQ untuk troubleshooting.Lihat hasil pemulihan.
Lakukan langkah-langkah berikut untuk memverifikasi apakah pola indeks Kibana telah dipulihkan. Jika ya, pemulihan Snapshot berhasil.
Di pojok kiri atas Konsol Kibana, klik ikon
.Di panel navigasi kiri, pilih .
Di bagian Kibana, klik Index Patterns.
Di halaman Index patterns, klik pola yang namanya diawali dengan kibana_ untuk memeriksa apakah data telah dipulihkan.

Pulihkan menggunakan reindex
Kueri detail Snapshot terbaru dan periksa apakah indeks .kibana_1 ada di kluster Elasticsearch.
Untuk petunjuknya, lihat Langkah 1 hingga 4 di Pulihkan indeks .kibana_1 menggunakan Snapshot.
CatatanAnda hanya dapat melanjutkan ke langkah berikutnya jika indeks terkait .kibana_1 ada di kluster.
Jalankan perintah berikut untuk memulihkan indeks .kibana_1 dalam Snapshot ke indeks cadangan. Dalam contoh ini, indeks cadangannya adalah kibana123.
POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore { "indices": ".kibana_1", "rename_pattern": ".kibana_1", "rename_replacement": "kibana123" }Parameter
Deskripsi
<yourSnapshotId>
ID Snapshot backup otomatis. Masukkan ID yang Anda peroleh di Langkah 1.
indices
Nama indeks yang akan dipulihkan.
rename_pattern
Opsional. Ekspresi reguler untuk mencocokkan nama indeks yang akan dipulihkan.
rename_replacement
Nama indeks cadangan.
Setelah berhasil dijalankan,
"accepted" : truedikembalikan.Panggil API reindex untuk melakukan pengindeksan ulang data dari indeks cadangan ke indeks .kibana_1 saat ini.
POST _reindex { "source": { "index": "kibana123" }, "dest": { "index": ".kibana_1" } }Setelah berhasil dijalankan, hasil berikut dikembalikan.
{ "took" : 731, "timed_out" : false, "total" : 33, "updated" : 33, "created" : 0, "deleted" : 0, "batches" : 1, "version_conflicts" : 0, "noops" : 0, "retries" : { "bulk" : 0, "search" : 0 }, "throttled_millis" : 0, "requests_per_second" : -1.0, "throttled_until_millis" : 0, "failures" : [ ] }Hapus indeks cadangan. Dalam contoh ini, indeks cadangannya adalah kibana123.
DELETE kibana123Setelah berhasil dijalankan,
"accepted" : truedikembalikan.Lihat hasil pemulihan.
Verifikasi apakah pola indeks Kibana telah dipulihkan. Jika ya, pemulihan berhasil. Untuk petunjuknya, lihat Langkah 7 di Pulihkan indeks .kibana_1 menggunakan Snapshot.

