Operasi ini melakukan kueri terhadap data log dalam Logstore dari proyek yang ditentukan.
Deskripsi operasi
Simple Log Service mendukung pekerjaan SQL terjadwal. Untuk informasi selengkapnya, lihat Buat pekerjaan SQL terjadwal.
Host dalam sintaks permintaan terdiri dari nama proyek dan titik akhir Simple Log Service. Anda harus menentukan nama proyek dalam Host.
Buat dan peroleh Pasangan Kunci Akses. Untuk informasi selengkapnya, lihat Pasangan Kunci Akses.
Pasangan Kunci Akses milik Akun Alibaba Cloud memiliki izin untuk mengakses semua API, sehingga menimbulkan risiko keamanan yang tinggi. Kami sangat menyarankan agar Anda membuat dan menggunakan pengguna RAM untuk melakukan panggilan API atau menjalankan operasi dan maintenance (O&M) rutin. Pengguna RAM tersebut harus memiliki izin yang diperlukan untuk mengakses resource Simple Log Service. Untuk informasi selengkapnya, lihat Buat dan berikan otorisasi kepada pengguna RAM.
-
Peroleh nama dan wilayah proyek, serta nama Logstore yang berisi log yang ingin Anda kueri. Untuk informasi selengkapnya, lihat Kelola proyek dan Kelola Logstore.
-
Simple Log Service menerapkan batasan pada kueri log. Oleh karena itu, Anda harus merancang pernyataan pencarian dan analitik yang sesuai serta menetapkan rentang waktu kueri yang wajar. Untuk informasi selengkapnya, lihat Batasan kueri log dan Batasan analisis log.
-
Anda harus mengonfigurasi indeks sebelum melakukan kueri log. Untuk informasi selengkapnya, lihat Buat indeks.
-
Jika jumlah log yang sesuai dengan kueri sangat bervariasi, API Simple Log Service tidak dapat memprediksi berapa kali Anda harus memanggil operasi ini untuk memperoleh hasil lengkap. Periksa nilai header x-log-progress dalam setiap respons untuk menentukan apakah perlu memanggil ulang operasi tersebut. Setiap pemanggilan ulang mengonsumsi jumlah Unit kapasitas (CU) kueri yang sama.
-
Saat sebuah log ditulis ke Logstore, latensi sebelum log tersebut dapat dikueri menggunakan operasi GetHistograms dan GetLogs bervariasi berdasarkan tipe log. Simple Log Service mengklasifikasikan log menjadi dua tipe berikut berdasarkan stempel waktunya:
Data real-time: Stempel waktu log berada dalam rentang (-180 detik, 900 detik] relatif terhadap waktu server saat ini. Misalnya, jika sebuah log dihasilkan pada UTC 2014-09-25 12:03:00 dan diterima oleh server pada UTC 2014-09-25 12:05:00, log tersebut diproses sebagai data real-time. Ini biasanya terjadi dalam skenario normal. Latensi agar data real-time dapat dikueri adalah sekitar 3 detik.
Data historis: Stempel waktu log berada dalam rentang [-7 × 86.400 detik, -180 detik) relatif terhadap waktu server saat ini. Misalnya, jika sebuah log dihasilkan pada UTC 2014-09-25 12:00:00 dan diterima oleh server pada UTC 2014-09-25 12:05:00, log tersebut diproses sebagai data historis. Ini biasanya terjadi dalam skenario pengisian ulang data.
Simple Log Service menghitung selisih antara waktu log (bidang __time__) dan waktu penerimaan server (bidang __tag__: receive_time). Jika selisih tersebut berada dalam rentang (-180 detik, 900 detik], log tersebut merupakan data real-time. Jika selisih tersebut berada dalam rentang [-7 × 86.400 detik, -180 detik), log tersebut merupakan data historis.
Simple Log Service menyediakan contoh penggunaan operasi GetLogs dalam kit pengembangan perangkat lunak (SDK) Java dan Python. Untuk informasi selengkapnya, lihat Contoh GetLogs untuk Java dan Contoh GetLogs untuk Python.
Otorisasi
Tabel berikut menjelaskan informasi otorisasi yang diperlukan untuk operasi ini. Anda dapat menambahkan informasi ini ke elemen Action dalam pernyataan kebijakan akses RAM untuk memberikan izin kepada pengguna RAM atau role RAM agar dapat memanggil operasi ini.
| Action | Resource |
log:GetLogStoreLogs | acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName} |
Coba sekarang
Test
RAM authorization
Sintaks permintaan
GET /logstores/{logstore}?type=log HTTP/1.1
Path Parameters
|
Parameter |
Type |
Required |
Description |
Example |
| logstore |
string |
Yes |
Logstore tempat data akan dikueri. |
example-logstore |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| project |
string |
Yes |
Nama proyek. |
ali-test-project |
| from |
integer |
Yes |
Awal rentang waktu untuk dikueri. Waktu ini merupakan waktu log yang ditentukan saat data log ditulis.
Catatan
Untuk memastikan tidak ada data yang terlewat, bulatkan waktu kueri ke menit terdekat. Jika Anda menentukan rentang waktu dalam pernyataan analitik, rentang waktu dalam pernyataan analitik tersebut akan digunakan untuk kueri dan analisis. Untuk menentukan waktu dalam satuan detik, gunakan fungsi from_unixtime atau fungsi to_unixtime untuk mengonversi format waktu dalam pernyataan analitik. Contoh:
|
1627268185 |
| to |
integer |
Yes |
Akhir rentang waktu untuk dikueri. Waktu ini merupakan waktu log yang ditentukan saat data log ditulis.
Catatan
Untuk memastikan tidak ada data yang terlewat, bulatkan waktu kueri ke menit terdekat. Jika Anda menentukan rentang waktu dalam pernyataan analitik, rentang waktu dalam pernyataan analitik tersebut akan digunakan untuk kueri dan analisis. Untuk menentukan waktu dalam satuan detik, gunakan fungsi from_unixtime atau fungsi to_unixtime untuk mengonversi format waktu dalam pernyataan analitik. Contoh:
|
1627269085 |
| query |
string |
No |
Pernyataan pencarian atau pernyataan analitik. Untuk informasi selengkapnya, lihat Ikhtisar kueri dan Ikhtisar analisis.
Untuk menggunakan fitur Exclusive SQL, tambahkan Catatan
Jika parameter query berisi pernyataan analitik (Pernyataan SQL), parameter line dan offset tidak berlaku. Kami menyarankan agar Anda menyetel parameter ini ke 0. Anda harus menggunakan klausa LIMIT dalam Pernyataan SQL untuk melakukan paginasi. Untuk informasi selengkapnya, lihat Lakukan paginasi pada hasil kueri dan analisis. |
status: 401 | SELECT remote_addr,COUNT(*) as pv GROUP by remote_addr ORDER by pv desc limit 5 |
| topic |
string |
No |
Topik log. Nilai default-nya adalah string kosong. Untuk informasi selengkapnya, lihat Topik. |
topic |
| line |
integer |
No |
Parameter ini hanya berlaku ketika parameter query berupa pernyataan pencarian. Parameter ini menentukan jumlah maksimum log yang dikembalikan untuk permintaan tersebut. Nilainya berkisar antara 0 hingga 100. Nilai default-nya adalah 100. Untuk informasi lebih lanjut mengenai kueri berhalaman, lihat Lakukan paginasi pada hasil kueri dan analisis. |
100 |
| offset |
integer |
No |
Parameter ini hanya berlaku ketika parameter query berupa pernyataan pencarian. Parameter ini menentukan baris awal kueri. Nilai default-nya adalah 0. Untuk informasi lebih lanjut mengenai kueri berhalaman, lihat Lakukan paginasi pada hasil kueri dan analisis. |
0 |
| reverse |
boolean |
No |
Menentukan apakah log dikembalikan dalam urutan menurun berdasarkan stempel waktunya. Presisi berada pada tingkat menit.
Penting
|
false |
| powerSql |
boolean |
No |
Menentukan apakah akan menggunakan fitur Exclusive SQL. Untuk informasi selengkapnya, lihat Aktifkan fitur Exclusive SQL.
Selain menggunakan parameter powerSql, Anda juga dapat menggunakan parameter query untuk mengaktifkan fitur Exclusive SQL. |
false |
Elemen respons
|
Element |
Type |
Description |
Example |
|
array |
Array log. Setiap elemen merupakan satu log. |
||
|
object |
Array log. Setiap elemen merupakan satu log. |
[{'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.100.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}] |
Contoh
Respons sukses
JSONformat
[
{
"test": "test",
"test2": 1
}
]
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.