Anda dapat menggunakan fitur kueri log waktu nyata dari Simple Log Service (SLS) untuk menganalisis log akses OSS dan log pengukuran per jam guna 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 memfilter berdasarkan titik akhir publik menggunakan bidang host, mengecualikan permintaan asal CDN menggunakan bidang sync_request, serta menyesuaikan file berdasarkan awalan bidang object. Selanjutnya, jumlahkan nilai dalam bidang response_body_length untuk memperoleh 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 mengetahui 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 memperoleh 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 di 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 menggunakan bidang host untuk memfilter titik akhir publik OSS dan bidang sync_request untuk mengecualikan permintaan asal CDN. Anda juga dapat 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 mengetahui biaya aktual lalu lintas keluar melalui Internet dari OSS.
Hasil 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 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 menjalankan kueri, tabel hasil akan mengembalikan catatan penghapusan yang sesuai. Jika kolom user_agent menampilkan aliyun-oss-console, hal ini menunjukkan bahwa operasi penghapusan dilakukan dari Konsol OSS. Anda dapat menggunakan informasi ini untuk mengidentifikasi objek yang dihapus dan sumber operasi tersebut.
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.