全部產品
Search
文件中心

Simple Log Service:下載日誌

更新時間:Aug 30, 2024

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

下載方式說明

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

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

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

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

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

比較項

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

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

通過Cloud Shell下載

通過SDK下載

資料量限制

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

  • SQL分析:最多支援下載100萬行資料。資料量不超過2GB。

  • 僅查詢:無限制

  • SQL分析:最多支援下載100萬行資料,資料量不超過2GB。

  • 僅查詢:無限制

  • SQL分析:最多支援下載100萬行資料,資料量不超過2 GB。

  • 僅查詢:無限制

  • SQL分析:最多支援下載100萬行資料,資料量不超過2 GB。

依賴部署

手動安裝Log ServiceCLI。

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

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

授權

同控制台查詢許可權,無需額外授權。

手動設定

自動設定

手動設定

SQL獨享版

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

不使用

不使用

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

外網讀取流量

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

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

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

NAS整合

必要時,手動設定

自動設定

必要時,手動設定

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

操作步驟

通過控制台直接下載

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

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

    您可以在日誌匯出歷史中,查看下載列表。

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

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

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

  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. 日誌匯出歷史對話方塊中,等待任務狀態為任務成功後,單擊下載,將日誌下載到本地。

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

通過Cloud Shell下載

目前Cloud Shell位於上海地區,如果當前Logstore不在上海地區,下載日誌會產生一定的外網讀取流量費用。價格詳情請參見產品定價。操作步驟,參見使用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參考概述