Anda dapat menggunakan fitur kueri log waktu nyata dari Simple Log Service (SLS) untuk menganalisis log akses OSS dan log pengukuran per jam. Fitur ini memungkinkan Anda memantau serta mengoptimalkan penggunaan OSS, mengidentifikasi dan menganalisis masalah, serta meningkatkan efisiensi penyimpanan dan akses. Topik ini menyajikan contoh umum kueri log waktu nyata.
Analisis lalu lintas keluar melalui Internet untuk file dalam folder OSS
Kueri penggunaan OSS tidak dapat dibatasi pada folder tertentu. Untuk menghitung lalu lintas keluar melalui Internet untuk file dalam suatu folder, Anda dapat menganalisis log akses OSS dengan cara berikut: filter berdasarkan titik akhir publik menggunakan bidang host, kecualikan permintaan asal CDN menggunakan bidang sync_request, dan cocokkan file berdasarkan awalan bidang object. Terakhir, jumlahkan nilai dalam bidang response_body_length untuk mendapatkan total lalu lintas.
Pernyataan kueri
Hitung total lalu lintas keluar melalui Internet untuk semua file dalam folder exampledir di bucket examplebucket.
* and __topic__ : oss_access_log and bucket: examplebucket and host : "examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request : cdn | select
SUM(response_body_length) AS total_traffic_out_byte
WHERE
url_decode(object) LIKE 'exampledir/%'
Hasil kueri
Bidang host dalam permintaan dapat dipalsukan, sehingga hasil kueri hanya merupakan perkiraan. Rujuk tagihan Anda untuk biaya aktual lalu lintas keluar melalui Internet dari OSS.
Total lalu lintas keluar melalui Internet untuk semua file dalam folder exampledir di bucket examplebucket adalah 11.749 byte.
Analisis perubahan ukuran file dalam folder OSS
Kueri penggunaan OSS menampilkan perubahan ukuran untuk semua file dalam suatu bucket, tetapi tidak untuk folder tertentu. Untuk menganalisis perubahan ukuran file dalam folder tertentu, Anda dapat mencocokkan awalan bidang object dalam log akses OSS guna mengidentifikasi file dalam folder tersebut, lalu menjumlahkan nilai dalam bidang delta_data_size untuk mendapatkan total perubahan ukuran semua file dalam folder tersebut.
Pernyataan kueri
Hitung perubahan ukuran file dalam folder exampledir di bucket examplebucket.
* and __topic__ : oss_access_log and bucket: examplebucket | select
SUM(delta_data_size) AS total_delta_data_size
WHERE
url_decode(object) LIKE 'exampledir/%'
Hasil kueri
Ukuran file dalam folder exampledir di bucket examplebucket bertambah sebesar 941 byte.
Analisis permintaan Internet OSS yang tidak dipercepat oleh CDN
Setelah Anda mengaktifkan akselerasi CDN, sejumlah besar permintaan Internet OSS mungkin tetap terjadi. Hal ini menunjukkan bahwa URL resource dalam aplikasi Anda masih mengarah ke origin OSS, bukan ke Domain akselerasi CDN. Untuk mengidentifikasi permintaan yang tidak dipercepat ini, Anda dapat menganalisis log akses OSS dengan memfilter titik akhir publik OSS menggunakan bidang host, mengecualikan permintaan asal CDN melalui bidang sync_request, serta menggunakan bidang referer untuk menentukan halaman web atau aplikasi sumber permintaan tersebut.
Pernyataan kueri
Analisis permintaan Internet OSS untuk bucket examplebucket yang tidak dipercepat oleh CDN.
* and __topic__: oss_access_log and bucket: examplebucket and host : "examplebucket.oss-cn-hangzhou.aliyuncs.com" not sync_request: cdn | select
referer,
host,
count(*) as request_count
group by
referer,
host
order by request_count desc
Hasil kueri
Bidang host dalam permintaan dapat dipalsukan, sehingga hasil kueri hanya merupakan perkiraan. Rujuk tagihan Anda untuk biaya aktual lalu lintas keluar melalui Internet dari OSS.
Hasil kueri untuk permintaan Internet OSS yang tidak dipercepat untuk bucket examplebucket menunjukkan tiga sumber lalu lintas teratas. Sumber tersebut mencakup permintaan dengan bidang Referer kosong—yang dapat terjadi ketika pengguna memasukkan URL langsung di browser—serta permintaan dari situs web dengan nama domain yang berakhiran .com dan .vip.
Kueri catatan penghapusan batch untuk file
Anda dapat mengkueri catatan penghapusan file secara batch di OSS menggunakan kueri log waktu nyata. Informasi tentang file yang dihapus disimpan dalam badan permintaan HTTP, dan Anda dapat menggunakan Request ID untuk mengkueri catatan terkait.
Metode 1: Request ID diketahui
Untuk menjalankan kueri, ganti bucketname dan request_id dalam pernyataan SQL berikut:
* and __topic__: oss_batch_delete_log and operation : DeleteObjects and bucket: bucketname | select from_unixtime( __time__) as Time,url_decode(object) as objectname,user_agent where request_id = '68xxxxxxxxxxxxxxxxxxxxxx'
Setelah kueri dijalankan, tabel hasil akan mengembalikan catatan penghapusan yang sesuai. Jika kolom user_agent menampilkan aliyun-oss-console, operasi penghapusan tersebut berasal dari Konsol OSS. Informasi ini dapat digunakan untuk mengidentifikasi objek yang dihapus dan sumber operasinya.
Metode 2: Request ID tidak diketahui
Jika Anda tidak memiliki Request ID, ikuti langkah-langkah berikut untuk mengkueri:
-
Temukan Request ID menggunakan informasi seperti nama file atau waktu penghapusan batch. Misalnya, untuk menjalankan kueri, ganti
bucketnamedan nama file dalam pernyataan SQL berikut:* and __topic__: oss_batch_delete_log and bucket: bucketname | select request_id where url_decode(object) = 'test/001.bin'Kueri akan mengembalikan kolom
request_id. Contoh nilainya adalah68666811B2D29830309BC41E. -
Setelah memperoleh Request ID, Anda dapat menggunakan pernyataan SQL dari Metode 1 untuk mengkueri catatan penghapusan batch lengkap.
Kueri catatan unggah (PutObject) untuk file
Anda dapat menggunakan kueri log waktu nyata untuk memeriksa catatan unggah file dalam bucket OSS. Dalam log akses OSS, filter berdasarkan bidang operation untuk mengidentifikasi permintaan PutObject, yang merepresentasikan operasi unggah file.
Pernyataan kueri
Kueri catatan unggah (PutObject) untuk file dalam bucket examplebucket.
* and __topic__: oss_access_log and bucket: examplebucket and operation: PutObject | select count(*) AS PutObjectCount
Pernyataan di atas mengembalikan jumlah total operasi unggah. Untuk melihat detail setiap catatan unggah alih-alih jumlahnya, hapus bagian | select count(*) AS PutObjectCount dari pernyataan tersebut.
Hasil kueri
Setiap catatan yang dikembalikan mencakup bidang-bidang berikut:
-
object: path file yang diunggah -
http_status: kode status HTTP dari permintaan unggah -
content_length_in: ukuran konten yang diunggah, dalam byte -
client_ip: alamat IP sumber dari permintaan unggah -
time: waktu saat unggah dilakukan
Sebagai contoh, menjalankan * and __topic__: oss_access_log and bucket: doc-test-oss-bucket-20260505 and operation: PutObject selama seminggu terakhir mengembalikan 16 catatan PutObject. Catatan pertama berisi nilai-nilai berikut: operation=PutObject, http_method=PUT, http_status=200, object=test-presigned-upload/test_upload_c_libcurl.txt, time=08/Jul/2026:12:33:32, content_length_in=68, dan client_ip=106.11.32.78.