全部产品
Search
文档中心

Simple Log Service:GetLogs

更新时间:Dec 23, 2025

Operasi ini melakukan kueri terhadap data log dalam Logstore dari proyek yang ditentukan.

Deskripsi operasi

Catatan

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.

Catatan

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.

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.

ActionResource
log:GetLogStoreLogsacs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName}

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tidak ada otorisasi untuk operasi ini. Jika Anda mengalami masalah saat menjalankan operasi ini, hubungi dukungan teknis.

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.

  • Rentang waktu yang ditentukan oleh parameter from dan to merupakan interval tertutup-kiri, terbuka-kanan. Interval ini mencakup waktu mulai tetapi tidak mencakup waktu akhir. Jika nilai from dan to sama, interval tersebut tidak valid. Sistem akan mengembalikan error.

  • Nilainya berupa Stempel waktu UNIX. Nilai ini merepresentasikan jumlah detik yang telah berlalu sejak epoch time 1 Januari 1970 pukul 00:00:00 UTC.

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:

  • * | SELECT * FROM log WHERE from_unixtime(__time__) > from_unixtime(1664186624) AND from_unixtime(__time__) < now()

  • * | SELECT * FROM log WHERE __time__ > to_unixtime(date_parse('2022-10-19 15:46:05', '%Y-%m-%d %H:%i:%s')) AND __time__ < to_unixtime(now())

1627268185

to

integer

Yes

Akhir rentang waktu untuk dikueri. Waktu ini merupakan waktu log yang ditentukan saat data log ditulis.

  • Rentang waktu yang ditentukan oleh parameter from dan to merupakan interval tertutup-kiri, terbuka-kanan. Interval ini mencakup waktu mulai tetapi tidak mencakup waktu akhir. Jika nilai from dan to sama, interval tersebut tidak valid. Sistem akan mengembalikan error.

  • Nilainya berupa Stempel waktu UNIX. Nilai ini merepresentasikan jumlah detik yang telah berlalu sejak epoch time 1 Januari 1970 pukul 00:00:00 UTC.

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:

  • * | SELECT * FROM log WHERE from_unixtime(__time__) > from_unixtime(1664186624) AND from_unixtime(__time__) < now()

  • * | SELECT * FROM log WHERE __time__ > to_unixtime(date_parse('2022-10-19 15:46:05', '%Y-%m-%d %H:%i:%s')) AND __time__ < to_unixtime(now())

1627269085

query

string

No

Pernyataan pencarian atau pernyataan analitik. Untuk informasi selengkapnya, lihat Ikhtisar kueri dan Ikhtisar analisis. Untuk menggunakan fitur Exclusive SQL, tambahkan set session parallel_sql=true; ke pernyataan analitik dalam parameter query. Contoh: * | set session parallel_sql=true; select count(*) as pv. Untuk informasi mengenai masalah umum dalam kueri dan analisis, lihat Error umum saat melakukan kueri dan analisis log.

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.

  • true: Mengembalikan log dalam urutan menurun berdasarkan stempel waktunya.

  • false (default): Mengembalikan log dalam urutan naik berdasarkan stempel waktunya.

Penting
  • Jika parameter query berupa pernyataan pencarian, parameter reverse berlaku dan menentukan urutan pengurutan log yang dikembalikan.

  • Jika parameter query berupa pernyataan pencarian dan analitik, parameter reverse tidak berlaku. Urutan pengurutan ditentukan oleh klausa ORDER BY dalam pernyataan analitik SQL. Jika klausa ORDER BY menentukan asc (default), log diurutkan secara ascending. Jika klausa ORDER BY menentukan desc, log diurutkan secara descending.

false

powerSql

boolean

No

Menentukan apakah akan menggunakan fitur Exclusive SQL. Untuk informasi selengkapnya, lihat Aktifkan fitur Exclusive SQL.

  • true: Gunakan fitur Exclusive SQL.

  • false (default): Gunakan fitur SQL standar.

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.