All Products
Search
Document Center

Simple Log Service:Kompatibilitas antara Simple Log Service dan Elasticsearch

Last Updated:Jun 03, 2026

Simple Log Service menyediakan API kompatibel Elasticsearch yang menerjemahkan kueri DSL Elasticsearch menjadi kueri indeks SLS dan kueri analisis SQL. Topik ini mencakup prinsip kompatibilitas, operasi API yang didukung, serta sintaks DSL yang didukung.

Penting

Dokumen ini merupakan hak milik Alibaba Cloud. Dokumen ini menjelaskan cara layanan Alibaba Cloud berinteraksi dengan produk pihak ketiga dan dapat merujuk pada nama perusahaan atau produk pihak ketiga.

Prinsip kompatibilitas

Elasticsearch adalah mesin pencarian dan analisis terdistribusi open-source berbasis Apache Lucene. Saat melakukan migrasi dari Elasticsearch ke Simple Log Service, Anda mungkin perlu menyesuaikan alur kerja serta memodifikasi program hulu dan hilir. Simple Log Service menyediakan API kompatibel Elasticsearch untuk menyederhanakan proses migrasi tersebut.

API ini menerjemahkan kueri DSL Elasticsearch menjadi kueri indeks Simple Log Service dan kueri analisis SQL, lalu mengembalikan hasil dalam format respons API Elasticsearch.

Catatan
  • API kompatibel Elasticsearch didasarkan pada spesifikasi Elasticsearch 7.10.

  • API kompatibel Elasticsearch hanya mendukung Logstore Standar, dan Anda harus membuat setidaknya satu field index.

Titik akhir API kompatibel Elasticsearch

Format titik akhir adalah https://${project}.${sls-endpoint}/es/. Contohnya, https://etl-guangzhou.cn-guangzhou.log.aliyuncs.com/es/. ${project} adalah nama proyek dan ${sls-endpoint} adalah titik akhir Simple Log Service. Untuk informasi selengkapnya, lihat Endpoints.

Operasi API Elasticsearch yang didukung

API kompatibel Elasticsearch mendukung operasi berikut.

Metode permintaan

Jalur API

Deskripsi

Post

/${index}/_search

Menanyakan indeks tertentu. Indeks tersebut dipetakan ke proyek dan Logstore Simple Log Service dalam format ${project}.${logstore}.

Post

/${index}/_async_search

Menjalankan kueri batch.

Post

/_msearch

Menjalankan kueri batch.

Post

/${index}/_bulk

Menulis data ke indeks tertentu.

Penting

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

Get

/${index}/_mapping

Mendapatkan pemetaan indeks tertentu.

DSL Elasticsearch yang Didukung

API kompatibel Elasticsearch mendukung DSL Elasticsearch berikut.

DSL yang terkait kueri

DSL

Deskripsi

bool

Menjalankan operasi Boolean.

match_all

Mencocokkan semua log.

match

Mencocokkan suatu indeks.

match_phrase

Pencocokan frasa.

Diterjemahkan menjadi klausa SQL LIKE. Hanya mengembalikan bidang yang diindeks.

multi_match

Mencocokkan beberapa bidang.

prefix

Menjalankan kueri awalan.

range

Menjalankan kueri rentang.

term

Menjalankan kueri tepat.

Diterjemahkan ke sintaks kueri indeks Simple Log Service.

terms

Menjalankan kueri untuk beberapa kata kunci.

Diterjemahkan ke sintaks kueri indeks Simple Log Service.

wildcard

Mencocokkan pola wildcard.

Diterjemahkan ke sintaks analisis SQL Simple Log Service.

regexp

Mencocokkan ekspresi reguler.

Diterjemahkan ke sintaks regexp_like SQL. Hanya mengembalikan bidang yang diindeks.

exists

Memeriksa apakah suatu bidang ada.

ids

Menanyakan bidang ID.

DSL yang terkait agregasi

Kategori

DSL

Deskripsi

Statistik kelompok

Date histogram

Mengelompokkan statistik berdasarkan bidang @timestamp.

Histogram

Mengelompokkan statistik berdasarkan interval numerik.

Range

Mengelompokkan statistik berdasarkan rentang numerik.

Terms

Mengelompokkan statistik berdasarkan nilai unik suatu bidang.

Filter

Mengelompokkan statistik berdasarkan satu kondisi filter.

Filters

Mengelompokkan statistik berdasarkan beberapa kondisi filter.

Statistik metrik

Min

Menghitung nilai minimum.

Max

Menghitung nilai maksimum.

Avg

Menghitung nilai rata-rata.

Sum

Menghitung jumlah total.

Count

Menghitung jumlah entri.

Cardinality

Menghitung jumlah nilai unik.

Percentiles

Menghitung persentil.

Log yang dikembalikan

Top hits

Mengembalikan log yang paling sesuai per kelompok.

Perbedaan dari Elasticsearch standar

  • API kompatibel Elasticsearch tidak mendukung pembaruan data.

  • API kompatibel Elasticsearch tidak mendukung kueri berbasis skrip.

  • Satu Logstore mendukung data hingga petabyte, sehingga rollover indeks tidak diperlukan.

  • Indeks tidak dibuat secara otomatis. Buat melalui API atau Konsol. Buat indeks.

  • Bidang-bidang berikut memiliki pemetaan khusus dalam DSL Elasticsearch.

    Elasticsearch

    Simple Log Service

    Deskripsi

    @timestamp

    __time__

    Bidang @timestamp dipetakan ke bidang __time__ Simple Log Service dalam kueri.

    _id

    None

    Dipetakan ke bidang _id jika bidang tersebut ada dalam data Simple Log Service. Jika bidang _id tidak ada, bidang tersebut akan diisi otomatis dengan uuid atau _pack_meta.

Otorisasi RAM

Berikan izin kueri dan tulis kepada Pengguna Resource Access Management (RAM) untuk API kompatibel Elasticsearch menggunakan salah satu kebijakan akses berikut.

  • Kebijakan sistem: mudah dikonfigurasi.

  • Kebijakan kustom: memberikan izin detail halus tetapi kompleks untuk dikonfigurasi.

Otorisasi sederhana

Gunakan kebijakan sistem untuk memberikan izin kueri dan tulis kepada Pengguna RAM untuk API kompatibel Elasticsearch. Kelola izin Pengguna RAM.

Nama kebijakan sistem

Izin kueri

Izin tulis

AliyunLogFullAccess

Ya

Ya

AliyunLogReadOnlyAccess

Ya

Tidak

Kebijakan kustom

Gunakan kebijakan kustom untuk izin detail halus. Buat kebijakan kustom. Kelola izin Pengguna RAM.

  • Berikan izin kueri dan tulis untuk API kompatibel 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/*"
            }
        ]
    }
  • Berikan izin hanya untuk kueri pada API kompatibel 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/*"
            }
        ]
    }
  • Berikan izin hanya untuk menulis pada API kompatibel Elasticsearch.

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