Amazon Web Services ブログ

Amazon CloudWatch を使用して、ハイブリッド、マルチクラウド、オンプレミスのメトリクスを統合します

Amazon CloudWatch を使用して、ハイブリッド、マルチクラウド、およびオンプレミスのデータソースからのメトリクスを統合し、一貫性のある統一された方法で処理できるようになりました。ソースに関係なく、あらゆるメトリクスでクエリ、視覚化、アラームを行うことができます。この新機能は、統一されたビューを提供するだけでなく、インフラストラクチャの複数の部分や側面にまたがる傾向や問題を特定するのに役立ちます。

この新機能について初めて聞いたとき、「待って、 PutMetricDataでもそれはできるけど、何が凄いの?」と思いました。 結果的に、かなり凄いことが分かりました。PutMetricData はメトリックスを CloudWatch に保存しますが、この便利な新機能ではソースから直接オンデマンドでメトリクスを取得します。

データを保存する代わりに、Prometheus 用のアマゾンマネージドサービス、汎用PrometheusAmazon OpenSearch ServiceAmazon RDS for MySQLAmazon RDS for PostgreSQLAmazon Simple Storage Service (Amazon S3) に保存されている CSV ファイル、および Microsoft Azure モニターからデータを引き出すコネクタを選択して設定します。各コネクタは、AWS CloudFormation テンプレートからデプロイされる AWS Lambda 関数です。CloudWatch は必要に応じて適切な Lambda 関数を呼び出し、返されたメトリクスをすぐに使用します。メトリクスはバッファリングされたり保持されたりしません。

コネクタの作成と使用
はじめに、CloudWatch コンソールを開いて [すべてのメトリックス] をクリックし、[マルチソースクエリ] タブをアクティブにしてから、[データソースの作成と管理] をクリックします。

そしてこれをもう一度行います。

次に、データソースタイプを選択します。

その後、CloudWatch は、データソースのコネクタを作成して設定するために必要な詳細情報を入力するように求めます。たとえば、Amazon RDS — MySQL を選択した場合、データソースに名前を付け、RDS データベースインスタンスを選択して、接続情報を指定します。

[データソースの作成] をクリックすると、Lambda 関数、Lambda 権限、IAM ロール、シークレットマネージャーシークレット、ロググループ、および AWS CloudFormation スタックが自分のアカウントに作成されます。

次に、データソースを参照して提供するメトリクスを利用する準備ができたら、メトリックのタイムスタンプと値を返す SQL クエリを入力します。

Lambda 関数の内部
カスタム — 開始テンプレートのコードは短く、シンプルで、理解しやすいものです。次の 2 つのイベントのハンドラーを実装しています。

DescribeGetMetricData — このハンドラーは、コネクタの名前、他のハンドラーへの引数のデフォルト値、および CloudWatch コンソールのカスタムデータソースクエリビルダーに表示される Markdown 形式のテキスト説明を含む文字列を返します。

GetMetricData — このハンドラーは、ハンドラーの引数として指定された時間範囲について、メトリクス名、タイムスタンプとメトリックス値の 1 次元配列を返します。

このコードを数分間調べれば、独自のデータソースに接続する関数の記述方法がわかるはずです。

知っておくべきこと
この強力な新機能に関して留意すべき点がいくつかあります。

リージョン — すべての商用 AWS リージョンでデータコネクタを作成して使用できます。あるリージョンで実行されているコネクタは、他のリージョンや他の AWS アカウントのサービスやエンドポイントに接続してデータを取得できます。

料金 — コネクタには追加料金はかかりません。Lambda 関数の呼び出しと、作成したその他の AWS インフラストラクチャの料金を支払います。

Jeff;

原文はこちらです。