全部產品
Search
文件中心

Simple Log Service:下載日誌

更新時間:Jun 10, 2026

Log Service支援將日誌或查詢分析結果下載到本地,本文介紹下載方式及操作步驟。

下載方式說明

Log Service提供控制台、Cloud Shell、Log ServiceCLI或SDK下載方式下載日誌或查詢分析結果。

重要
  • Log ServiceCLI或SDK下載方式無數量限制,但可能由於網路等不確定因素,出現下載中斷問題。

  • 僅控制台方式支援壓縮下載。

  • 若當前LogStore的計費模式為按寫入資料量計費時,下載查詢和分析結果(SQL結果)時不產生費用。具體內容,可參見按寫入資料量計費

  • 若當前LogStore的計費模式為按使用功能計費時,下載查詢和分析結果(SQL結果)時,會使用SQL獨享版,因此會產生SQL獨享版相關的費用。費用說明,請參見按使用功能計費模式計費項目

比較項

通過控制台直接下載(推薦)

通過OpenAPI下載

通過命令列工具(CLI)下載

通過Cloud Shell下載

通過SDK下載

資料量限制

  • 僅查詢:華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)和新加坡地區最多支援下載2000萬行資料,其他地區最多支援下載100萬行資料。資料量不超過20 GB。

  • SQL分析:資料量不超過2GB。

  • 僅查詢:華東1(杭州)、華東2(上海)、華北2(北京)、華南1(深圳)和新加坡地區最多支援下載2000萬行資料,其他地區最多支援下載100萬行資料。資料量不超過20 GB。

  • SQL分析:資料量不超過2GB。

  • 僅查詢:無限制

  • SQL分析:資料量不超過2GB。

  • 僅查詢:無限制

  • SQL分析:資料量不超過2 GB。

  • 僅查詢:無限制

  • SQL分析:資料量不超過2 GB。

依賴部署

手動安裝Log ServiceCLI。

自動部署,首次運行時需要等待初始化。

手動安裝Log Service SDK,並需要自訂代碼。

授權

下載許可權配置

下載許可權配置

手動設定

自動設定

手動設定

SQL獨享版

下載SQL分析結果時,使用SQL獨享版

下載SQL分析結果時,使用SQL獨享版

不使用

不使用

按實際需求,設定參數配置。

外網讀取流量

部署在與Project相同地區的ECS上且使用Log Service私網網域名稱時,不會產生外網讀取流量費用。

當Project在華東2(上海)地區時,不會產生外網讀取流量費用。

部署在與Project相同地區的ECS上且使用Log Service私網網域名稱時,不會產生外網讀取流量費用。

NAS整合

必要時,手動設定

自動設定

必要時,手動設定

您也可以將日誌投遞到OSS,通過OSS進行下載。關於投遞的具體操作,請參見建立OSS投遞任務(新版)

下載許可權配置(點擊查看)

{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "log:ListDownloadJobs",
        "log:CreateDownloadJob",
        "log:GetDownloadJob",
        "log:DeleteDownloadJob"
      ],
      "Resource": [
        "acs:log:*:*:project/Project名稱/downloadjob/*"
      ],
      "Effect": "Allow"
    }
  ]
}

操作步驟

通過控制台直接下載

Log Service支援通過控制台直接將日誌或查詢分析結果下載到本地,兩者的下載操作類似,本文以下載日誌為例進行說明。如果您要下載查詢分析結果,可在執行查詢分析操作後,在統計圖表頁簽中,單擊下載日誌

重要
  • 超過單次下載的最大數量時,僅下載最大支援的數量。如果您需要下載全量日誌,可縮小查詢的時間範圍,分多次下載。

  • 單個阿里雲帳號最多支援3個並發下載操作(總下載次數無限制)。超出3個並發下載操作或多個RAM使用者同時操作時,可能報錯,此時您可等待其他動作完成後,再重試。

  • 支援儲存最近1天內的匯出記錄,超過1天的匯出記錄被自動清除。

  • 在遇到網路錯誤或者查詢不精確時,系統會自動重試下載任務。如果重試3次後,仍無法完成下載,則下載任務為失敗狀態。

  • 線上下載(另存新檔)與離線下載(任務管理)的區別

    • 另存新檔:直接下載當前頁面查詢到的精確結果,適用於小資料量情境。若匯出資料量過大(如幾十萬條),可能導致瀏覽器頁面無響應或崩潰。此時建議改用任務管理中的離線下載功能,或縮小查詢時間範圍減少單次下載量。

    • 任務管理(離線下載):適用於巨量資料量情境,後台非同步處理,效能更優。下載任務建立後可關閉頁面,任務完成後在任務管理中下載檔案。

    • 離線下載任務的實際下載條數可能與前端查詢顯示的條數存在細微差異,此屬正常現象。

    • 若頁面重新整理導致複製失效或線上下載失敗,請優先使用日誌下載功能而非手動複製粘貼。

  • 線上下載失敗但離線下載成功的排查建議

    • 檢查網路是否穩定,查詢條件是否過於複雜。

    • 優先嘗試使用離線下載(任務管理)或 CLI/SDK 方式,這些方式更穩定,適用於巨量資料量情境。

    • 若必須使用線上下載且持續失敗,建議縮小時間範圍,分多次下載。

  • 如果下載日誌按鈕顯示為灰色不可用,請按以下步驟排查:

    • 確認當前處於原始日誌頁簽。統計圖表等其他視圖不支援下載操作。

    • 確認查詢有返回結果。若查詢結果為空白,下載按鈕將置灰不可用。請調整查詢語句或時間範圍後重新查詢。

    • 確認 RAM 使用者已授予下載相關許可權。需要 log:CreateDownloadJoblog:ListDownloadJobs 等許可權,詳見本文檔"下載許可權配置"部分。

    • 確認當前帳號的並發下載任務數未達到上限。單個阿里雲帳號最多支援 3 個並發下載任務,超出限制時需等待已有任務完成後重試。

    • 若查詢返回條數過少(如僅 20 條),可能是過濾條件過於嚴格。建議放寬時間範圍或調整查詢語句。

  1. 登入Log Service控制台

  2. 在Project列表地區,單擊目標Project。

  3. 日誌存儲 > 日誌庫頁簽中,單擊目標LogStore。

  4. 輸入查詢語句,然後選擇時間範圍。

  5. 原始日誌頁簽中,選擇下載日誌 > 下載日誌

  6. 日誌下載對話方塊中,完成如下配置,然後單擊確定

    參數

    說明

    任務名

    下載任務的名稱。

    日誌數量

    選擇要下載的日誌數量。

    資料格式

    支援CSV格式和JSON格式。

    • 採用CSV格式時,檔案中的列名將根據前100條日誌的欄位產生。如果後續日誌存在新的欄位,則所有新的欄位將以JSON格式存放在CSV檔案的最後一列(列名為空白)。

    • 採用JSON格式時,單條日誌的內容會轉換為JSON格式,然後以單行形式寫入檔案。

    quote字元

    選擇Quote字元,用於包裹日誌中的特殊字元,避免被轉義。

    是否允許下載不精確的結果

    如果選擇,則當出現查詢結果不精確時,會導致下載失敗。

    壓縮方式

    支援gzip、lz4、zstd等壓縮方式,也支援不壓縮。

    當下載的日誌數量較多時,強烈建議採用壓縮方式,可顯著降低下載量,減少檔案的下載時間。

  7. 下載任務對話方塊中,等待任務狀態任務成功後,單擊下載,將日誌下載到本地。

    您也可以在原始日誌頁簽中,選擇下載日誌 > 下載任務,開啟下載任務對話方塊,查看下載記錄。

通過OpenAPI下載

CreateDownloadJob - 建立日誌下載任務

重要
  • 超過單次下載的最大數量時,僅下載最大支援的數量。如果您需要下載全量日誌,可縮小查詢的時間範圍,分多次下載。

  • 單個阿里雲帳號最多支援3個並發下載操作(總下載次數無限制)。超出3個並發下載操作或多個RAM使用者同時操作時,可能報錯,此時您可等待其他動作完成後,再重試。

  • 支援儲存最近1天內的匯出記錄,超過1天的匯出記錄被自動清除。

  • 在遇到網路錯誤或者查詢不精確時,系統會自動重試下載任務。如果重試3次後,仍無法完成下載,則下載任務為失敗狀態。

OpenAPI 批量下載注意事項

  • 索引配置要求:調用 GetLogs API 或執行 SQL 查詢時,需確保查詢欄位已在 LogStore 的索引屬性中配置。如果查詢欄位未配置索引,將報 ParameterInvalid 錯誤。索引配置方法請參見建立索引

  • 下載指定欄位:若只需下載特定欄位(如 message),應在 SQL 中使用 SELECT 語句過濾,例如 * | SELECT message,然後執行下載操作,以減少不必要的資料量。

通過Cloud Shell下載

目前 Cloud Shell 位於上海地區,如果當前 LogStore 不在上海地區,下載日誌會產生一定的外網讀取流量費用。價格詳情請參見產品定價

海量日誌匯出:當需要匯出大量日誌(如億級資料量)時,推薦使用 Cloud Shell 或 CLI/SDK 方式下載,避免通過控制台分批次下載的繁瑣操作。Cloud Shell 無需手動安裝依賴,適合快速執行大規模匯出任務。

操作步驟,參見使用Cloud Shell下載日誌資料

通過命令列工具下載

當您需要下載更大數量的日誌時,可以通過命令列工具進行下載。

  1. 安裝命令列工具。具體操作,請參見安裝CLI

  2. 擷取當前帳號的AccessKey。具體操作,請參見存取金鑰

  3. 擷取下載日誌的命令。具體步驟,請參見get_log_all

    例如:在命令列工具中執行下載命令,執行成功後自動下載到運行命令列的目前的目錄下的downloaded_data.txt

    aliyunlog log get_log_all --project="aliyun-test-project" --logstore="aliyun-test-logstore" --from_time="2024-07-01 15:33:00+8:00" --to_time="2024-07-09 15:23:00+8:00"  --query="status:200|select request_method as method,COUNT(*) as pv group by method order by pv" --region-endpoint="cn-hangzhou.log.aliyuncs.com" --format-output=json --access-id="LT***CyGg" --access-key="8P***zi" >> ./downloaded_data.txt

更多資訊,請參見使用Log ServiceCLI

通過SDK下載

當您需要下載更大數量的日誌時,可通過SDK下載。

說明

SDK下載日誌介面就是查詢日誌的介面。

Python SDK樣本如下:

import os
import time

from aliyun.log import LogClient
from aliyun.log import GetLogsRequest

# Log Service的服務存取點。
endpoint = 'cn-qingdao.log.aliyuncs.com'
# 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Project名稱。
project = 'Project名稱'
# Logstore名稱。
logstore = 'Logstore名稱'
client = LogClient(endpoint, accessKeyId, accessKey)
request = GetLogsRequest("project1", "logstore1", fromTime=int(time()-3600), toTime=int(time()), topic='', query="*", line=100, offset=0, reverse=False)
# 或者
# request = GetLogsRequest("project1", "logstore1", fromTime="2018-1-1 10:10:10", toTime="2018-1-1 10:20:10", topic='', query="*", line=100, offset=0, reverse=False)

res = client.get_logs(request)
res.log_print()

更多資訊,請參見SDK參考概述