スキップしてコンテンツを表示

CloudWatch Logs からログデータを取得するにはどうすればよいですか?

所要時間1分
0

サブスクリプションフィルタ、Logs Insights クエリ、Amazon Simple Storage Service (Amazon S3) エクスポート、CloudWatch API を使用して Amazon CloudWatch Logs からログデータを取得して、CSV ファイルとしてダウンロードしたいと考えています。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

CloudWatch Logs からログデータを取得するには、ユースケースに基づいて、次のいずれかのベストプラクティスを使用します。

サブスクリプションフィルターを使用してログデータをストリーミングする

CloudWatch Logs からログデータをリアルタイムで取得するには、サブスクリプションフィルターを使用します。ログデータのサブスクリプションフィルターは CloudWatch API のスロットリングを防止します。詳細については、「サブスクリプションを使用したログデータのリアルタイム処理」および「ロググループレベルのサブスクリプションフィルター」を参照してください。

注: Amazon Kinesis Data Streams の場合、スロットリングされたサービス API は自動的に再試行されます。

CloudWatch API を使用する

ログデータを手動で見つけるには、GetLogEvents または FilterLogEvents CloudWatch API オペレーションを使用します。1 秒あたりのトランザクション数 (TPS) クォータがあるため、これらの API オペレーションをスケーリングすることはできません。GetLogEvents API オペレーションは、トークンを介して利用できるログイベントが他にもある場合、空の結果を返すことがあります。現在のクォータについては、「CloudWatch Logs クォータ」を参照してください。API スロットリングが発生する場合は、サブスクリプションフィルターを使用してください。

CloudWatch Logs Insights クエリを実行する

ログデータを検索して分析するには、CloudWatch Logs Insights でクエリを実行します。クエリは、問題への対応や原因の特定に役立ち、その他のトラブルシューティングにも役立ちます。詳細については、「CloudWatch Logs Insights を使用してログデータを分析する」を参照してください。

ログデータを Amazon S3 にエクスポートする

バッチユースケースでは、CloudWatch Logs データを Amazon S3 にエクスポートできます。ログデータを CloudWatch Logs からエクスポートできるようになるまでに最大 12 時間かかる可能性があります。リアルタイムの分析と処理には、サブスクリプションフィルターを使用してください。

注: AWS アカウントでは、PENDINGPENDING_CANCEL、またはRUNNING 状態のログデータに対して実行できるエクスポートタスクは 1 つのみです。

ログを .csv ファイルにダウンロードする

CloudWatch コンソール、AWS CLI、または CloudWatch Logs Insights を使用してログデータを取得できます。CloudWatch コンソールを使用してください。

次の手順を実行します。

  1. CloudWatch コンソールを開きます。
  2. 該当するロググループを選択します。
  3. ダウンロードするログイベントを含むログストリームを選択します。
  4. [アクション] を選択してから、[検索結果をダウンロード] を選択します。

AWS CLI を使用する

.csv ファイル形式のログイベントを取得するには、次の get-log-events AWS CLI コマンドを実行します。

aws logs get-log-events --log-group-name example-loggroup-name  --log-stream-name example-logstream-name  --start-time 1705147529 --end-time 1705233929 log_events.csv

注: **example-loggroup-name ** は実際のロググループ名に、example-logstream-name は実際のログストリーム名に、1705147529 は実際の開始時間に、1705233929 は実際の終了時間に置き換えてください。

.csv ファイルは、コマンドの開始元と同じディレクトリに保存されます。また、AWS CLI は、ワークステーションに対して設定されたデフォルトの AWS リージョンとプロファイルを使用します。前述の AWS CLI コマンドでワークステーションのリージョンを指定します。

CloudWatch Logs Insights を使用してログデータを取得する

クエリを実行してログデータを取得します。ログが 10,000 件未満のデータをエクスポートするには、[結果をエクスポート] を選択します。また、10,000 を超えるログのデータをエクスポートするには、ログを S3 バケットにエクスポートし、そのデータを .csv ファイルにダウンロードします。

AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ