Fitur auto-discover field indexes secara terus-menerus mengidentifikasi bidang dalam log yang baru ditulis namun belum memiliki indeks bidang yang dikonfigurasi, lalu secara otomatis membuat indeks bidang bertipe teks untuk bidang-bidang yang memenuhi syarat. Aktifkan fitur ini untuk menghilangkan kebutuhan pemeliharaan indeks manual ketika bidang log Anda sering berubah atau jumlahnya terlalu banyak untuk didaftar sebelumnya.
Informasi latar belakang
Layanan Log Sederhana menggunakan teknologi indeks untuk menyediakan kemampuan kueri dan analisis. Saat menggunakan indeks bidang, biasanya Anda perlu menentukan nama bidang terlebih dahulu serta mengonfigurasi tipe indeks, tokenizer, dan properti statistik untuk setiap bidang.
Namun, mempertahankan konfigurasi indeks bidang lengkap sejak awal sulit dilakukan dalam skenario berikut:
Jumlah bidang log sangat besar sehingga Anda tidak dapat memperoleh daftar bidang lengkap sebelumnya.
Saat bisnis Anda terus berkembang, bidang baru ditambahkan ke dalam log. Memperbarui konfigurasi indeks secara manual menimbulkan biaya pemeliharaan yang tinggi.
Beberapa bidang hanya muncul dalam skenario tertentu dan mungkin tidak terdapat dalam sampel log awal yang digunakan untuk pembuatan indeks otomatis.
Dalam skenario tersebut, Anda sering kali baru menyadari bahwa bidang tertentu tidak memiliki indeks saat perlu menganalisisnya. Indeks yang baru dibuat hanya berlaku untuk data yang ditulis setelahnya, dan reindexing memiliki batasan rentang waktu. Menganalisis data historis tanpa indeks menjadi tidak praktis.
Untuk mengatasi masalah ini, Layanan Log Sederhana menyediakan fitur auto-discover field indexes. Setelah diaktifkan, Layanan Log Sederhana secara terus-menerus mengidentifikasi bidang tingkat atas dalam log yang baru ditulis namun belum memiliki konfigurasi indeks bidang, lalu secara otomatis membuat indeks bidang bertipe teks dengan statistik diaktifkan. Setelah indeks bidang tersebut berlaku, Anda dapat menggunakan field_name:field_value untuk kueri berbasis bidang serta menggunakan Pernyataan SQL untuk penyaringan, pengelompokan, agregasi, dan analisis.
Manfaat
Biaya pemeliharaan lebih rendah — Anda tidak perlu mendata semua bidang sebelumnya atau memperbarui konfigurasi indeks secara manual setiap kali bidang log baru ditambahkan.
Adaptasi berkelanjutan terhadap perubahan bidang — Setelah fitur ini diaktifkan, sistem terus-menerus menemukan bidang dalam log yang ditulis selanjutnya, tanpa dibatasi oleh sampel log yang tersedia saat indeks pertama kali diaktifkan.
Celah data historis lebih sedikit — Dengan menemukan dan membuat indeks untuk bidang baru saat log ditulis, fitur ini mengurangi masalah ketidakmampuan melakukan kueri atau analisis terhadap data historis akibat penemuan yang tertunda.
Kueri dan analisis cepat — Bidang yang ditemukan secara otomatis menggunakan indeks bidang untuk kueri dan mendukung analisis statistik SQL.
Konfigurasi granular — Untuk bidang stabil yang memerlukan kueri rentang numerik, tokenizer khusus, atau tipe lainnya, Anda dapat mengonfigurasinya lebih lanjut sebagai indeks bidang tertentu.
Prasyarat
Fitur ini saat ini tersedia melalui allowlist. Setelah allowlist diaktifkan untuk akun Anda, tombol toggle terkait akan muncul di Konsol. Untuk meminta akses, kirimkan Tiket.
Anda telah membuat Logstore Jenis Penyimpanan Standar. Logstore Kueri tidak mendukung auto-discover field indexes.
Anda telah mengaktifkan indeks teks penuh untuk Logstore tersebut. Fitur auto-discover field indexes bergantung pada konfigurasi indeks teks penuh. Untuk informasi selengkapnya, lihat Create indexes.
Akun Anda memiliki izin untuk memodifikasi konfigurasi indeks Logstore.
Mengaktifkan auto-discover field indexes
Masuk ke Konsol Layanan Log Sederhana.
Pada daftar Proyek, klik proyek target.
Di tab , klik Logstore target.
Di halaman Search & Analysis, pilih .
Jika Anda belum membuat indeks, klik Enable Index dan pastikan indeks teks penuh telah diaktifkan.
Pilih toggle Auto-discover unspecified fields (full-text index required), lalu klik OK.
Setelah beberapa menit, refresh halaman konfigurasi indeks dan verifikasi bahwa bagian Auto-discovered fields muncul.
Auto-discover unspecified fields dan Auto-generate indexes pada halaman Konsol adalah fitur yang berbeda:
Auto-generate indexes — Menghasilkan rekomendasi konfigurasi indeks bidang berdasarkan pratinjau log sebagai operasi satu kali. Konfigurasi hanya berlaku setelah dikonfirmasi pengguna.
Auto-discover unspecified fields — Secara terus-menerus menemukan bidang baru dalam log yang baru ditulis dan secara otomatis membuat indeks bidang setelah diaktifkan. Tidak diperlukan konfirmasi pengguna untuk setiap bidang baru.
Menonaktifkan toggle hanya menghentikan penemuan bidang baru. Fitur ini tidak secara otomatis menghapus indeks bidang yang telah dibuat sebelumnya.
Menampilkan dan mengelola bidang yang ditemukan secara otomatis
Setelah Anda mengaktifkan fitur ini, Layanan Log Sederhana secara terus-menerus memeriksa bidang tingkat atas dalam log yang baru ditulis. Indeks bidang yang ditemukan dan dibuat secara otomatis ditampilkan di bagian Auto-discovered fields pada halaman konfigurasi indeks. Semua indeks bidang tersebut bertipe teks, memiliki sensitivitas huruf besar/kecil, tokenizer, dan properti inklusi bahasa Mandarin yang sama dengan indeks teks penuh, serta memiliki statistik yang diaktifkan.
Bidang yang ditemukan secara otomatis sudah memiliki data indeks yang dibuat dan dapat langsung digunakan untuk kueri dan analisis.
Untuk meningkatkan bidang yang ditemukan secara otomatis menjadi indeks bidang tertentu, di bagian Auto-discovered fields, temukan bidang target lalu klik ikon + di kolom Actions. Bidang tersebut akan dipindahkan ke bagian Specified Field Search di atas, tempat Anda dapat mengubah tipe bidang, sensitivitas huruf besar/kecil, tokenizer, atau properti inklusi bahasa Mandarin.
Menjalankan kueri dan menganalisis bidang yang ditemukan secara otomatis
Di halaman pencarian log, bidang yang ditemukan secara otomatis mendukung kueri berbasis bidang, analisis cepat, dan analisis SQL standar. Penggunaannya konsisten dengan indeks bidang yang dibuat secara manual. Bidang yang ditemukan secara otomatis selalu bertipe teks dan mewarisi konfigurasi tokenizer dari indeks teks penuh. Untuk mengubah tipe atau properti indeks, tingkatkan bidang tersebut menjadi indeks bidang tertentu.
Anda dapat langsung menjalankan kueri indeks pada bidang-bidang ini.
Bidang yang ditemukan secara otomatis selalu bertipe teks dalam konfigurasi indeks. Dalam skenario SQL di mana maksud numerik jelas dan analisis tipe standar gagal, mesin SQL akan mencoba mengonversi nilai bidang ke tipe numerik target. Nilai yang tidak dapat dikonversi akan diperlakukan sebagai NULL. Perilaku ini tidak mengubah tipe indeks bidang, dan ekspresi yang dapat dieksekusi sebagai string tetap mempertahankan semantik string. Contoh Pernyataan SQL berikut menggambarkan hal ini:
* | SELECT customer_city, product_category, sum(order_amount) AS total_amount GROUP BY customer_city, product_categoryPada contoh SQL di atas, customer_city, order_amount, dan product_category semuanya merupakan bidang yang ditemukan secara otomatis. Anda dapat langsung menggunakan sum(order_amount), memperlakukan order_amount sebagai tipe numerik untuk analisis.
Batasan
| Item | Deskripsi |
| Tipe Logstore | Hanya mendukung Logstore Jenis Penyimpanan Standar. Logstore Kueri tidak didukung. |
| Tingkat bidang | Hanya bidang tingkat atas dalam log yang ditemukan secara otomatis. Sub-bidang dalam string JSON tidak diekspansi secara otomatis. Konfigurasikan indeks bidang bertipe JSON secara manual untuk sub-bidang JSON. |
| Tipe bidang | Semua bidang yang ditemukan secara otomatis dibuat secara seragam sebagai tipe teks. Untuk tipe long, double, atau JSON, konfigurasikan indeks bidang secara manual. Untuk informasi selengkapnya, lihat Data types. |
| Panjang nama bidang | Nama bidang tidak boleh melebihi 128 karakter. |
| Karakter nama bidang | Nama bidang hanya boleh berisi huruf, angka, dan _, ., :, @, #, $, -, /, [, ]. Bidang yang dicadangkan sistem tidak diindeks secara otomatis. |
| Jumlah bidang | Maksimal 1.024 indeks bidang dapat dibuat secara otomatis per Logstore. Tidak ada bidang baru yang ditemukan setelah batas tercapai. |
| Sensitivitas huruf besar/kecil | Jika log berisi nama bidang yang hanya berbeda dalam kapitalisasi, seperti UserId dan userid, keduanya akan ditemukan. Dalam kueri indeks murni, keduanya dapat digunakan secara terpisah. Namun, nama kolom SQL tidak peka huruf besar/kecil, sehingga bidang semacam itu tidak dapat dibedakan secara andal dalam SQL. Meningkatkan keduanya menjadi indeks bidang tertentu juga tidak didukung. |
| Cakupan efektif | Hanya berlaku untuk data yang ditulis setelah fitur diaktifkan. Untuk data historis, Anda harus reindex logs. |
| Waktu efektif | Setelah Auto-discover unspecified fields diaktifkan dan bidang baru muncul dalam log, sistem dasar segera menghasilkan data indeks terkait. Namun, konfigurasi bidang yang ditemukan baru muncul di halaman setelah beberapa menit dan setelah halaman direfresh. |
Jika nama bidang diawali angka atau berisi karakter khusus, sertakan dalam tanda kutip ganda dalam Pernyataan SQL. Contoh sintaksnya sebagai berikut:
* | SELECT "service-name", count(*) GROUP BY "service-name"FAQ
Mengapa tidak ada bidang baru yang ditemukan setelah saya mengaktifkan auto-discover field indexes?
Periksa hal-hal berikut secara berurutan:
Apakah Logstore bertipe Standard.
Apakah indeks teks penuh dan auto-discover telah diaktifkan.
Apakah log baru yang berisi bidang tersebut telah ditulis setelah auto-discover diaktifkan.
Apakah nama bidang memenuhi persyaratan panjang dan karakter, serta bukan bidang yang dicadangkan sistem.
Apakah batas bidang auto-discover atau batas total indeks bidang telah tercapai.
Apakah Anda telah menunggu beberapa menit dan memuat ulang halaman konfigurasi Indeks setelah penulisan?
Mengapa bidang numerik tidak dapat langsung dikueri dengan operator perbandingan?
Auto-discover tidak dapat secara andal menginferensi tipe data jangka panjang suatu bidang dari sampel parsial, sehingga semua bidang yang ditemukan secara otomatis dibuat sebagai tipe teks. Kueri indeks murni hanya dapat melakukan pencocokan teks, bukan key > 3. Dalam SQL, mesin secara otomatis melakukan konversi tipe numerik sesuai kebutuhan untuk bidang yang ditemukan, sehingga Anda dapat langsung menggunakan * | SELECT xxx WHERE key > 3 dalam SQL. Untuk bidang numerik yang sudah pasti, konfigurasikan secara manual indeks bidang bertipe long atau double.
Apakah saya masih dapat menjalankan kueri terhadap bidang yang ditemukan secara otomatis setelah menonaktifkan fitur ini?
Ya. Menonaktifkan toggle hanya menghentikan penemuan bidang baru. Fitur ini tidak secara otomatis menghapus indeks bidang yang telah dibuat sebelumnya, dan Anda tetap dapat menjalankan kueri serta menganalisisnya.
Bagaimana penagihan untuk fitur auto-discover field indexes?
Fitur auto-discover field indexes itu sendiri tidak dikenai biaya terpisah. Setelah Anda mengaktifkannya, Layanan Log Sederhana secara otomatis membuat indeks bidang bertipe teks untuk bidang baru yang ditemukan, dan biaya terkait dihitung berdasarkan aturan penagihan indeks yang berlaku. Karena fitur ini bergantung pada indeks teks penuh yang sudah diaktifkan, biasanya tidak menimbulkan biaya tambahan signifikan. Biaya aktual bergantung pada volume penyimpanan indeks dan mode penagihan Logstore.