All Products
Search
Document Center

Simple Log Service:Kompatibilitas antara Simple Log Service dan Elasticsearch

Last Updated:Jul 06, 2025

Topik ini menjelaskan kompatibilitas antara Simple Log Service dan Elasticsearch, serta operasi API Elasticsearch dan bahasa domain-spesifik (DSL) Elasticsearch yang didukung oleh Simple Log Service.

Penting

Topik ini merupakan informasi milik Alibaba Cloud yang menjelaskan kemampuan yang disediakan untuk berinteraksi dengan layanan pihak ketiga. Nama perusahaan dan layanan pihak ketiga mungkin dirujuk dalam topik ini.

Kompatibilitas

Elasticsearch adalah mesin pencarian dan analitik terdistribusi sumber terbuka yang dibangun di atas Apache Lucene. Umumnya digunakan untuk pemrosesan data dan analisis. Jika Anda beralih dari mesin log Elasticsearch ke Simple Log Service, Anda mungkin perlu menyesuaikan kebiasaan penggunaan dan program hulu-hilir Anda. Untuk mempermudah transisi, Simple Log Service menyediakan API yang kompatibel dengan Elasticsearch guna memastikan migrasi solusi kueri dan analisis yang lancar serta mengurangi kesulitan dalam menggunakan Simple Log Service.

API yang kompatibel dengan Elasticsearch dari Simple Log Service menerjemahkan sintaks kueri DSL Elasticsearch menjadi sintaks kueri berbasis indeks dan sintaks analisis SQL dari Simple Log Service. Kemudian, hasil kueri dan analisis dikembalikan dalam format yang sesuai dengan persyaratan Elasticsearch, sehingga protokol kueri Elasticsearch dapat diimplementasikan.

Catatan
  • API yang kompatibel dengan Elasticsearch dari Simple Log Service diimplementasikan berdasarkan spesifikasi API Elasticsearch 7.10.

  • Anda hanya dapat memanggil operasi API yang kompatibel dengan Elasticsearch saat menggunakan Logstore Standar dan telah membuat setidaknya satu indeks bidang.

Titik akhir API yang kompatibel dengan Elasticsearch

Titik akhir API yang kompatibel dengan Elasticsearch memiliki format https://${project}.${sls-endpoint}/es/. Contoh: https://etl-guangzhou.cn-guangzhou.log.aliyuncs.com/es/. ${project} menentukan nama proyek, sedangkan ${sls-endpoint} menentukan titik akhir proyek. Untuk informasi lebih lanjut, lihat Titik Akhir.

Operasi API yang Didukung yang Kompatibel dengan Elasticsearch

Tabel berikut menjelaskan operasi API Elasticsearch yang didukung oleh API yang kompatibel dengan Elasticsearch dari Simple Log Service.

Metode Permintaan

Jalur API

Deskripsi

Post

/${index}/_search

Mengkueri indeks tertentu. Bidang indeks menentukan proyek Simple Log Service dan Logstore. Format: ${project}.${logstore}.

Post

/${index}/_async_search

Mengkueri beberapa sumber daya sekaligus.

Post

/_msearch

Mengkueri beberapa sumber daya sekaligus.

Post

/${index}/_bulk

Menulis data ke indeks tertentu.

Penting

Operasi _bulk hanya mendukung penulisan data dan tidak mendukung pembaruan data.

Get

/${index}/_mapping

Mengkueri pemetaan indeks tertentu.

DSL Elasticsearch yang Didukung

Tabel berikut menjelaskan DSL Elasticsearch yang didukung oleh API yang kompatibel dengan Elasticsearch dari Simple Log Service.

DSL Terkait Kueri

DSL

Deskripsi

bool

Menjalankan operasi Boolean.

match_all

Mencocokkan semua log.

match

Mencocokkan indeks.

match_phrase

Mencocokkan frase.

Saat Anda melakukan kueri, operator diterjemahkan menjadi klausa SQL LIKE dari Simple Log Service. Bidang dalam hasil kueri dikonfigurasi dengan indeks bidang.

multi_match

Mencocokkan beberapa bidang.

prefix

Mengkueri awalan.

range

Mengkueri rentang.

term

Mengkueri istilah.

Saat Anda melakukan kueri, operator diterjemahkan menjadi sintaks kueri berbasis indeks dari Simple Log Service.

terms

Mengkueri beberapa istilah.

Saat Anda melakukan kueri, operator diterjemahkan menjadi sintaks kueri berbasis indeks dari Simple Log Service.

wildcard

Mencocokkan pola wildcard.

Saat Anda melakukan kueri, operator diterjemahkan menjadi sintaks analisis SQL dari Simple Log Service.

regexp

Mencocokkan ekspresi reguler.

Saat Anda melakukan kueri, operator diterjemahkan menjadi fungsi SQL regexp_like dari Simple Log Service. Bidang dalam hasil kueri dikonfigurasi dengan indeks bidang.

exists

Memeriksa apakah nilai ada.

ids

Mengkueri bidang ID.

DSL Terkait Agregasi

Kategori

DSL

Deskripsi

Analisis statistik berdasarkan grup

Histogram tanggal

Menganalisis statistik berdasarkan bidang @timestamp.

Histogram

Menganalisis statistik berdasarkan interval nilai tertentu.

Range

Menganalisis statistik berdasarkan rentang nilai.

Terms

Menganalisis statistik berdasarkan nilai unik suatu bidang.

Filter

Menganalisis statistik berdasarkan kondisi filter tunggal.

Filters

Menganalisis statistik berdasarkan beberapa kondisi filter.

Analisis statistik berbasis metrik

Min

Menghitung nilai minimum.

Max

Menghitung nilai maksimum.

Avg

Menghitung nilai rata-rata.

Sum

Menghitung total nilai.

Count

Menghitung jumlah.

Cardinality

Menghitung total jumlah nilai unik.

Percentiles

Menghitung persentil di mana suatu nilai berada.

Mengembalikan log

Top hits

Mengembalikan log agregat.

Perbedaan antara API yang kompatibel dengan Elasticsearch dan API standar Elasticsearch

  • API yang kompatibel dengan Elasticsearch dari Simple Log Service tidak mendukung pembaruan data.

  • API yang kompatibel dengan Elasticsearch dari Simple Log Service tidak mendukung pernyataan kueri yang berisi skrip.

  • Logstore Simple Log Service memungkinkan Anda mengkueri petabyte data. Saat menggunakan API yang kompatibel dengan Elasticsearch dari Simple Log Service, Elasticsearch tidak perlu melakukan rollover indeks.

  • Simple Log Service tidak secara otomatis membuat indeks. Anda harus membuat indeks dengan memanggil operasi API atau menggunakan konsol Simple Log Service. Untuk informasi lebih lanjut, lihat Buat Indeks.

  • Saat menggunakan DSL Elasticsearch untuk mengkueri bidang, perhatikan pemetaan antara bidang Elasticsearch dan Simple Log Service. Tabel berikut menjelaskan pemetaan bidang.

    Elasticsearch

    Simple Log Service

    Deskripsi

    @timestamp

    __time__

    Jika Anda menentukan bidang @timestamp dalam pernyataan kueri, bidang __time__ dari Simple Log Service dipetakan.

    _id

    Tidak ada

    Jika bidang _id ada di Simple Log Service, bidang _id di Elasticsearch dipetakan ke bidang _id di Simple Log Service. Jika bidang _id tidak ada di Simple Log Service, sistem menghasilkan bidang uuid atau _pack_meta dan memetakan nilai bidang _id ke bidang uuid atau _pack_meta.

    Berikan izin kepada pengguna RAM

    Anda dapat menggunakan metode berikut untuk memberikan izin kepada pengguna RAM agar dapat mengkueri atau menulis data menggunakan API yang kompatibel dengan Elasticsearch.

    • Mode Sederhana: Gunakan kebijakan sistem untuk memberikan izin yang diperlukan kepada pengguna RAM tanpa perlu mengonfigurasi parameter tambahan.

    • Mode Kustom: Buat kebijakan kustom dan lampirkan kebijakan tersebut ke pengguna RAM. Mode ini memungkinkan kontrol akses yang lebih halus, tetapi konfigurasinya lebih kompleks.

    Mode sederhana

    Gunakan kebijakan sistem untuk memberikan izin kepada pengguna RAM agar dapat mengkueri atau menulis data menggunakan API yang kompatibel dengan Elasticsearch. Tabel berikut menjelaskan kebijakan sistem. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM dan Otorisasi Pengguna RAM untuk Mengakses Simple Log Service.

    Nama kebijakan sistem

    Izin kueri

    Izin tulis

    AliyunLogFullAccess

    Ya

    Ya

    AliyunLogReadOnlyAccess

    Ya

    Tidak

    Mode kustom

    Gunakan kebijakan kustom untuk memberikan izin kepada pengguna RAM agar dapat mengkueri atau menulis data menggunakan API yang kompatibel dengan Elasticsearch. Contoh berikut menunjukkan cara mengonfigurasi kebijakan kustom. Untuk informasi lebih lanjut, lihat Buat Kebijakan Kustom dan Berikan Izin kepada Pengguna RAM.

    • Skrip berikut menunjukkan contoh kebijakan yang memberikan izin kepada pengguna RAM untuk mengkueri dan menulis data menggunakan API yang kompatibel dengan Elasticsearch:

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "log:GetIndex",
                      "log:GetLogStoreContextLogs",
                      "log:ListLogStores",
                      "log:GetLogStoreHistogram",
                      "log:GetLogstoreLogs",
                      "log:GetLogStoreContextLogs",
                      "log:GetCursorOrData",
                      "log:GetLogstore",
                      "log:PostLogStoreLogs"
                  ],
                  "Resource": "acs:log:*:*:project/*"
              }
          ]
      }
    • Skrip berikut menunjukkan contoh kebijakan yang memberikan izin kepada pengguna RAM untuk mengkueri data menggunakan API yang kompatibel dengan Elasticsearch:

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "log:GetIndex",
                      "log:GetLogStoreContextLogs",
                      "log:ListLogStores",
                      "log:GetLogStoreHistogram",
                      "log:GetLogstoreLogs",
                      "log:GetLogStoreContextLogs",
                      "log:GetCursorOrData",
                      "log:GetLogstore"
                  ],
                  "Resource": "acs:log:*:*:project/*"
              }
          ]
      }
    • Skrip berikut menunjukkan contoh kebijakan yang memberikan izin kepada pengguna RAM untuk menulis data menggunakan API yang kompatibel dengan Elasticsearch:

      {
          "Version": "1",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "log:PostLogStoreLogs"
                  ],
                  "Resource": "acs:log:*:*:project/*"
              }
          ]
      }