Topik ini menjelaskan cara menanyakan dan menganalisis log situs web JSON serta menyediakan contoh pernyataan SQL.
Prasyarat
Log teks dalam mode JSON harus dikumpulkan untuk penanyaan dan analisis lebih lanjut. Untuk informasi lebih lanjut, lihat Kumpulkan log teks dalam mode JSON.
Langkah 1: Buat indeks
Masuk ke Konsol Simple Log Service.
Pada bagian Projects, klik proyek yang ingin Anda kelola.

Pada tab , klik Logstore yang ingin Anda kelola.

Di pojok kanan atas halaman penanyaan dan analisis, pilih . Jika belum ada indeks yang dibuat, klik Enable di halaman tersebut. Untuk informasi lebih lanjut tentang indeks teks penuh dan indeks bidang serta cara membuat indeks, lihat Buat Indeks.
CatatanJika Anda ingin menanyakan semua bidang dalam log, disarankan menggunakan indeks teks penuh. Jika hanya ingin menanyakan bidang tertentu, gunakan indeks bidang untuk mengurangi lalu lintas indeks. Untuk analisis bidang, Anda harus membuat indeks bidang dan menyertakan pernyataan SELECT dalam pernyataan penanyaan Anda.
Buat indeks bidang. Gambar berikut menunjukkan contoh log JSON dan cara membuat indeks untuk bidang.


Bidang
__topic__,__source__, dan__tag__adalah bidang cadangan dari Simple Log Service. Untuk informasi lebih lanjut, lihat Bidang Cadangan.Bidang
@timestamp,remote_addr,remote_user,http_referer,http_user_agent,status,server_protocal,http_x_forward_for, danupstream_addrtidak termasuk node daun. Anda dapat membuat indeks untuk bidangcontent.Bidang
requestdantimemencakup node daun, tetapi node daun tersebut bukan array JSON.Anda tidak dapat membuat indeks untuk bidang
requestatautime. Anda juga tidak dapat menanyakan atau menganalisis kedua bidang tersebut.Anda dapat membuat indeks untuk node daun dari bidang
requestdantime. Saat membuat indeks, tentukan nama lengkap node daun dengan format:KEY1.KEY2.KEY3. Contoh:time.request_timedantime.upstream_response_time. Setelah indeks dibuat, Anda dapat menanyakan bidangtime.request_timedantime.upstream_response_time.
Nilai dari bidang
body_bytes_sentadalah array JSON. Anda tidak dapat membuat indeks untuk bidang tersebut atau node daun dari bidang tersebut. Anda tidak dapat menanyakan atau menganalisis bidangbody_bytes_sentatau node daun dari bidangbody_bytes_sent.
Langkah 2: Reindeks data
Indeks baru hanya berlaku untuk data yang dikumpulkan setelah pembuatan indeks. Jika ingin menanyakan data historis, gunakan fitur reindeks. Untuk informasi lebih lanjut, lihat Reindeks Log untuk Logstore.
Langkah 3: Menanyakan dan Menganalisis Log
Di halaman penanyaan dan analisis Logstore, masukkan pernyataan penanyaan, tentukan rentang waktu penanyaan, lalu jalankan pernyataan tersebut. Gunakan tanda kutip ganda (") untuk nama bidang dan tanda kutip tunggal (') untuk string. Sertakan pernyataan SELECT dalam pernyataan analitik. Untuk informasi lebih lanjut tentang cara menanyakan dan menganalisis log, lihat Menanyakan dan Menganalisis Log. Untuk FAQ terkait penanyaan dan analisis log JSON, lihat FAQ tentang Penanyaan dan Analisis Log JSON.
Tanyakan log permintaan yang mengembalikan kode status 200.
content.status:200Tanyakan log permintaan yang panjangnya lebih besar dari 70.
content.request.request_length > 70Tanyakan log permintaan GET.
content.request.request_method:GETHitung jumlah log permintaan berdasarkan kode status.
* | SELECT "content.status", COUNT(*) AS PV GROUP BY "content.status"
Hitung jumlah permintaan berdasarkan durasi permintaan dan urutkan hasilnya berdasarkan durasi meningkat.
* | SELECT "content.time.request_time", COUNT(*) AS count GROUP BY "content.time.request_time" ORDER BY "content.time.request_time"
Hitung rata-rata durasi permintaan berdasarkan metode permintaan.
* | SELECT avg("content.time.request_time") AS avg_time,"content.request.request_method" GROUP BY "content.request.request_method"