Simple Log Service (SLS) を使用すると、ログまたはクエリ・分析結果をローカルコンピューターにダウンロードできます。このトピックでは、利用可能なダウンロード方法と手順について説明します。
ダウンロード方法
SLS コンソール、OpenAPI、Cloud Shell、コマンドラインインターフェイス (CLI)、または SDK からログまたはクエリ・分析結果をダウンロードします。
SLS CLI または SDK を使用する場合、ダウンロードできるデータ量に制限はありません。ただし、ネットワークの問題によってダウンロードが中断される可能性があります。
コンソールのみが圧縮ダウンロードをサポートしています。
Logstore がデータ取り込み量課金方式を使用している場合、クエリ・分析結果 (SQL 結果) のダウンロードは課金されません。詳細については、「データ取り込み量課金」をご参照ください。
Logstore が機能単位課金方式を使用している場合、クエリ・分析結果 (SQL 結果) をダウンロードする際に専用 SQL 機能の使用に対して課金されます。課金の詳細については、「機能単位課金方式の課金項目」をご参照ください。
項目 | コンソールからのダウンロード (推奨) | OpenAPI を使用したダウンロード | CLI を使用したダウンロード | Cloud Shell を使用したダウンロード | SDK を使用したダウンロード |
データ量制限 |
|
|
|
|
|
デプロイメント | なし。 | なし。 | SLS CLI を手動でインストールします。 | 自動デプロイメント。初回使用時は初期化を待つ必要があります。 | SLS SDK を手動でインストールし、カスタムコードを記述します。 |
権限設定 | 手動設定。 | 自動設定。 | 手動設定。 | ||
専用 SQL | 専用 SQL 機能は、SQL 分析結果をダウンロードするために使用されます。 | 専用 SQL 機能は、SQL 分析結果をダウンロードするために使用されます。 | 使用されません。 | 使用されません。 | 必要に応じてパラメーターを設定します。 |
インターネットアウトバウンドトラフィック | なし。 | なし。 | プロジェクトと同じリージョンにある ECS インスタンスにツールがデプロイされており、SLS のプライベートエンドポイントを使用する場合、インターネットアウトバウンドトラフィック料金は発生しません。 | プロジェクトが中国 (上海) リージョンにある場合、インターネットアウトバウンドトラフィック料金は発生しません。 | プロジェクトと同じリージョンにある ECS インスタンスにツールがデプロイされており、SLS のプライベートエンドポイントを使用する場合、インターネットアウトバウンドトラフィック料金は発生しません。 |
NAS 連携 | なし。 | なし。 | 必要に応じて手動で設定します。 | 自動設定。 | 必要に応じて手動で設定します。 |
また、ログを Object Storage Service (OSS) に転送し、OSS からダウンロードすることもできます。詳細については、「OSS データ転送ジョブの作成 (新バージョン)」をご参照ください。
操作手順
コンソールからのダウンロード
SLS を使用すると、コンソールから直接ログまたはクエリ・分析結果をローカルコンピューターにダウンロードできます。ダウンロード手順はどちらも同様です。このセクションでは、ログのダウンロードを例に説明します。クエリ・分析結果をダウンロードするには、クエリ・分析を実行し、グラフ タブで [ログのダウンロード] をクリックします。
ログの数が 1 回のダウンロードの上限を超える場合、上限数までのログのみがダウンロードされます。すべてのログをダウンロードするには、クエリの時間範囲を狭めて、ログをバッチでダウンロードしてください。
各 Alibaba Cloud アカウントは、最大 3 つの同時ダウンロード操作をサポートします。ダウンロードの総数に制限はありません。3 つを超える同時ダウンロードを開始した場合、または複数の RAM ユーザーが同時にログをダウンロードした場合、エラーが発生することがあります。エラーが発生した場合は、他の操作が完了するのを待ってから再試行してください。
過去 24 時間のダウンロードレコードが保存されます。古いレコードは自動的に削除されます。
ネットワークエラーや不正確なクエリが原因でダウンロードタスクが失敗した場合、システムは自動的にタスクを再試行します。3 回再試行してもタスクが失敗する場合、そのステータスは [失敗] に変わります。
Simple Log Service コンソールにログインします。
[プロジェクト] セクションで、対象のプロジェクトをクリックします。
タブで、対象の Logstore をクリックします。
検索文を入力し、時間範囲を選択します。
Rawデータ タブで、 を選択します。

ログのダウンロード ダイアログボックスで、次のパラメーターを設定し、OK をクリックします。
パラメーター
説明
タスク名
ダウンロードタスクの名前。
ログの数量
ダウンロードするログの数を選択します。
[データ形式]
CSV 形式と JSON 形式がサポートされています。
CSV を選択した場合、ファイル内の列名は最初の 100 件のログのフィールドに基づいて生成されます。後続のログに新しいフィールドが含まれている場合、その新しいフィールドは CSV ファイルの最後の列に JSON 形式で格納されます。最後の列の名前は空になります。
JSON を選択した場合、各ログの内容は JSON 形式に変換され、1 行としてファイルに書き込まれます。
引用
ログ内の特殊文字を囲み、エスケープされるのを防ぐための引用符を選択します。
不正確な結果をダウンロード
このパラメーターを [いいえ] に設定すると、クエリ結果が不正確な場合にダウンロードは失敗します。
圧縮方法
サポートされている圧縮方法は、gzip、lz4、zstd です。ログを圧縮しないことも選択できます。
大量のログをダウンロードする場合は、圧縮することを強く推奨します。これにより、ダウンロード量と時間を大幅に削減できます。
ダウンロードタスク ダイアログボックスで、タスクの [ステータス] が 成功 に変わるのを待ちます。その後、ダウンロード をクリックして、ログをローカルコンピューターに保存します。
また、Rawデータ タブで を選択して、ダウンロードタスク ダイアログボックスを開き、ダウンロードレコードを表示することもできます。
OpenAPI 経由のダウンロード
CreateDownloadJob 操作を呼び出して、ログのダウンロードタスクを作成します。
ログの数が 1 回のダウンロードの上限を超える場合、上限数までのログのみがダウンロードされます。すべてのログをダウンロードするには、クエリの時間範囲を狭めて、ログをバッチでダウンロードしてください。
各 Alibaba Cloud アカウントは、最大 3 つの同時ダウンロード操作をサポートします。ダウンロードの総数に制限はありません。3 つを超える同時ダウンロードを開始した場合、または複数の RAM ユーザーが同時にログをダウンロードした場合、エラーが発生することがあります。エラーが発生した場合は、他の操作が完了するのを待ってから再試行してください。
過去 24 時間のダウンロードレコードが保存されます。古いレコードは自動的に削除されます。
ネットワークエラーや不正確なクエリが原因でダウンロードタスクが失敗した場合、システムは自動的にタスクを再試行します。3 回再試行してもタスクが失敗する場合、そのステータスは [失敗] に変わります。
Cloud Shell を使用したダウンロード
Cloud Shell は中国 (上海) リージョンにあります。ご利用の Logstore が中国 (上海) リージョンにない場合、ログをダウンロードする際にインターネットアウトバウンドトラフィック料金が発生します。料金の詳細については、「料金」をご参照ください。手順については、「Cloud Shell を使用したログデータのダウンロード」をご参照ください。
CLI を使用したダウンロード
大量のログをダウンロードするには、CLI を使用します。
CLI をインストールします。詳細については、「CLI のインストール」をご参照ください。
ご利用のアカウントの AccessKey ペアを取得します。詳細については、「AccessKey ペア」をご参照ください。
コマンドを実行してログをダウンロードします。詳細については、「get_log_all」をご参照ください。
たとえば、CLI でダウンロードコマンドを実行します。コマンドが正常に実行されると、ログは自動的にカレントディレクトリの
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
詳細については、「SLS CLI の使用」をご参照ください。
SDK を使用したダウンロード
大量のログをダウンロードするには、SDK を使用します。
ログをダウンロードするための SDK 操作は、ログをクエリするための操作と同じです。
次の Python SDK コードは一例です。
import os
import time
from aliyun.log import LogClient
from aliyun.log import GetLogsRequest
# SLS のエンドポイント。
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 = 'your-project-name'
# Logstore 名。
logstore = 'your-logstore-name'
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 リファレンスの概要」をご参照ください。
> [ログのダウンロード]