All Products
Search
Document Center

Simple Log Service:Mengelola store

Last Updated:Apr 01, 2026

Store adalah unit penyimpanan dan kueri data di Simple Log Service. Untuk menangani berbagai tipe data, Simple Log Service menyediakan tiga jenis store: LogStore, MetricStore, dan EventStore.

Memilih jenis toko

Simple Log Service menyediakan tiga jenis store: LogStore, MetricStore, dan EventStore. Perbedaan utama antara jenis-jenis store ini terletak pada kompatibilitas model datanya. Pilih tipe store yang sesuai dengan data Anda. Jika tidak memiliki persyaratan khusus, Anda dapat menggunakan LogStore sebagai pilihan default.

Tipe store

Skenario penggunaan

LogStore

  • Log: Representasi abstrak dari perubahan dalam suatu sistem seiring waktu. Log merupakan kumpulan operasi terurut pada objek tertentu beserta hasilnya. Dalam arti luas, hal ini mencakup hampir semua tipe data, sehingga LogStore menjadi pilihan default yang baik.

  • Trace: Mencatat informasi pemrosesan untuk satu permintaan tunggal, termasuk panggilan layanan dan durasi pemrosesannya.

MetricStore

Data deret waktu (metric): Terdiri dari pengenal deret waktu dan titik data. Titik data dengan pengenal yang sama membentuk satu deret waktu. Gunakan MetricStore ketika data Anda memerlukan penyimpanan berbasis deret waktu.

EventStore

Data event (event): Catatan kejadian penting dan bernilai, seperti alert pemantauan atau hasil pekerjaan inspeksi berkala. Gunakan EventStore ketika data Anda memerlukan penyimpanan berbasis event.

LogStore

LogStore adalah unit untuk menyimpan dan mengkueri data log di Simple Log Service. Setiap LogStore termasuk dalam satu proyek, dan setiap proyek dapat berisi beberapa LogStore. Anda dapat membuat beberapa LogStore dalam proyek target sesuai kebutuhan. Biasanya, LogStore terpisah dibuat untuk berbagai jenis log dari aplikasi yang sama. Misalnya, untuk mengumpulkan log operasi, log aplikasi, dan log akses dari aplikasi bernama App A, buat proyek bernama app-a, lalu buat LogStore bernama operation_log, application_log, dan access_log dalam proyek tersebut untuk menyimpan masing-masing jenis log secara terpisah.

Anda harus menentukan LogStore saat melakukan operasi seperti menulis, mengkueri, menganalisis, memproses, mengonsumsi, atau mengirimkan log.

  • LogStore adalah unit pengumpulan log.

  • LogStore adalah unit untuk menyimpan, memproses, mengonsumsi, dan mengirimkan log.

  • Anda dapat membuat indeks di LogStore untuk mengkueri dan menganalisis log.

MetricStore

MetricStore adalah unit untuk menyimpan dan mengkueri data deret waktu di Simple Log Service. Setiap MetricStore termasuk dalam satu proyek, dan setiap proyek dapat berisi beberapa MetricStore. Anda dapat membuat beberapa MetricStore dalam satu proyek sesuai kebutuhan. Biasanya, MetricStore berbeda dibuat untuk berbagai jenis data deret waktu. Misalnya, untuk mengumpulkan data pemantauan host dasar, data pemantauan layanan cloud, dan data pemantauan aplikasi bisnis, buat proyek bernama demo-monitor, lalu buat MetricStore bernama host-metrics, cloud-service-metrics, dan app-metrics dalam proyek tersebut untuk menyimpan jenis data tersebut secara terpisah.

Anda harus menentukan MetricStore saat menulis, mengkueri, menganalisis, atau mengonsumsi data deret waktu.

  • MetricStore adalah unit pengumpulan data deret waktu.

  • MetricStore adalah unit untuk menyimpan dan mengonsumsi data deret waktu.

  • Anda dapat mengkueri dan menganalisis data deret waktu menggunakan sintaks PromQL, SQL-92, dan SQL+PromQL.

EventStore

EventStore adalah unit untuk menyimpan dan mengkueri data event di Simple Log Service. Setiap EventStore termasuk dalam satu proyek, dan setiap proyek dapat berisi beberapa EventStore. Anda dapat membuat beberapa EventStore dalam satu proyek sesuai kebutuhan. Biasanya, EventStore berbeda dibuat untuk berbagai jenis data event. Misalnya, data seperti event anomali infrastruktur, event aplikasi bisnis, dan event kustom dapat dikategorikan dan disimpan dalam EventStore berbeda untuk keperluan penyimpanan dan analisis.

Anda harus menentukan EventStore saat menulis, mengkueri, menganalisis, atau mengonsumsi data event.

  • EventStore adalah unit pengumpulan data event.

  • EventStore adalah unit untuk menyimpan dan mengonsumsi data event.

Referensi

LogGroup

LogGroup adalah kumpulan log dan berfungsi sebagai unit dasar untuk operasi baca dan tulis. Semua log dalam satu LogGroup memiliki metadata yang sama, seperti alamat IP dan sumber. Saat menulis atau membaca log dari Simple Log Service, beberapa log dikemas menjadi satu LogGroup untuk diproses. Pendekatan ini mengurangi jumlah operasi baca-tulis dan meningkatkan efisiensi. Setiap LogGroup memiliki ukuran maksimum 5 MB.

日志组

Data log

Log adalah representasi abstrak dari perubahan dalam suatu sistem seiring waktu, yang terdiri dari kumpulan operasi terurut pada objek tertentu beserta hasilnya. Data log hadir dalam berbagai bentuk, seperti log teks (LogFile), event, log biner database (BinLog), dan data deret waktu (metric). Simple Log Service menggunakan model data semi-terstruktur untuk mendefinisikan log. Sebuah log berisi lima bidang data: topic, time, content, source, dan tags. Tabel berikut menjelaskan persyaratan format untuk setiap bidang data.

Bidang data

Deskripsi

Format

Topic

Simple Log Service menggunakan bidang terpesan (__topic__) untuk mengidentifikasi topik log, yang membantu membedakan log dari layanan, pengguna, atau instans berbeda. Misalnya, jika Sistem A memiliki modul untuk pemrosesan permintaan HTTP antarmuka depan, cache, pemrosesan logika, dan penyimpanan, Anda dapat menetapkan topik unik untuk log masing-masing modul, seperti http_module, cache_module, logic_module, dan store_module. Setelah log dikumpulkan ke dalam LogStore yang sama, Anda dapat menggunakan topik untuk mengidentifikasi sumber log dengan cepat. Topik harus ditetapkan di Global Settings pada Konfigurasi Logtail.

Gambar berikut menunjukkan hubungan antara LogStore, topik, dan shard.

String apa pun dengan panjang 0 hingga 128 byte, termasuk string kosong.

Jika tidak perlu membedakan log dalam LogStore, Anda dapat menetapkan topik sebagai string kosong selama pengumpulan log. String kosong merupakan nilai topik yang valid.

Time

Bidang terpesan (__time__) yang mengidentifikasi waktu log. Untuk informasi lebih lanjut, lihat Bidang terpesan.

Stempel waktu UNIX.

Content

Konten log, yang terdiri dari satu atau beberapa item konten dalam format Key:Value.

Saat menggunakan Logtail dalam mode simple (single-line atau multi-line) untuk mengumpulkan log, Logtail tidak mengurai konten log. Seluruh log mentah disimpan dalam bidang content.

Format pasangan Key:Value adalah sebagai berikut:

  • Key: Nama bidang. Harus berupa string UTF-8 dengan panjang 1 hingga 128 byte. Kunci dapat berisi huruf, garis bawah (_), dan angka, tetapi tidak boleh dimulai dengan angka. Anda tidak boleh menggunakan nama terpesan berikut sebagai kunci.

    • __time__

    • __source__

    • __topic__

    • __partition_time__

    • _extract_others_

    • __extract_others__

  • Value: String apa pun dengan ukuran maksimum 1 MB.

Source

Bidang terpesan (__source__) yang mengidentifikasi sumber log, seperti alamat IP server yang menghasilkan log tersebut.

String apa pun dengan panjang 0 hingga 128 byte.

Tags

Tag log, yang mencakup jenis berikut:

  • Tag kustom: Anda dapat menambahkan tag ini saat menulis log dengan memanggil operasi API PutLogs.

  • Tag sistem: Tag yang ditambahkan oleh Simple Log Service ke log, termasuk __client_ip__ dan __receive_time__.

Kamus pasangan kunci-nilai string. Dalam log, tag ditampilkan dengan awalan __tag__:.

Contoh

Contoh berikut menggunakan log akses website untuk menunjukkan pemetaan antara log mentah dan model data di Simple Log Service.

  • Log mentah

    127.0.0.1 - - [01/Mar/2021:12:36:49  0800] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
  • Setelah log dikumpulkan menggunakan Logtail dalam mode simple, seluruh log mentah disimpan dalam bidang content.

    日志样例

  • Setelah log dikumpulkan menggunakan Logtail dalam mode ekspresi reguler, konten log distrukturkan dengan mengekstraksi konten menjadi beberapa pasangan kunci-nilai berdasarkan ekspresi reguler yang dikonfigurasi.

    日志样例

Data deret waktu (metric)

Data deret waktu terdiri dari pengenal deret waktu dan titik data. Titik data dengan pengenal yang sama membentuk satu deret waktu. Tipe data deret waktu di Simple Log Service sesuai dengan model data Prometheus. Semua data dalam MetricStore disimpan sebagai data deret waktu.

image

Pengenal deret waktu

Setiap deret waktu diidentifikasi secara unik oleh nama metrik dan sekumpulan label.

  • Nama metrik adalah pengenal string yang menunjukkan tipe metrik. Nama metrik harus mengikuti ekspresi reguler [a-zA-Z_:][a-zA-Z0-9_:]*. Contohnya, http_request_total merepresentasikan jumlah total permintaan HTTP yang diterima.

  • Label terdiri dari pasangan kunci-nilai yang dipisahkan oleh tanda pipa vertikal (|). Label mengidentifikasi atribut suatu metrik. Kunci harus sesuai dengan ekspresi reguler [a-zA-Z_][a-zA-Z0-9_]*, dan nilai tidak boleh mengandung tanda pipa vertikal (|). Contohnya, method adalah POST, dan URL adalah /api/v1/get .

Titik data

Titik data merepresentasikan nilai deret waktu pada waktu tertentu. Setiap titik data terdiri dari stempel waktu dan nilai. Stempel waktu memiliki presisi nanodetik, dan nilainya bertipe double.

Struktur data

Protokol penulisan data deret waktu sama dengan protokol untuk log dan menggunakan metode pengkodean data Protobuf. Pengenal deret waktu dan titik data disimpan dalam bidang content, seperti dijelaskan dalam tabel berikut.

Bidang

Deskripsi

Contoh

__name__

Nama metrik.

nginx_ingress_controller_response_size

__labels__

Informasi label dalam format {key}#$#{value}|{key}#$#{value}|{key}#$#{value}.

Catatan
  • Kunci label harus diurutkan secara alfabetis.

  • Kami menyarankan agar Anda tidak menulis label yang memiliki nilai kosong. Misalnya, untuk informasi label app#$#|controller_class#$#nginx, jangan menulis label dengan kunci app ke MetricStore karena hal ini dapat menyebabkan kegagalan perhitungan agregasi PromQL.

app#$#ingress-nginx|controller_class#$#nginx|controller_namespace#$#kube-system|controller_pod#$#nginx-ingress-controller-589877c6b7-hw9cj

__time_nano__

Stempel waktu. Anda dapat menulis stempel waktu dengan berbagai presisi, seperti detik (s), milidetik (ms), mikrodetik (us), dan nanodetik (ns). Saat menjalankan kueri SQL, semua stempel waktu dinormalisasi ke presisi mikrodetik (us) dalam output untuk memastikan konsistensi dalam perhitungan waktu.

1585727297293000

__value__

Nilai.

36.0

Catatan

MetricStore tidak menyimpan bidang kustom selain yang tercantum dalam tabel di atas, seperti topic, source, dan tag log, saat Anda menulis data menggunakan SDK. Untuk informasi lebih lanjut, lihat Menulis data deret waktu menggunakan SDK.

Contoh

Kueri semua data deret waktu mentah untuk metrik process_resident_memory_bytes dalam rentang waktu tertentu.

* | select * from "sls-mall-k8s-metrics.prom" where __name__ = 'process_resident_memory_bytes' limit all

image

Data event

Event adalah catatan kejadian penting dan bernilai, seperti alert pemantauan atau hasil pekerjaan inspeksi berkala. Data event di Simple Log Service mengikuti spesifikasi CloudEvents.

Tipe bidang

Nama bidang

Wajib

Format data

Deskripsi

Bidang protokol

specversion

Ya

String

Sesuai spesifikasi protokol CloudEvents, nilai default-nya adalah 1.0.

id

Ya

String

ID event. Anda dapat menggunakan source+id untuk mengidentifikasi event secara unik.

source

Ya

String

Konteks tempat event terjadi, seperti sumber event atau instans yang menerbitkan event tersebut.

type

Ya

String

Tipe event, seperti sls.alert.

subject

Tidak

String

Subjek event melengkapi bidang source, misalnya dengan menjelaskan objek yang benar-benar memicu event tersebut.

datacontenttype

Tidak

String

Tipe event. Nilai default-nya adalah application/cloudevents+json.

dataschema

Tidak

URI

Skema untuk bidang data. Nilai default-nya kosong.

data

Tidak

JSON

Muatan event. Formatnya bervariasi tergantung sumber dan tipe event.

time

Ya

Stempel waktu

Waktu event. Untuk format spesifiknya, lihat RFC 3339. Contohnya, 2022-10-17T11:20:45.984+0800.

Bidang ekstensi

title

Ya

String

Judul event.

message

Ya

String

Deskripsi event.

status

Ya

String

Status event. Nilai yang valid:

  • ok

  • info

  • warning

  • error

Contoh

Blok kode berikut menunjukkan contoh event alert:

{
    "specversion": "1.0",
    "id": "af****6c",
    "source": "acs:sls",
    "type": "sls.alert",
    "subject": "https://sls.console.alibabacloud.com/lognext/project/demo-alert-chengdu/logsearch/nginx-access-log?encode=base64&endTime=1684312259&queryString=c3RhdHVzID49IDQwMCB8IHNlbGVjdCByZXF1ZXN0X21ldGhvZCwgY291bnQoKikgYXMgY250IGdyb3VwIGJ5IHJlcXVlc3RfbWV0aG9kIA%3D%3D&queryTimeType=99&startTime=1684311959",
    "datacontenttype": "application/cloudevents+json",
    "data": {
        "aliuid": "16****50",
        "region": "cn-chengdu",
        "project": "demo-alert-chengdu",
        "alert_id": "alert-16****96-247190",
        "alert_name": "Nginx Access Error",
        "alert_instance_id": "77****e4-1aad9f7",
        "alert_type": "sls_alert",
        "next_eval_interval": 300,
        "fire_time": 1684299959,
        "alert_time": 1684312259,
        "resolve_time": 0,
        "status": "firing",
        "severity": 10,
        "labels": {
            "request_method": "GET"
        },
        "annotations": {
            "__count__": "1",
            "cnt": "49",
            "desc": "Nginx has had 49 GET request errors in the last five minutes",
            "title": "Nginx Access Error Alert Triggered"
        },
        "results": [
            {
                "region": "cn-chengdu",
                "project": "demo-alert-chengdu",
                "store": "nginx-access-log",
                "store_type": "log",
                "role_arn": "",
                "query": "status >= 400 | select request_method, count(*) as cnt group by request_method ",
                "start_time": 1684311959,
                "end_time": 1684312259,
                "fire_result": {
                    "cnt": "49",
                    "request_method": "GET"
                },
                "raw_results": [
                    {
                        "cnt": "49",
                        "request_method": "GET"
                    },
                    {
                        "cnt": "3",
                        "request_method": "DELETE"
                    },
                    {
                        "cnt": "7",
                        "request_method": "POST"
                    },
                    {
                        "cnt": "6",
                        "request_method": "PUT"
                    }
                ],
                "raw_result_count": 4,
                "truncated": false,
                "dashboard_id": "",
                "chart_title": "",
                "is_complete": true,
                "power_sql_mode": "auto"
            }
        ],
        "fire_results": [
            {
                "cnt": "49",
                "request_method": "GET"
            }
        ],
        "fire_results_count": 1,
        "condition": "Count:[1] > 0; Condition:[49] > 20",
        "raw_condition": "Count:__count__ > 0; Condition:cnt > 20"
    },
    "time": "2023-05-17T08:30:59Z",
    "title": "Nginx Access Error Alert Triggered",
    "message": "Nginx has had 49 GET request errors in the last five minutes",
    "status": "error"
}

Data trace

Trace mencatat informasi pemrosesan dalam cakupan satu permintaan tunggal, termasuk panggilan layanan dan durasi pemrosesannya. Setiap trace berkorespondensi dengan satu rantai panggilan. Untuk informasi lebih lanjut tentang format data, lihat Format data trace. Dalam arti luas, rantai panggilan merepresentasikan eksekusi transaksi atau proses dalam sistem terdistribusi. Dalam standar OpenTracing, trace adalah Graf Tak Berarah Siklik (DAG) yang terdiri dari beberapa span. Setiap span merepresentasikan segmen eksekusi berkelanjutan yang bernama dan berdurasi dalam trace tersebut.