View a markdown version of this page

CloudWatch Logs Insights でモニタリングする - AWS での分散負荷テストソリューション

CloudWatch Logs Insights でモニタリングする

このソリューションでは、CloudWatch Logs Insights コンソール[保存されたクエリ] の下に表示される 4 つの CloudWatch Logs Insights 保存済みクエリをデプロイします。これらのクエリは、カスタムクエリを記述することなく、テストのオーケストレーション、エラー、タスクの失敗、孤立のクリーンアップを可視化します。

各クエリ名には、複数のデプロイ間で識別するためのスタック名とリージョンが含まれます。例: DLT - Test Timeline [my-stack us-east-1]

保存されたクエリの使用

保存されたクエリを実行するには

  1. CloudWatch Logs Insights コンソールを開きます。

  2. 左側のパネルで、[保存されたクエリ] を展開します。

  3. プレフィックスが DLT - のクエリを選択します。

  4. クエリに REPLACE_WITH_TEST_RUN_ID などのプレースホルダー値が含まれている場合は、テスト結果から取得した実際のテスト実行 ID に置き換えます。

  5. [Run query] (クエリの実行) を選択します。

DLT - テストタイムライン

単一のテスト実行について、すべてのオーケストレーション Lambda 関数のライフサイクル全体を表示します。このクエリを使用して、テストの作成から完了までのイベントのシーケンスをトレースします。

属性

フィールド

@timestamp, logEvent, message, region, error

フィルター

testRunId = "REPLACE_WITH_TEST_RUN_ID"

Sort

@timestamp asc

制限

500

REPLACE_WITH_TEST_RUN_ID を、調査するテストラン ID に置き換えます。

DLT - テストエラー

Lambda 関数と ECS タスクにわたる単一のテスト実行におけるすべての ERROR レベルのエントリを表示します。このクエリを使用して、テストが失敗したとき、または予期しない結果を生成したときの根本原因を特定します。

属性

フィールド

@timestamp, logEvent, message, region, taskId, error

フィルター

testRunId = "REPLACE_WITH_TEST_RUN_ID" and level = "ERROR"

Sort

@timestamp asc

REPLACE_WITH_TEST_RUN_ID を、調査するテストラン ID に置き換えます。

DLT - タスクの失敗

停止コードと障害分類とともに、個々の ECS タスクの失敗を表示します。このクエリを使用して、テスト中に特定の Fargate タスクが停止した理由を理解します。

属性

フィールド

@timestamp, testId, testRunId, region, taskArn, stopCode, exitCode, stopCategory, stoppedReason

フィルター

logEvent = "TASK_FAILURE_DETECTED"

Sort

@timestamp desc

制限

50

このクエリにはテスト実行 ID は必要ありません。すべてのテスト実行における最近のすべてのタスクの失敗が表示されます。

DLT - 孤立のクリーンアップ

孤立した ECS サービスの検出履歴を表示します。このクエリを使用して、時間単位の孤立のクリーンアッププロセスが、放棄されたサービスを検出して削除していることを確認します。

属性

フィールド

@timestamp, logEvent, message, region, cluster, orphanCount, orphanTestIds

フィルター

logEvent = "ORPHAN_DETECTED"

Sort

@timestamp desc

制限

50