AWS CDK
以下は、AWS CDK v2で使用するcloudwatch.Metric
のコンストラクタに指定できるすべてのプロパティについての表です。各プロパティの説明と、省略可能かどうか(省略した場合のデフォルト値を含む)をまとめています。
プロパティ | 説明 | 省略可能かどうか / デフォルト値 |
---|---|---|
namespace |
メトリクスが属する名前空間を指定します。 | 必須 |
metricName |
メトリクスの名前を指定します。 | 必須 |
dimensionsMap |
メトリクスに関連するディメンションを指定します。 | 省略可能 / undefined (ディメンションなし) |
period |
メトリクスデータの収集期間を指定します。 | 必須 |
statistic |
メトリクスの統計情報の種類(例: Average , Sum , Maximum )を指定します。 |
必須 |
unit |
メトリクスの単位(例: PERCENT , SECONDS , BYTES )を指定します。 |
必須 |
label |
グラフやアラームで表示されるメトリクスのラベルを指定します。 | 省略可能 / metricName がラベルとして使用されます |
region |
メトリクスのリージョンを指定します。異なるリージョンのメトリクスを参照する場合に使用します。 | 省略可能 / スタックのデプロイ先のリージョンが使用されます |
account |
メトリクスのAWSアカウントを指定します。クロスアカウントでメトリクスを参照する場合に使用します。 | 省略可能 / スタックのアカウントが使用されます |
color |
メトリクスを表示するグラフで使用される色を指定します。 | 省略可能 / 自動的に決定されます |
備考
-
必須プロパティ:
namespace
、metricName
、period
、statistic
、unit
は必須で、省略できません。これらのプロパティは、メトリクスの基本的な情報を定義します。 -
省略可能なプロパティ:
dimensionsMap
、label
、region
、account
、color
は省略可能です。省略された場合には、それぞれのデフォルト値や動作に基づいて処理されます。 - dimensionsMap: 省略可能なプロパティであり、メトリクスに関連する特定のリソースを指定するために使用します。指定しない場合、メトリクスはディメンションなしで記録されます。
この表は、AWS CDK v2を使用してCloudWatchメトリクスを定義する際の参考としてご利用ください。
以下は、AWS CDK v2で使用するcloudwatch.Alarm
のコンストラクタに指定できるすべてのプロパティについての表です。各プロパティの説明と、省略可能かどうか(省略した場合のデフォルト値を含む)をまとめています。
プロパティ | 説明 | 省略可能かどうか / デフォルト値 |
---|---|---|
metric |
監視するCloudWatchメトリクスを指定します。 | 必須 |
threshold |
アラームをトリガーするしきい値を指定します。 | 必須 |
evaluationPeriods |
しきい値を超える必要がある評価期間の数を指定します。 | 必須 |
comparisonOperator |
メトリクスの値をしきい値と比較する方法を指定します。例: GreaterThanOrEqualToThreshold 。 |
必須 |
alarmName |
アラームの名前を指定します。 | 省略可能 / 自動生成される名前 |
alarmDescription |
アラームの説明を指定します。 | 省略可能 / undefined
|
treatMissingData |
データが欠損している場合の処理方法を指定します。 | 省略可能 / TreatMissingData.MISSING
|
datapointsToAlarm |
アラームをトリガーするために必要なデータポイントの数を指定します。 | 省略可能 / evaluationPeriods と同じ値 |
actionsEnabled |
アラームアクションが有効かどうかを指定します。 | 省略可能 / true
|
okActions |
アラームがOK状態に戻ったときに実行されるアクションのリストを指定します。 | 省略可能 / undefined
|
alarmActions |
アラーム状態になったときに実行されるアクションのリストを指定します。 | 省略可能 / undefined
|
insufficientDataActions |
データが不足している場合に実行されるアクションのリストを指定します。 | 省略可能 / undefined
|
備考
-
必須プロパティ:
metric
、threshold
、evaluationPeriods
、comparisonOperator
は必須で、省略できません。これらのプロパティは、アラームの基本的な動作を定義します。 -
省略可能なプロパティ:
alarmName
、alarmDescription
、treatMissingData
、datapointsToAlarm
、actionsEnabled
、okActions
、alarmActions
、insufficientDataActions
は省略可能です。省略された場合には、それぞれのデフォルト値や動作に基づいて処理されます。 -
treatMissingData
: このプロパティは、データが欠損している場合にどのように扱うかを指定します。デフォルトではTreatMissingData.MISSING
として扱われ、欠損データは無視されます。 -
datapointsToAlarm
: 省略した場合は、evaluationPeriods
の値が使用されます。これは、指定された評価期間中にしきい値を超えるデータポイントの数を指定します。
この表は、AWS CDK v2を使用してCloudWatchアラームを定義する際の参考としてご利用ください。
CloudWatch memo
},
unit: cloudwatch.Unit.PERCENT, // 単位をパーセントに設定
statistic: cloudwatch.Statistic.AVERAGE, // 統計情報を平均に設定
}),
unit: cloudwatch.Unit.PERCENT
Unit.COUNT:
-
cloudwatch.Unit
Unit.SECONDS: 秒
Unit.MICROSECONDS: マイクロ秒
Unit.MILLISECONDS: ミリ秒
Unit.BYTES: バイト
Unit.KILOBYTES: キロバイト
Unit.MEGABYTES: メガバイト
Unit.GIGABYTES: ギガバイト
Unit.TERABYTES: テラバイト
Unit.BITS: ビット
Unit.KILOBITS: キロビット
Unit.MEGABITS: メガビット
Unit.GIGABITS: ギガビット
Unit.PERCENT: パーセント
Unit.COUNT: カウント(個数)
Unit.BYTES_PER_SECOND: 秒あたりのバイト数
Unit.KILOBYTES_PER_SECOND: 秒あたりのキロバイト数
Unit.MEGABYTES_PER_SECOND: 秒あたりのメガバイト数
Unit.GIGABYTES_PER_SECOND: 秒あたりのギガバイト数
Unit.TERABYTES_PER_SECOND: 秒あたりのテラバイト数
Unit.BITS_PER_SECOND: 秒あたりのビット数
Unit.KILOBITS_PER_SECOND: 秒あたりのキロビット数
Unit.MEGABITS_PER_SECOND: 秒あたりのメガビット数
Unit.GIGABITS_PER_SECOND: 秒あたりのギガビット数
Unit.COUNT_PER_SECOND: 秒あたりのカウント数
Unit.NONE: 単位なし -
cloudwatch.Statistic
Statistic.SAMPLE_COUNT: サンプル数
Statistic.AVERAGE: 平均
Statistic.SUM: 合計
Statistic.MINIMUM: 最小値
Statistic.MAXIMUM: 最大値
以下の表に、数値とその cdk.Duration
での書き換え前後の対応を示します。
秒数 | 書き換え前 | 書き換え後 |
---|---|---|
300 | cdk.Duration.seconds(300) |
cdk.Duration.minutes(5) |
3600 | cdk.Duration.seconds(3600) |
cdk.Duration.hours(1) |
3900 | cdk.Duration.seconds(3900) |
cdk.Duration.minutes(65) |
43200 | cdk.Duration.seconds(43200) |
cdk.Duration.hours(12) |
60 | cdk.Duration.seconds(60) |
cdk.Duration.minutes(1) |
以下の表に、treatMissingData
と statistic
の各プロパティで指定可能な全ての書き方を示します。
treatMissingData
の書き方
cloudwatch.TreatMissingData
で設定できる値:
プロパティ値 | 説明 |
---|---|
cloudwatch.TreatMissingData.BREACHING |
データが欠落している場合にアラームが発報条件を満たしていると見なす。 |
cloudwatch.TreatMissingData.NOT_BREACHING |
データが欠落している場合にアラームが発報条件を満たしていないと見なす。 |
cloudwatch.TreatMissingData.IGNORE |
データが欠落している場合に無視する。 |
cloudwatch.TreatMissingData.MISSING |
データが欠落している場合に欠落を意味する。 |
statistic
の書き方
cloudwatch.Statistic
で設定できる値:
プロパティ値 | 説明 |
---|---|
cloudwatch.Statistic.SAMPLE_COUNT |
メトリクスのサンプル数を計算。 |
cloudwatch.Statistic.AVERAGE |
メトリクスの平均値を計算。 |
cloudwatch.Statistic.SUM |
メトリクスの合計値を計算。 |
cloudwatch.Statistic.MINIMUM |
メトリクスの最小値を計算。 |
cloudwatch.Statistic.MAXIMUM |
メトリクスの最大値を計算。 |
まとめ
-
treatMissingData
: データ不足時の処理方法を指定します。-
BREACHING
: アラーム条件を満たすと見なす。 -
NOT_BREACHING
: アラーム条件を満たさないと見なす。 -
IGNORE
: データ不足を無視する。 -
MISSING
: データ不足を欠落と見なす。
-
-
statistic
: メトリクスの統計情報を指定します。-
SAMPLE_COUNT
: サンプル数。 -
AVERAGE
: 平均。 -
SUM
: 合計。 -
MINIMUM
: 最小値。 -
MAXIMUM
: 最大値。
-
これらの設定を使用して、CloudWatch アラームの動作やメトリクスの計算方法を細かく制御できます。
log-output-evidence-1723960348097.log
OK,1,項番1(業務ログ),/test-imamura/test/test.log,test-imamura,test/
-,2,項番1(業務ログ),/test-imamura/test2/test.log,test-imamura,test2/
OK,3,項番1(業務ログ),/test-imamura/test3/test.log,test-imamura,test3/
test-log-1723960348096.log
2024/08/18 14:52:28 処理開始
2024/08/18 14:52:28 ################ ログ出力テスト start ###################
2024/08/18 14:52:28
2024/08/18 14:52:28 [ 処理中のロググループ: /test-imamura/test/test.log ]
2024/08/18 14:52:28 NUM=1, DESABLE_FLG=, CATEGORY=項番1(業務ログ), LOG_GROUP_NAME=/test-imamura/test/test.log, LOG_STREAM_NAME=test-stream-0-20240818145228, S3_BUCKET=test-imamura, S3_PREFIX=test/, LOG_MESSAGE=, LOG_EVENT_TIME=
2024/08/18 14:52:28 create-log-streamの実行
2024/08/18 14:52:29 put-log-eventsの実行
2024/08/18 14:52:29 get-log-eventsの実行
2024/08/18 14:52:30 LogGroupName: /test-imamura/test/test.log
2024/08/18 14:52:30 LogStreamName: test-stream-0-20240818145228
2024/08/18 14:52:30 Expected: "テストログイベント - Sun Aug 18 14:52:28 JST 2024"
2024/08/18 14:52:30 Actual : "テストログイベント - Sun Aug 18 14:52:28 JST 2024"
2024/08/18 14:52:30 OK
2024/08/18 14:52:30
2024/08/18 14:52:30 [ 処理中のロググループ: /test-imamura/test2/test.log ]
2024/08/18 14:52:30 NUM=2, DESABLE_FLG=1, CATEGORY=項番1(業務ログ), LOG_GROUP_NAME=/test-imamura/test2/test.log, LOG_STREAM_NAME=test-stream-1-20240818145228, S3_BUCKET=test-imamura, S3_PREFIX=test2/, LOG_MESSAGE=テストログイベント - Sun Aug 18 14:52:28 JST 2024, LOG_EVENT_TIME=2024-08-18T05:52:28Z
2024/08/18 14:52:30 試験対象外のためスキップします。(結果判定はなしの - を結果として出力)
2024/08/18 14:52:30
2024/08/18 14:52:30 [ 処理中のロググループ: /test-imamura/test3/test.log ]
2024/08/18 14:52:30 NUM=3, DESABLE_FLG=, CATEGORY=項番1(業務ログ), LOG_GROUP_NAME=/test-imamura/test3/test.log, LOG_STREAM_NAME=test-stream-2-20240818145228, S3_BUCKET=test-imamura, S3_PREFIX=test3/, LOG_MESSAGE=テストログイベント - Sun Aug 18 14:52:30 JST 2024, LOG_EVENT_TIME=2024-08-18T05:52:30Z
2024/08/18 14:52:30 create-log-streamの実行
2024/08/18 14:52:31 put-log-eventsの実行
2024/08/18 14:52:31 get-log-eventsの実行
2024/08/18 14:52:32 LogGroupName: /test-imamura/test3/test.log
2024/08/18 14:52:32 LogStreamName: test-stream-2-20240818145228
2024/08/18 14:52:32 Expected: "テストログイベント - Sun Aug 18 14:52:30 JST 2024"
2024/08/18 14:52:32 Actual : "テストログイベント - Sun Aug 18 14:52:30 JST 2024"
2024/08/18 14:52:32 OK
2024/08/18 14:52:32 ################ ログ出力テスト end ###################
2024/08/18 14:52:32
2024/08/18 14:52:32 ログイベントがS3に転送されるのを待っています…
2024/08/18 14:57:32
2024/08/18 14:57:32 ################ S3格納テスト start ###################
2024/08/18 14:57:32 ************ element 0 is /test-imamura/test/test.log start *************
2024/08/18 14:57:32 NUM=1, DESABLE_FLG=, CATEGORY=項番1(業務ログ), LOG_GROUP_NAME=/test-imamura/test/test.log, LOG_STREAM_NAME=test-stream-0-20240818145228, S3_BUCKET=test-imamura, S3_PREFIX=test/, LOG_MESSAGE=テストログイベント - Sun Aug 18 14:52:28 JST 2024, LOG_EVENT_TIME=2024-08-18T05:52:28Z
2024/08/18 14:57:32 S3バケット test-imamura の test/ から最新データをダウンロード中…
2024/08/18 14:57:33 FILES: None
2024/08/18 14:57:33 ------- FILE=None start ---------
2024/08/18 14:57:33 ダウンロード中のファイル: None
2024/08/18 14:57:33 S3からファイルのダウンロードに失敗しました。
2024/08/18 14:57:34 ************ element 0 is /test-imamura/test/test.log end *************
2024/08/18 14:57:34 ************ element 1 is /test-imamura/test2/test.log start *************
2024/08/18 14:57:34 NUM=2, DESABLE_FLG=1, CATEGORY=項番1(業務ログ), LOG_GROUP_NAME=/test-imamura/test2/test.log, LOG_STREAM_NAME=test-stream-1-20240818145228, S3_BUCKET=test-imamura, S3_PREFIX=test2/, LOG_MESSAGE=テストログイベント - Sun Aug 18 14:52:30 JST 2024, LOG_EVENT_TIME=2024-08-18T05:52:30Z
2024/08/18 14:57:34 試験対象外のためスキップします。(結果判定はなしの - を結果として出力)
2024/08/18 14:57:34 ************ element 2 is /test-imamura/test3/test.log start *************
2024/08/18 14:57:34 NUM=3, DESABLE_FLG=, CATEGORY=項番1(業務ログ), LOG_GROUP_NAME=/test-imamura/test3/test.log, LOG_STREAM_NAME=test-stream-2-20240818145228, S3_BUCKET=test-imamura, S3_PREFIX=test3/, LOG_MESSAGE=テストログイベント - Sun Aug 18 14:52:30 JST 2024, LOG_EVENT_TIME=2024-08-18T05:52:30Z
2024/08/18 14:57:34 S3バケット test-imamura の test3/ から最新データをダウンロード中…
2024/08/18 14:57:35 FILES: None
2024/08/18 14:57:35 ------- FILE=None start ---------
2024/08/18 14:57:35 ダウンロード中のファイル: None
2024/08/18 14:57:35 S3からファイルのダウンロードに失敗しました。
2024/08/18 14:57:36 ************ element 2 is /test-imamura/test3/test.log end *************
2024/08/18 14:57:36 ################ S3格納テスト end ###################
s3-outputevidence-1723960348098.log
NG,1,項番1(業務ログ),/test-imamura/test/test.log,test-imamura,test/,S3からファイルのダウンロードに失敗しました。
-,2,項番1(業務ログ),/test-imamura/test2/test.log,test-imamura,test2/,試験対象外のためスキップしました。
NG,3,項番1(業務ログ),/test-imamura/test3/test.log,test-imamura,test3/,S3からファイルのダウンロードに失敗しました。