全部產品
Search
文件中心

Simple Log Service:GetLogs - 查詢日誌庫日誌

更新時間:Oct 27, 2025

查詢指定Project下某個Logstore中的日誌資料。

介面說明

介面說明

說明

Log Service支援建立定時 SQL 任務。具體操作,請參見建立定時 SQL 任務

  • 請求文法中 Host 由 Project 名稱和Log Service Endpoint 構成,您需要在 Host 中指定 Project。

  • 已建立並擷取 AccessKey。更多資訊,請參見存取金鑰

阿里雲帳號 AccessKey 擁有所有 API 的存取權限,風險很高。強烈建議您建立並使用 RAM 使用者進行 API 訪問或日常營運。RAM 使用者需具備動作記錄服務資源的許可權。具體操作,請參見建立 RAM 使用者及授權

  • 已明確您查詢日誌所屬的 Project 名稱、所屬地區、Logstore 名稱等。如何查詢,請參見管理 Project管理 Logstore

  • Log Service查詢日誌時存在使用限制。請設計合理查詢與分析語句、設定合理查詢區間等。更多資訊,請參見查詢日誌使用限制分析日誌使用限制

  • 查詢日誌前,已配置索引。具體操作,請參見建立索引

  • 當查詢涉及的日誌數量變化非常大時,Log Service API 無法預測需要調用多少次該介面來擷取完整結果。所以需要您查看每次請求返回結果中的 x-log-progress 狀態值,根據狀態值來確定是否需要重複調用該介面來擷取最終完整結果。每次重複調用該介面都會重新消耗相同數量的查詢 CU。

  • 當日誌寫入到 Logstore 中,Log Service的查詢介面(GetHistograms 和 GetLogs)能夠查到該日誌的延時因寫入日誌類型不同而異。Log Service按日誌時間戳記把日誌分為如下兩類:

    • 即時資料:日誌中時間點為伺服器目前時間點(-180 秒,900 秒]。例如,日誌時間為 UTC 2014-09-25 12:03:00,伺服器收到時為 UTC 2014-09-25 12:05:00,則該日誌被作為即時資料處理,一般出現在正常情境下。

    • 歷史資料:日誌中時間點為伺服器目前時間點[-7*86400 秒,-180 秒)。例如,日誌時間為 UTC 2014-09-25 12:00:00,伺服器收到時為 UTC 2014-09-25 12:05:00,則該日誌被作為歷史資料處理,一般出現在補資料情境下。 其中,即時資料寫入至可查詢的延時為 3 秒左右。

說明

Log Service將日誌時間(欄位名稱為__time__)和伺服器收到時間(欄位名稱為__tag__:receive_time)做差,若其差值位於(-180 秒,900 秒]範圍,則為即時資料,若其差位於[-7x86400 秒,-180 秒),則為歷史資料。

鑒權資源

下表列出了 API 對應的授權資訊。您可以在 RAM 權限原則語句的 Action 元素中添加該資訊,用於為 RAM 使用者或 RAM 角色授予調用此 API 的許可權。

動作(Action)授權策略中的資源描述方式(Resource)
log:GetLogStoreLogsacs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName}

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

當前API暫無授權資訊透出。

請求文法

GET /logstores/{logstore}?type=log HTTP/1.1

路徑參數

名稱

類型

必填

描述

樣本值

logstore

string

查詢 Logstore 中的資料。

example-logstore

請求參數

名稱

類型

必填

描述

樣本值

project

string

Project 名稱。

ali-test-project

from

integer

查詢開始時間點。該時間是指寫入日誌資料時指定的日誌時間。

  • 請求參數 fromto 定義的時間區間遵循左閉右開原則,即該時間區間包括區間開始時間點,但不包括區間結束時間點。如果 fromto 的值相同,則為無效區間,函數直接返回錯誤。

  • Unix 時間戳記格式,表示從 1970-1-1 00:00:00 UTC 計算起的秒數。

說明

如果您要確保不漏查資料,請將查詢時間對齊到分鐘層級。如果您在分析語句中設定了時間範圍,則查詢分析時以該時間範圍為準。

如果您需要精確到秒,需要在分析語句中指定時間時,使用from_unixtime 函數to_unixtime 函數轉換下時間格式。例如:

  • * | 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

查詢結束時間點。該時間是指寫入日誌資料時指定的日誌時間。

  • 請求參數 fromto 定義的時間區間遵循左閉右開原則,即該時間區間包括區間開始時間點,但不包括區間結束時間點。如果 fromto 的值相同,則為無效區間,函數直接返回錯誤。

  • Unix 時間戳記格式,表示從 1970-1-1 00:00:00 UTC 計算起的秒數。

說明

如果您要確保不漏查資料,請將查詢時間對齊到分鐘層級。如果您在分析語句中設定了時間範圍,則查詢分析時以該時間範圍為準。

如果您需要精確到秒,需要在分析語句中指定時間時,使用from_unixtime 函數to_unixtime 函數轉換下時間格式。例如:

  • * | 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

查詢語句或者分析語句。更多資訊,請參見查詢概述分析概述。 在 query 參數的分析語句中加上set session parallel_sql=true;,表示使用 SQL 獨享版。例如* | set session parallel_sql=true; select count(*) as pv 。常見查詢與分析問題,請參見查詢與分析日誌的常見報錯

說明

當 query 參數中有分析語句(SQL 陳述式)時,該介面的 line 參數和 offset 參數無效,建議設定該介面的參數為 0,需通過 SQL 陳述式的 LIMIT 文法實現翻頁。更多資訊,請參見分頁顯示查詢分析結果

status: 401 | SELECT remote_addr,COUNT(*) as pv GROUP by remote_addr ORDER by pv desc limit 5

topic

string

日誌主題。預設值為空白字串。更多資訊,請參見日誌主題(Topic)

topic

line

integer

僅當 query 參數為查詢語句時,該參數有效,表示請求返回的最大日誌條數。最小值為 0,最大值為 100,預設值為 100。分頁查詢請參見分頁顯示查詢分析結果

100

offset

integer

僅當 query 參數為查詢語句時,該參數有效,表示查詢開始行。預設值為 0。分頁查詢請參見分頁顯示查詢分析結果

0

reverse

boolean

用於指定返回結果是否按日誌時間戳記降序返回日誌,精確到分鐘層級。

  • true:按照日誌時間戳記降序返回日誌。

  • false(預設值):按照日誌時間戳記升序返回日誌。

重要
  • 當 query 參數為查詢語句時,參數 reverse 有效,用於指定返回日誌排序方式。

  • 當 query 參數為查詢和分析語句時,參數 reverse 無效,由 SQL 分析語句中 order by 文法指定排序方式。如果 order by 為 asc(預設),則為升序;如果 order by 為 desc,則為降序。

false

powerSql

boolean

是否使用 SQL 獨享版。更多資訊,請參見開啟 SQL 獨享版

  • true:使用 SQL 獨享版。

  • false(預設值):使用 SQL 普通版。

除通過 powerSql 參數配置 SQL 獨享版外,您還可以使用 query 參數。

false

返回參數

名稱

類型

描述

樣本值

array

日誌數組 Logs。其每個元素就是一條 Log。

object

日誌數組 Logs,其每個元素就是一條 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'}]

樣本

正常返回樣本

JSON格式

[
  {
    "test": "test",
    "test2": 1
  }
]

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情