全部产品
Search
文档中心

Elasticsearch:Pulihkan indeks .kibana_1

更新时间:Feb 13, 2026

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

  1. Login ke Konsol Kibana kluster Elasticsearch Anda dan buka halaman utama Kibana.

  2. Di bilah navigasi kiri, klik Dev tools.

  3. 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?v

    aliyun_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.

    Catatan

    Catat id Snapshot terbaru yang diambil sebelum terjadi pengecualian Kibana. Anda akan membutuhkannya nanti.

    查看仓库中的快照信息

  4. 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.查看是否存在.kibana_1索引

  5. Jalankan perintah berikut untuk mengatur status indeks .kibana_1 menjadi close:

    Penting

    Jika 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/_close

    Setelah berhasil dijalankan, hasil berikut dikembalikan.

    {
      "acknowledged" : true,
      "shards_acknowledged" : true,
      "indices" : {
        ".kibana_1" : {
          "closed" : true
        }
      }
    }
  6. 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" : true dikembalikan.

    Penting

    Jika 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.

  7. Lihat hasil pemulihan.

    Lakukan langkah-langkah berikut untuk memverifikasi apakah pola indeks Kibana telah dipulihkan. Jika ya, pemulihan Snapshot berhasil.

    1. Di pojok kiri atas Konsol Kibana, klik ikon Show the left-side navigation pane.

    2. Di panel navigasi kiri, pilih Management > Stack Management.

    3. Di bagian Kibana, klik Index Patterns.

    4. Di halaman Index patterns, klik pola yang namanya diawali dengan kibana_ untuk memeriksa apakah data telah dipulihkan.

      查看恢复结果

Pulihkan menggunakan reindex

  1. 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.

    Catatan

    Anda hanya dapat melanjutkan ke langkah berikutnya jika indeks terkait .kibana_1 ada di kluster.

  2. 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" : true dikembalikan.

  3. 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" : [ ]
    }
  4. Hapus indeks cadangan. Dalam contoh ini, indeks cadangannya adalah kibana123.

    DELETE kibana123

    Setelah berhasil dijalankan, "accepted" : true dikembalikan.

  5. 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.查看恢复结果

FAQ

Q: Saat saya memulihkan indeks .kibana dari Snapshot, saya mendapatkan error konflik alias antara .kibana dan .kibana_1. Bagaimana cara memperbaikinya?

A: Setelah indeks .kibana_1 dihapus, Elasticsearch tidak dapat membaca data berdasarkan alias .kibana. Akibatnya, Elasticsearch membuat indeks .kibana. Indeks .kibana_1 dalam Snapshot menggunakan .kibana sebagai alias-nya. Saat Anda memulihkan indeks .kibana_1, sistem menampilkan pesan error yang menunjukkan terjadi konflik alias. Dalam kasus ini, kami menyarankan Anda menghapus indeks .kibana sebelum memulihkan indeks .kibana_1 dari Snapshot.

Q: Saat saya memulihkan indeks .kibana_1 dari Snapshot pada kluster Elasticsearch yang menjalankan versi selain V7.10, saya mendapatkan error index_closed_exception. Bagaimana cara memperbaikinya?

Error

A: Error ini terjadi karena indeks .kibana_1 dalam keadaan closed. Saat indeks ditutup, semua perintah yang dijalankan terhadapnya di Konsol Kibana akan gagal. Kami menyarankan Anda menghubungkan ke kluster Elasticsearch dari instans Elastic Compute Service (ECS) dan menggunakan perintah cURL untuk menyelesaikan operasi tersebut. Untuk informasi selengkapnya, lihat Hubungkan ke kluster dari command line. Misalnya, jalankan perintah cURL berikut untuk memulihkan indeks .kibana_1 dari Snapshot:

curl -u <user>:<password> -XPOST "http://<host>:<port>/_snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore" -H 'Content-Type: application/json' -d'{"indices": ".kibana_1","rename_pattern": ".kibana_1","rename_replacement": ".kibana_1"}'