Data log dalam proyek Simple Log Service dapat tersebar di berbagai Logstore, Metricstore, atau wilayah. Fitur StoreView dari Simple Log Service memungkinkan kueri terfederasi lintas wilayah dan lintas penyimpanan di antara sumber daya tersebut.
Apa itu StoreView
Dalam proyek SLS, StoreView adalah resource virtual yang mendefinisikan hubungan antara Logstore atau Metricstore yang dicakupnya. Anda dapat melakukan kueri data lintas penyimpanan melalui StoreView, tetapi tidak dapat memodifikasi data. Terdapat dua jenis: StoreView for Logstore mendukung kueri, analisis, dan predefinition dengan sintaks SPL, sedangkan StoreView for Metricstore hanya mendukung kueri lintas Metricstore.
Dalam Log Data View or Time Series Data View, Anda dapat melakukan kueri data lintas Logstore atau Metricstore. Misalnya, jika Logstore1 dan Logstore2 sama-sama memiliki field age dan dikaitkan dalam Storeview1, kueri terhadap age di Storeview1 akan mengembalikan hasil yang sesuai dari keduanya.

Izin
Untuk menggunakan StoreView sebagai Pengguna RAM atau Peran RAM, Anda harus memiliki izin yang diperlukan. Berikan izin melalui Buat Pengguna RAM dan berikan izin, Buat Peran RAM untuk layanan Alibaba Cloud dan berikan izin kepada Peran RAM, serta Gunakan Peran RAM untuk akses resource lintas akun.
Anda dapat memberikan izin dengan menggunakan system policy atau custom policy.
-
Kebijakan sistem: Ditentukan sebelumnya oleh Alibaba Cloud. Anda dapat menggunakan kebijakan ini tetapi tidak dapat mengubahnya.
-
Izin hanya-baca untuk Simple Log Service: AliyunLogReadOnlyAccess.
-
Izin manajemen penuh untuk Simple Log Service: AliyunLogFullAccess.
-
-
Kebijakan kustom: Kebijakan yang ditentukan pengguna yang Anda buat dan kelola sendiri.
-
Untuk membuat StoreView atau melakukan kueri data sebagai Pengguna RAM atau Peran RAM, Anda harus memiliki izin untuk melakukan kueri log di Logstore pada semua Logstore dan Metricstore yang terkait. Tambahkan pernyataan berikut ke kebijakan kustom Anda:
Penting-
Dalam kebijakan,
Logstoredapat merujuk pada Logstore atau Metricstore. -
Dalam kebijakan,
storeviewdapat merujuk pada Log Data View maupun Time Series Data View.
{ "Version": "1", "Statement": [ { "Action": "log:GetLogStoreLogs", "Resource":[ "acs:log:*:*:project/${projectName}/Logstore/*", "acs:log:*:*:project/${projectName}/storeview/*" ], "Effect": "Allow" } ] } -
-
Batasan
-
Maksimal 10 Log Data View or Time Series Data View dalam setiap proyek Simple Log Service project.
-
Setiap Log Data View or Time Series Data View dapat dikaitkan dengan maksimal 50 Logstore atau Metricstore.
-
Semua Logstore atau Metricstore dalam Log Data View or Time Series Data View harus termasuk dalam akun Alibaba Cloud yang sama.
-
StoreView hanya mendukung analisis lintas wilayah di dalam Tiongkok daratan. Analisis lintas batas tidak didukung.
Predefinition
Konsep
StoreView for Logstore mendukung predefinition menggunakan sintaks SPL saat dibuat. Kueri yang telah didefinisikan sebelumnya hanya mendukung perintah dan fungsi SPL, serta kata kunci dari perintah dan fungsi SPL. Gunakan predefinition untuk menyaring data atau menyelaraskan nama field guna agregasi. Misalnya, untuk mengagregasi field a dari LogStore1 dan field b dari LogStore2, gunakan extend a = b untuk menyelaraskan nama kolom. Contoh.
Batasan
Predefinition hanya didukung untuk StoreView for Logstore, tidak untuk StoreView for Metricstore.
Perintah yang didukung
Kueri yang telah didefinisikan sebelumnya dalam StoreView for Logstore mendukung operator dalam perintah dan fungsi SPL dan perintah dan fungsi SPL.
Untuk fungsi SQL dan SPL, lihat Ikhtisar fungsi.
Contoh
Untuk membuat atau mengubah StoreView for Logstore, lihat Buat StoreView for Logstore.
Sebagai contoh, jika Anda perlu mengagregasi field a dari Logstore1 dan field b dari Logstore2, Anda dapat menggunakan extend a = b (predefinition) saat membuat atau mengubah storeview agar nama kolom konsisten.
Contoh 1
Jika Anda menetapkan * | where a>1 sebagai predefinition di Logstore1, hanya log dalam StoreView yang sesuai dengan a>1 yang disertakan dalam analisis selanjutnya.
Kueri aktualnya adalah * | where cast(a as integer) > 1. Tabel pratinjau data menunjukkan bahwa nilai a dalam log yang difilter adalah 10 dan 9, keduanya lebih besar dari 1.
Contoh 2
Di Logstore1, menetapkan * | extend b = a sebagai predefinition akan menambahkan kolom bernama b ke Logstore1 dalam StoreView. Kolom ini memiliki nilai yang sama dengan kolom a dan digunakan untuk agregasi selanjutnya.
Setelah menetapkan extend b = a, tabel pratinjau data menunjukkan bahwa kolom baru b ditambahkan ke Logstore1, dan nilainya sama dengan kolom a.
Kueri
StoreView for Logstore
StoreView for Logstore mendukung kueri lintas Logstore. Misalnya, jika Log Data View dikaitkan dengan LogStore-1 dan LogStore-2, dan kedua Logstore tersebut memiliki field request_method, kueri (request_method:GET or request_method:POST) and status in [200 299] akan mengembalikan log yang sesuai dari LogStore-1 dan LogStore-2. Untuk sintaks kueri, lihat Sintaks dan fitur kueri.
Jika Log Data View berisi dua Logstore dengan konten log yang identik, pencarian kata kunci akan mengembalikan semua hasil dari kedua Logstore tersebut. Anda dapat menggunakan field tag untuk mengidentifikasi Logstore sumber masing-masing log.
Dalam hasil kueri, setiap log diidentifikasi oleh field tag __tag__:__logstore__, yang menunjukkan Logstore sumbernya. Misalnya, nilai logstore-2 menunjukkan bahwa log tersebut berasal dari Logstore-2.
StoreView for Metricstore
StoreView for Metricstore mendukung kueri lintas penyimpanan. Jika StoreView for Metricstore dikaitkan dengan metricstore1 dan metricstore2, masukkan pernyataan PromQL di kotak kueri. Backend secara otomatis melakukan kueri ke semua Metricstore yang terkait. Untuk sintaks kueri, lihat Sintaks untuk kueri dan analisis data metrik. Untuk membuat atau mengubah StoreView for Metricstore, lihat Kueri data lintas Metricstore.
StoreView for Metricstore hanya mendukung kueri PromQL. Kueri SQL, analisis, dan predefinition tidak didukung.
Di kotak dialog Create StoreView, masukkan StoreView Name, misalnya metric_storeview_test, pilih Time Series untuk StoreView Type, tambahkan Metricstore yang diinginkan di area Associated Stores, lalu klik OK.
Analisis
Konsep
Data View mendukung agregasi dan analisis lintas penyimpanan. Misalnya, jika StoreView dikaitkan dengan LogStore-1 dan LogStore-2, dan kedua Logstore tersebut memiliki field a, kueri * | select a, count(1) group by a akan mengembalikan jumlah total untuk field a dari LogStore-1 dan LogStore-2.
Agregasi memerlukan konsistensi kunci field. Gunakan predefinition untuk menyaring data dan mengganti nama field ketika nama kuncinya berbeda. Kemampuan predefinition.
Batasan
Analisis data hanya didukung untuk StoreView for Logstore, tidak untuk StoreView for Metricstore.
Fungsi yang didukung
Untuk fungsi SQL dan SPL, lihat Ikhtisar fungsi.
Contoh
Contoh 1
Log Data View dikaitkan dengan Logstore dari layanan yang sama dengan konten log identik. Pastikan konfigurasi indeks identik di semua Logstore (misalnya, pengindeksan teks penuh diaktifkan atau indeks bidang dikonfigurasi dengan cara yang sama). Lalu tambahkan Logstore tersebut ke Log Data View.
Setelah membuat Log Data View, Anda dapat menggunakan SQL untuk analisis. Hasil statistik untuk nilai status yang berbeda dalam 15 menit terakhir merupakan hasil agregasi dari semua log di kedua Logstore tersebut.
Pernyataan kuerinya adalah SELECT status, count(*) AS PV GROUP BY status. Hasil kueri menunjukkan PV=4 untuk status=200 dan PV=8 untuk status=302.
Contoh 2
Log Data View dikaitkan dengan Logstore berbeda dari layanan yang sama, tetapi beberapa field log-nya memiliki nama berbeda. Dalam kasus ini, Anda dapat menggunakan SPL yang telah didefinisikan sebelumnya untuk menyelaraskan nama field. Gunakan pernyataan SPL *|extend request_method = method untuk mengganti nama field method menjadi field request_method. Klik Preview data untuk melihat pratinjau hasil predefinition.
Kemudian, Anda dapat menggunakan request_method untuk melakukan analisis kueri.
Jalankan kueri * | SELECT request_method, count(*) GROUP BY request_method order by request_method desc di StoreView storeview_test. Grafik menunjukkan 4 permintaan dengan request_method GET dan 1 permintaan dengan request_method null.
StoreView vs. Store
|
Fitur |
Logstore/Metricstore |
StoreView |
|
Analisis cepat |
Didukung |
Didukung |
|
Grafik |
Didukung |
Didukung |
|
Dashboard |
Didukung |
Didukung |
|
Unduh log |
Didukung |
Didukung |
|
Pencarian tersimpan |
Didukung |
Tidak didukung |
|
SQL terjadwal |
Didukung |
Tidak didukung |
|
Alert |
Didukung |
Tidak didukung |
|
Pengelompokan log |
Didukung |
Tidak didukung |
|
Analisis field |
Didukung |
Tidak didukung |