LoginSignup
14
13

More than 3 years have passed since last update.

CloudFormationでCloudWatchAlermを作成する

Last updated at Posted at 2019-10-28

はじめに

ぐぐってもサンプルがでてこなくて、公式ページ見ながら作成したのでメモ。
いくつもLambda関数を作成しており、マネジメントコンソールで手動で作成するのが面倒なため、CloudFormationでコピペでできるように作成。

テンプレート(yaml)

Lambdaで実行時間が3秒を超えたときのアラーム。
1分の間に実行時間の最大値が3秒以上の回数が1回を超えたときにアラームをだす。
SNSにアラーム情報を送っている。

AWSTemplateFormatVersion: 2010-09-09
Resources:
  sample:
    Type: 'AWS::CloudWatch::Alarm'
    Properties:
      Namespace : AWS/Lambda
      AlarmName : lambda-duration-alarm-sample # アラーム名(自由に設定する)
      AlarmActions :
        - arn:aws:sns:ap-northeast-1:123456789012:sns-alerm # アラーム時に実行するSNSのarn(必須ではない)
      MetricName : Duration # 実行時間なのでDurationを指定
      ComparisonOperator : GreaterThanOrEqualToThreshold # 以上を表す
      EvaluationPeriods : 1 # 閾値を何回超えたときにアラーム状態にするか
      Period : 60 # 60秒
      Statistic : Maximum # 最大値
      Threshold : 3000 # 3秒(ミリ秒指定)
      Dimensions :
        - Name : FunctionName
          Value : sample-lambda

指定できる値

MetricName

メトリクス名を指定する。
AWSリソースにより指定する値が異なる。
メトリクスの作成画面のメトリクス名から指定できる値が見れる。
1.png

呼び出し回数でアラームを設定したい場合は、「Invocations」を指定する。

ComparisonOperator

指定する値 意味
GreaterThanOrEqualToThreshold 以上
GreaterThanThreshold より大きい
LessThanOrEqualToThreshold 以下
LessThanThreshold より低い

Statistic

指定する値 意味
Average 平均
Maximum 最大値
Minimum 最小値
SampleCount サンプル数
Sum 合計

Dimensions

公式ページ見ても指定の仕方がわかりませんでした。
マネジメントコンソールで作成画面を表示して設定しました。
サンプルの例だと下記の箇所を見ました。
2.png

複数設定する必要なときもある。
3.png

上記のようなときは、Dimensionsは下記のように複数設定する。

AWSTemplateFormatVersion: 2010-09-09
Resources:

・・・(省略)

      Dimensions :
        - Name : TableName
          Value : sampletable
        - Name : Operation
          Value : Query

最後に

CloudFormationをバリバリコーディングできる人がいるとしたらすごいなぁと思います。
1行定義するにも調べながら書いていて苦労しています。

14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13