Amazon CloudWatch 異常検出を使用してカスタムメトリクスのアラームを作成する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon CloudWatch 異常検出を使用してカスタムメトリクスのアラームを作成する

作成者:Ram Kandaswamy (AWS) と Raheem Jiwani (AWS)

環境:本稼働

テクノロジー: 管理とガバナンス DevOps、運用、クラウドネイティブ

AWS サービス: Amazon CloudWatch

[概要]

Amazon Web Services (AWS) クラウドでは、Amazon を使用して、メトリクス CloudWatch をモニタリングし、通知を送信したり、しきい値を超えた場合に自動的に変更を加えるアラームを作成できます。

静的な閾値」による制限を避けるため、過去のパターンに基づいてアラームを作成し、特定のメトリックスが通常の運用時間外になった場合に通知するようにできます。たとえば、Amazon API Gateway から API の応答時間をモニタリングし、サービスレベルアグリーメント (SLA) を満たすことを妨げる異常に関する通知を受信することができます。

このパターンでは、カスタムメトリクスの CloudWatch 異常検出を使用する方法について説明します。このパターンは、Amazon CloudWatch Logs Insights でカスタムメトリクスを作成する方法、または AWS Lambda 関数でカスタムメトリクスを発行する方法を示しています。次に、Amazon Simple Notification Service (Amazon SNS) を使用して異常検出を設定し、通知を作成します。

前提条件と制限

前提条件

  • アクティブな AWS アカウント。

  • SNS トピックは、電子メール通知を送信するように設定できます。詳細については、Amazon SNS ドキュメントの「Amazon SNS の使用開始」を参照してください。

  • CloudWatch Logs で設定された既存のアプリケーション。

 

制約事項

  • CloudWatch メトリクスはミリ秒の時間間隔をサポートしていません。通常のメトリクスとカスタムメトリクスの詳細度の詳細については、「Amazon CloudWatch FAQs」を参照してください。

アーキテクチャ

この図表は、次のワークフローを示しています:

  1. Logs によって作成および更新されたメトリクスを使用する CloudWatch ログは、 にストリーミングされます CloudWatch。

  2. アラームは閾値に基づき開始され、SNS トピックにアラートを送信します。

  3. Amazon SNS からメール通知が送信されます。

テクノロジースタック

  • Cloudwatch

  • 「AWS Lambda」

  • Amazon SNS

ツール

  • Amazon Cloudwatch — CloudWatch 信頼性、スケーラビリティ、柔軟性に優れたモニタリングソリューションを提供します。

  • AWS Lambda」— AWS Lambda はサーバーをプロビジョニングまたは管理しなくてもコードを実行できるコンピュートサービスです。

  • Amazon SNS」— Amazon Simple Notification Service (Amazon SNS) は、パブリッシャーからサブスクライバーへのメッセージ配信を提供するマネージドサービスです。

エピック

タスク説明必要なスキル
オプション 1-Lambda 関数により、カスタムメトリクスを作成します。

lambda_function.py ファイル (添付) をダウンロードし、AWS ドキュメント のaws-lambda-developer-guideリポジトリにあるサンプルlambda_function.pyファイルを置き換えます GitHub。これにより、カスタムメトリクスを CloudWatch Logs に送信するサンプル Lambda 関数が提供されます。Lambda 関数は Boto3 API を使用して と統合します CloudWatch。 

Lambda 関数を実行したら、AWS マネジメントコンソールにサインインして CloudWatch コンソールを開き、公開されたメトリクスを公開された名前空間で使用できます。

DevOps エンジニア、AWS DevOps
オプション 2 — CloudWatch ロググループからカスタムメトリクスを作成します。

AWS マネジメントコンソールにサインインし、 CloudWatch コンソールを開き、ロググループ を選択します。メトリックを作成するロググループを選択します。 

[アクション]、[メトリクスフィルターの作成] の順に選択します。[フィルターパターン] に、使用するフィルターパターンを入力します。詳細については、 CloudWatch ドキュメントの「フィルターとパターンの構文」を参照してください。 

フィルター パターンをテストするには、[テストパターン] に 1 つ以上のログ イベントを入力します。[ログイベントメッセージ] ボックスのログイベントを区切るために改行が使用されるため、各ログイベントは 1 行以内である必要があります。パターンをテストしたら、メトリックの詳細にメトリックスの名前と値を入力できます。 

カスタムメトリクスの作成方法の詳細と手順については、 ドキュメントの「ロググループのメトリクスフィルターを作成する」を参照してください。 CloudWatch

DevOps エンジニア、AWS DevOps
カスタムメトリクスのアラームを作成します。

CloudWatch コンソールでアラーム を選択し、アラームの作成 を選択します。メトリクスの選択を選択し、前に作成したメトリクスの名前を検索ボックスに入力します。グラフ化したメトリクスタブを選択し、要件に応じてオプションを設定します。

条件で、静的閾値の代わりに異常検知を選択します。これにより、2 つの標準デフォルト偏差に基づくバンドが表示されます。要件に応じて、閾値を設定できます。

[次へ] をクリックします。

注:バンドは動的で、データポイントの品質によって異なります。さらにデータを集約し始めると、バンドと閾値は自動的に更新されます。 

DevOps エンジニア、AWS DevOps
SNS 通知のセットアップ

[通知] で、アラームが ALARM 状態、OK 状態、または INSUFFICIENT_DATA 状態のときに通知する SNS トピックを選択します。

同じアラーム状態または複数の異なるアラーム状態について複数の通知を送信するには、[Add notification (通知の追加)] を選択します。[次へ] をクリックします。アラームの名前と説明を入力します。名前には ASCII 文字のみを含める必要があります。次いで、[Next (次へ)] を選択します。

[プレビューと作成] で、情報と条件が正しいことを確認し、[アラームの作成] を選択します。

DevOps エンジニア、AWS DevOps

関連リソース

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip