Simple Log Serviceを使用すると、ログやクエリおよび分析結果をオンプレミスマシンにダウンロードできます。 このトピックでは、ログまたはクエリおよび分析結果をダウンロードする方法について説明します。
ダウンロード方法
Simple Log Serviceコンソール、Cloud Shell、Simple Log Service CLI、またはSimple Log Service SDKを使用して、ログまたはクエリおよび分析結果をダウンロードできます。
Simple Log Service CLIまたはSimple Log Service SDKを使用してデータをダウンロードする場合、ダウンロードできるデータの量は無制限です。 ただし、ネットワークエラーにより中断が発生する可能性があります。
圧縮されたログパッケージをダウンロードする場合は、Simple Log Serviceコンソールのみを使用できます。
Logstoreで取得データ課金モードが使用されている場合、クエリ文のクエリおよび分析結果をダウンロードしても課金されません。 詳細については、「従量課金データ」をご参照ください。
Logstoreが機能課金課金モードを使用している場合、ダウンロード中に専用SQL機能が使用されるため、クエリステートメントのクエリおよび分析結果をダウンロードすると課金されます。 専用SQL機能に対して課金されます。 詳細については、「課金項目」をご参照ください。
項目 | Simple Log Serviceコンソールを使用したデータのダウンロード (推奨) | Simple Log Service CLIを使用したデータのダウンロード | Cloud Shellによるデータのダウンロード | Simple Log Service SDKを使用したデータのダウンロード |
データ量の制限 |
|
|
|
|
必要なデプロイ | なし。 | Simple Log Service CLIは手動でインストールされます。 | Cloud Shellは自動的にデプロイされます。 Cloud Shellを初めて実行するときは、Cloud Shellが初期化されるまで待つ必要があります。 | Simple Log Service SDKは手動でインストールされ、ビジネス要件に基づいてコードを記述する必要があります。 |
承認 | Simple Log Serviceコンソールでデータを照会する権限が使用されます。 追加の権限は必要ありません。 | 手動設定。 | 自動設定。 | 手動設定。 |
専用 SQL | クエリ文のクエリおよび分析結果をダウンロードする場合、専用SQL機能が使用されます。 | 使用されません。 | 使用されません。 | Dedicated SQL関連のパラメーターは、ビジネス要件に基づいて設定できます。 |
インターネット経由の読み取りトラフィック | なし。 | Simple Log Service CLIが、必要なSimple Log ServiceプロジェクトのリージョンにあるElastic Compute Service (ECS) インスタンスにデプロイされ、内部のSimple Log Serviceエンドポイントが使用されている場合、インターネット経由の読み取りトラフィックに対する料金は発生しません。 | Simple Log Serviceプロジェクトが中国 (上海) リージョンにある場合、インターネット経由の読み取りトラフィックに対して料金は発生しません。 | Simple Log Service SDKが必要なSimple Log ServiceプロジェクトのリージョンにあるECSインスタンスにデプロイされ、内部のSimple Log Serviceエンドポイントが使用されている場合、インターネット経由の読み取りトラフィックに対する料金は発生しません。 |
ApsaraファイルストレージNASとの統合 | なし。 | 必要に応じて手動設定が必要です。 | 自動設定。 | 必要に応じて手動設定が必要です。 |
ログをObject Storage Service (OSS) に送信し、OSSでログをダウンロードできます。 詳細については、「OSSデータ配布ジョブの作成 (新バージョン) 」をご参照ください。
手順
Simple Log Serviceコンソールを使用したデータのダウンロード
Simple Log Serviceコンソールを使用して、ログまたはクエリおよび分析結果をオンプレミスマシンにダウンロードできます。 ログのダウンロードに使用される操作は、クエリおよび分析結果のダウンロードに使用される操作と同様です。 このトピックでは、ログを使用してダウンロード手順を示します。 クエリと分析の結果をダウンロードする場合は、クエリステートメントを実行した後、[グラフ] タブの [ログのダウンロード] をクリックします。
一度にダウンロードできるログ行の数とログデータの量は、上限を超えることはできません。 ダウンロードするログの行数とログデータの量が上限を超えると、余分なログはダウンロードできません。 このシナリオで完全なログをダウンロードするには、クエリの時間範囲を短縮し、完全なログがダウンロードされるまでダウンロード操作を繰り返します。
[ログエクスポート履歴] ダイアログボックスでダウンロードタスクを確認できます。
Simple Log Serviceでは、各Alibaba Cloudアカウント内で最大3回の同時ダウンロード操作が可能です。 Simple Log Serviceは、ダウンロード操作の総数を制限しません。 3回以上のダウンロード操作が同時に実行された場合、または複数のRAM (Resource Access Management) ユーザーを使用して同時にログをダウンロードした場合、エラーが報告される可能性があります。 この場合、他のダウンロード操作が完了するまで待ってから再試行する必要があります。
Simple Log Serviceは、過去24時間以内に生成されたエクスポートレコードのみを保存し、レコードが生成されてから24時間後にエクスポートレコードを削除します。
ネットワークエラーが発生したり、クエリ結果が不正確であるためにダウンロードタスクが失敗した場合、Simple Log Serviceは自動的にタスクを再試行します。 3回の再試行後にダウンロードタスクが失敗した場合、ダウンロードタスクはFailed状態になります。
Simple Log Serviceコンソールにログインします。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
タブで、ログをダウンロードするログストアをクリックします。
クエリステートメントを入力し、クエリ時間範囲を指定します。
詳細については、「ログの照会と分析」をご参照ください。
[生ログ] タブで、
を選択します。説明利用可能なログがない場合、ダウンロードログは利用できません。
[ログダウンロード] ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
タスク名
ダウンロードタスクの名前。
ログ数量
ダウンロードするログの数。
データフォーマット
ログをダウンロードするファイルのデータ形式。 CSVおよびJSON形式がサポートされています。
CSVを選択した場合、ファイル内の列名は最初の100ログのフィールドに基づいて生成されます。 後続のログに新しいフィールドが含まれている場合、新しいフィールドはJSON形式でファイルの最後の列に格納されます。 最後の列の名前は空のままです。
JSONを選択した場合、各ログはJSON形式に変換され、1行としてファイルに書き込まれます。
引用符
ログに特殊文字を囲むために使用される引用符。 囲まれた特殊文字はエスケープされません。
ダウンロード不正確な結果
不正確な結果をダウンロードするかどうかを指定します。 [いいえ] を選択した場合、クエリ結果が不正確な場合、ダウンロードタスクは失敗します。
圧縮方法
ログの圧縮に使用されるメソッド。 有効な値: gzip、lz4、zstd、およびUncompressed。
大量のログをダウンロードする場合は、圧縮方法を選択することを推奨します。 このようにして、ログ量を大幅に減らすことができ、ログを迅速にダウンロードすることができます。
並べ替えルール
ログのソートに使用されるルール。
[ログエクスポート履歴] ダイアログボックスのダウンロードタスクのステータスが [成功] に変わるまで待ちます。 次に、[操作] 列の [ダウンロード] をクリックして、ログをオンプレミスマシンにダウンロードします。
[Raw Logs] タブで
を選択して、Log Export Historyダイアログボックスを開き、ダウンロードタスクを表示することもできます。
Cloud Shellを使用したデータのダウンロード
Cloud Shellサーバーは中国 (上海) リージョンにあります。 中国 (上海) リージョンにないLogstoreからログをダウンロードした場合、ログをダウンロードするときにインターネット経由の読み取りトラフィックに対して課金されます。 詳細については、次をご参照ください: シンプルなLog Serviceの料金とCloud Shellを使用したログのダウンロード。
Simple Log Service CLIを使用したデータのダウンロード
大量のログをダウンロードする場合は、Simple Log Service CLIを使用できます。
Simple Log Service CLIをインストールします。 詳細については、「Simple Log Service CLIのインストール」をご参照ください。
現在のアカウントのAccessKeyペアを取得します。 詳細は、「AccessKeyペア」をご参照ください。
ログのダウンロードに使用するコマンドを取得します。
たとえば、Simple Log Service CLIでdownloadコマンドを実行し、現在のディレクトリの
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
詳細については、「Simple Log Service CLIの概要」をご参照ください。
Simple Log Service SDKを使用したデータのダウンロード
大量のログをダウンロードする場合は、Simple Log Service SDKを使用できます。
SDKにカプセル化されているのと同じAPI操作を呼び出して、ログを照会およびダウンロードできます。
次のサンプルコードは、Simple Log Service SDK for Pythonを使用してログをダウンロードする方法の例を示しています。
import os
import time
from aliyun.log import LogClient
from aliyun.log import GetLogsRequest
# The Simple Log Service endpoint.
endpoint = 'cn-qingdao.log.aliyuncs.com'
# In this example, the AccessKey ID and AccessKey secret are obtained from environment variables.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# The name of the project.
project = 'Project name'
# The name of the Logstore.
logstore = '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)
# or
# 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()
詳細については、「Simple Log Service SDKの概要」をご参照ください。