Saat kluster Kibana di-reset, indeks konfigurasi .kibana_{num}-nya ({num} adalah variabel, seperti .kibana_1 atau .kibana_2) juga di-reset. Topik ini menggunakan .kibana_1 sebagai contoh untuk menunjukkan cara memulihkan indeks .kibana_{num} dari snapshot atau melalui pengindeksan ulang.
Latar Belakang
Indeks .kibana_{num} menyimpan konfigurasi Kibana seperti dashboard dan pola indeks. Kibana membaca data melalui alias .kibana, yang hanya mengarah ke satu indeks .kibana_{num} meskipun terdapat beberapa indeks tersebut. Hanya indeks tersebut yang menggunakan alias .kibana.
Jika indeks .kibana_1 rusak dan Anda perlu menghapus indeks .kibana_1 untuk mereset Kibana, atau jika tugas terjadwal yang salah konfigurasi menghapus indeks .kibana_1, maka .kibana_task_manager_1 akan membuat indeks .kibana_1 baru yang terikat ke alias .kibana. Semua pola indeks, dashboard, dan peran pengguna yang sebelumnya dikonfigurasi akan hilang.
Anda dapat memulihkan indeks .kibana_1 dengan metode berikut:
-
Pulihkan langsung dari snapshot.
-
Pulihkan ke indeks backup, lalu lakukan pengindeksan ulang data ke dalam indeks .kibana_1.
-
Buat ulang secara manual pola indeks atau peran pengguna Kibana.
Prasyarat
-
Cadangan snapshot otomatis diaktifkan, atau Anda telah melakukan backup manual terhadap indeks sistem. Snapshot tersebut harus berisi indeks .kibana_1 yang sehat.
-
Alias .kibana ada dan mengarah ke indeks .kibana_1. Jika indeks .kibana_1 tidak ada, restart Kibana untuk menginisialisasi indeks .kibana_1 baru.
Prosedur
Pemulihan snapshot
Masuk ke konsol Kibana kluster Elasticsearch Anda dan buka halaman utama Kibana.
Di bilah navigasi kiri, klik Dev tools.
-
Di tab Console, jalankan perintah berikut untuk menampilkan semua snapshot di repositori.
GET _cat/snapshots/aliyun_auto_snapshot?valiyun_auto_snapshot adalah nama repositori default untuk backup otomatis Alibaba Cloud Elasticsearch (selalu aliyun_auto_snapshot). Jika Anda menggunakan backup manual, ganti aliyun_auto_snapshot dengan nama repositori Anda.
Output akan menampilkan daftar semua snapshot beserta id dan status-nya.
CatatanCatat id dari snapshot terbaru yang dibuat sebelum masalah terjadi.
Contoh output:
GET _cat/snapshots/aliyun_auto_snapshot?v id status start_epoch start_time end_epoch end_time duration indices successful_shards failed_shards total_shards 1 es-cn-m7r23wodb0xxx 20220303020235 SUCCESS 1646244156 18:02:36 1646244168 18:02:48 12.6s 47 66 0 66 2 es-cn-m7r23wodb0xxx 20220304020204 SUCCESS 1646330525 18:02:05 1646330541 18:02:21 16.2s 47 66 0 66 3 es-cn-m7r23wodb0xxx 20220305020209 SUCCESS 1646416929 18:02:09 1646416946 18:02:26 17s 47 66 0 66 4 es-cn-m7r23wodb0xxx 20220306020206 SUCCESS 1646503327 18:02:07 1646503346 18:02:26 18.8s 47 66 0 66 5 es-cn-m7r23wodb0xxx 20220307020200 SUCCESS 1646589721 18:02:01 1646589743 18:02:23 21.8s 47 66 0 66 6 es-cn-m7r23wodb0xxx 20220308020218 SUCCESS 1646676142 18:02:22 1646676155 18:02:35 13s 47 66 0 66 7 es-cn-m7r23wodb0xxx 20220309020211 SUCCESS 1646762532 18:02:12 1646762539 18:02:19 7s 47 66 0 66 8 es-cn-m7r23wodb0xxx 20220310020210 SUCCESS 1646848931 18:02:11 1646848946 18:02:26 14.6s 47 66 0 66 9 es-cn-m7r23wodb0xxx 20220311020208 SUCCESS 1646935329 18:02:09 1646935342 18:02:22 13.8s 47 66 0 66 10 es-cn-m7r23wodb0xxx 20220312020212 SUCCESS 1647021733 18:02:13 1647021749 18:02:29 16s 47 66 0 66 -
Verifikasi bahwa snapshot berisi indeks .kibana_1.
GET _snapshot/aliyun_auto_snapshot/<yourSnapshotId><yourSnapshotId>: id snapshot yang diperoleh pada langkah sebelumnya, misalnya es-cn-m7r23wodb006n****_20220303020235.
Lanjutkan hanya jika output berisi indeks .kibana_1.
Di Kibana Dev Tools, jalankan perintah berikut dan pastikan daftar indices dalam respons berisi indeks .kibana_1. Hal ini menunjukkan bahwa snapshot dapat digunakan untuk memulihkan data Kibana.
GET _cat/snapshots/aliyun_auto_snapshot?v GET _snapshot/aliyun_auto_snapshot/es-cn-m7r23wodbxxx_20220303020235{ "snapshots" : [ { "snapshot" : "es-cn-m7r23woxxx_20220303020235", "uuid" : "AiB8unLlT9aWPoxxx", "version_id" : 7100099, "version" : "7.10.0", "indices" : [ ".kibana-event-log-7.10.0-000009", ".kibana-event-log-7.10.0-000010", "zltest", ".watches", "my-index-000001", ".transform-internal-005", ".async-search", "chinese_news", ".watcher-history-12-2022.03.02", "kibana_sample_data_logs", "zltest14", ".transform-notifications-000002", "zltest17", ".kibana_1", ".security-7", ".kibana-event-log-7.10.0-000012", "zltest16", "ilm-history-3-000010", ".triggered_watches", ".watcher-history-12-2022.02.25", "dest", "my-index-12345e", ".watcher-history-12-2022.02.24", "metrics-endpoint.metadata_current_default", ... ] } ] } -
Tutup indeks .kibana_1.
PentingMenutup indeks .kibana_1 dapat mencegah login ke Kibana. Jika hal ini terjadi, pulihkan indeks menggunakan perintah curl sebagai gantinya. FAQ.
POST /.kibana_1/_closeOutput yang diharapkan:
{ "acknowledged" : true, "shards_acknowledged" : true, "indices" : { ".kibana_1" : { "closed" : true } } } -
Pulihkan 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. Masukkan id yang diperoleh pada Langkah 3.
indices
Nama indeks yang akan dipulihkan.
rename_pattern
Opsional. Ekspresi reguler yang cocok dengan nama indeks yang akan dipulihkan.
rename_replacement
Opsional. Mengganti nama indeks yang cocok sesuai spesifikasi.
Jika berhasil, akan dikembalikan
"accepted" : true.PentingPada instans dengan versi selain 7.10, jika terjadi error
index_closed_exception index=".kibana_1"saat memulihkan indeks .kibana_1, lihat FAQ untuk solusinya. -
Verifikasi pemulihan.
Pastikan pola indeks Kibana telah dipulihkan.
-
Di pojok kiri atas konsol Kibana, klik ikon
. -
Di panel navigasi kiri, buka .
-
Di bagian Kibana, klik Index Patterns.
-
Di halaman Index Patterns, klik pola indeks yang diawali dengan kibana_ untuk memeriksa apakah datanya telah dipulihkan.
-
Pemulihan pengindeksan ulang
-
Verifikasi bahwa snapshot berisi indeks .kibana_1.
Ikuti Langkah 1 hingga 4 dalam Pemulihan snapshot.
CatatanLanjutkan hanya jika snapshot berisi indeks .kibana_1.
-
Pulihkan indeks .kibana_1 dari snapshot ke indeks backup bernama kibana123.
POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore { "indices": ".kibana_1", "rename_pattern": ".kibana_1", "rename_replacement": "kibana123" }Parameter
Deskripsi
<yourSnapshotId>
id snapshot. Masukkan id yang diperoleh pada Langkah 1.
indices
Nama indeks yang akan dipulihkan.
rename_pattern
Opsional. Ekspresi reguler yang cocok dengan nama indeks yang akan dipulihkan.
rename_replacement
Nama indeks backup.
Jika berhasil, akan dikembalikan
"accepted" : true. -
Lakukan pengindeksan ulang data dari indeks backup ke indeks .kibana_1.
POST _reindex { "source": { "index": "kibana123" }, "dest": { "index": ".kibana_1" } }Output yang diharapkan:
{ "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 backup kibana123.
DELETE kibana123Jika berhasil, akan dikembalikan
"accepted" : true. -
Verifikasi pemulihan.
Pastikan pola indeks Kibana telah dipulihkan. Ikuti Langkah 7 dalam Pemulihan snapshot. Di halaman Index Patterns di Kibana, pastikan ketiga pola indeks data sampel berikut berhasil dipulihkan: kibana_sample_data_ecommerce, kibana_sample_data_flights, dan kibana_sample_data_logs.