← All Articles

検索式でCloudWatchメトリクスのグラフを動的に生成する

Posted on

はじめに

検索式を使うCloudWatchメトリックのグラフが動的に作成ができます。

確認した内容をまとめておきます。

やること

はじめに[TestFunc1] というLambdaをつくり実行します。(Invocationsにカウントさせるため)

次に検索式で関数名に[Test]がつくLambda関数のInvocationsを表示するグラフを作成してダッシュボードに保存します。

最後に[TestFunc2]という関数を新しく作成して実行し、ダッシュボードに保存したグラフに[TestFunc2]も描画されるようになっていることを確認します。

検索式について

検索式の形式は下記の形になります。

SEARCH(' {Namespace, DimensionName1, DimensionName2, ...} SearchTerm', 'Statistic', Period)

ポイントとして [SearchTerm]の箇所に、メトリクス名を指定+絞り込みたい単語を記載できるところです。(ANDでつなげます。)

今回は[Test]がつくLambda関数のInvocationsのグラフが作りたいので以下のような検索式を設定します。

SEARCH('{AWS/Lambda,FunctionName} MetricName="Invocations" AND Test', 'Sum', 600)

実際にやってみた

1) 一つ目のLambda関数[TestFunc1]を作成してテスト実行する。

Lambda関数[TestFunc1]を作成してテスト実行します。 Lambda関数の中身は特に興味がないので自動生成されたもので構いません。

TestFunc1

2) CloudWatchメトリックの画面で検索式を入れてグラフを作成する。

[グラフ化したメトリクス]の画面を開いたら[Math expression]>[空の式ではじまる]をクリックしてください。

0201125-空の式

行が追加されるのでそこに検索式を入力してください。 先ほど実行した[TestFunc1]の実行回数がInvocationsとして表示されているはずです。

20201125-検索式

表示されたら適当なダッシュボードに保存してください。

20201125-ダッシュボード.jpg

3) 二つ目のLambda関数[TestFunc2]を作成してテスト実行する。

Lambda関数[TestFunc2]を作成してテスト実行します。 ここもLambda関数の中身は特に興味がないので自動生成されたもので構いません。

TestFunc2

4) ダッシュボードを確認してLambda関数[TestFunc2]のグラフも描画されていることを確認する。

以下のように特にダッシュボードをいじることなくLambda関数[TestFunc2]のグラフが追加されていることが確認できるはずです。

20201125-ダッシュボード2.jpg

まとめ

一つ一つのLambda関数を選んでグラフを作成してダッシュボードに追加するのは手間がかかります。

今回の検索式を使用すれば、一括でグラフが作成できるので楽ができそうです。

またLambda関数が新しく増えた場合でも、検索式のルールに合致させるような名前にしておけば自動的にダッシュボード追加されるのもかなりいい感じです。

参考サイト

グラフで検索式を使用する https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/using-search-expressions.html

技術CloudWatchAWS