put-metric-alarmコマンドを使用して、アラーム設定をコマンドラインから登録する手順について記載。
例:「CPU使用率90%以上が3分間の平均で上回った場合」のアラームを登録するコマンド
aws cloudwatch put-metric-alarm --alarm-name '[SITE-A] [Critical] InstanceId_CPUUtilization_sv1' --dimensions Name=InstanceId,Value=********** --alarm-description '[SITE-A] [Critical] InstanceId_CPUUtilization_sv1' --alarm-actions "arn:aws:sns:ap-northeast-1:**********:critical" --namespace AWS/EC2 --metric-name CPUUtilization --period 60 --statistic Average --evaluation-periods 3 --comparison-operator GreaterThanOrEqualToThreshold --threshold 90.0 --unit Percent --treat-missing-data=notBreaching
※コマンドは一行で実行します。
「 Value=****** 」や「 sns:ap-northeast-1:******:critical 」は環境によって異なります。
aws cloudwatch put-metric-alarm / メトリックアラームの登録用のコマンド
先頭にコマンドを指定します。
alarm-name / 名前
--alarm-name '[SITE-A] [Critical] InstanceId_CPUUtilization_sv1'
アラームの名称。通知の件名として使用されます。
dimensions / インスタンスIDの指定
--dimensions Name=InstanceId,Value=**********
メトリクスをフィルタするために使用できる名前と値のペアを設定します。
Name=InstanceId
Value=%instanceid% ※インスタンスIDを設定します。
alarm-description / 説明
--alarm-description '[SITE-A] [Critical] InstanceId_CPUUtilization_sv1'
任意。
alarm-actions / アクション
通知
--alarm-actions "arn:aws:sns:ap-northeast-1:**********:critical"
EC2アクション – インスタンスの再起動
--alarm-actions "arn:aws:swf:ap-northeast-1:**********:action/actions/AWS_EC2.InstanceId.Reboot/1.0"
EC2アクション – インスタンスの停止
--alarm-actions "arn:aws:swf:ap-northeast-1:**********:action/actions/AWS_EC2.InstanceId.Stop/1.0"
EC2アクション – インスタンスの終了
--alarm-actions "arn:aws:swf:ap-northeast-1:**********:action/actions/AWS_EC2.InstanceId.Terminate/1.0"
EC2アクション – インスタンスの復元
--alarm-actions "arn:aws:automate:ap-northeast-1:ec2:recover"
アクションを指定します。
arn:aws:swf
| 項目 | 設定値 |
|---|---|
| 通知 | arn:aws:sns |
| AutoScalingアクション | arn:aws:autoscaling |
| EC2アクション – インスタンスの再起動 EC2アクション – インスタンスの停止 EC2アクション – インスタンスの終了 |
arn:aws:swf |
| EC2アクション – インスタンスの復元 | arn:aws:automate |
※アクションを複数登録する場合は、””で囲み、スペースで区切って記載する
namespace / 名前空間 ※一部抜粋
--namespace AWS/EC2
名前空間を指定します。
| 設定値 |
|---|
| AWS/EC2 |
| System/Linux |
| 作成したカスタムメトリクス名等 |
参照:AWSの名前空間
metric-name / メトリクス名 ※一部抜粋
--metric-name CPUUtilization
対象となるメトリクス名を設定します。
| 項目 | 設定値 |
|---|---|
| CPU使用率 | CPUUtilization |
| ディスク使用率 | DiskSpaceUtilization |
| バースト使用量 | BurstBalance |
| メモリ使用率 | MemoryUtilization |
| ステータスチェック | StatusCheckFailed |
| ファイル数 | NumberOfObjects |
| データサイズ | BucketSizeBytes |
| ストレージ残量(Byte) | FreeStorageSpace |
| 空きメモリ残量(Byte) | FreeableMemory |
| 読み込みレイテンシ | ReadLatency |
| 書き込みレイテンシ | WriteLatency |
| SWAP利用量(Byte) | SwapUsage |
| DBコネクション数 | DatabaseConnections |
| レスポンスタイム | TargetResponseTime |
| 読み込みIOPS | ReadIOPS |
| 書き込みIOPS | WriteIOPS |
| 書き込みOps | VolumeWriteOps |
| 読み込みOps | VolumeReadOps |
period / 期間
--period 60
値を秒数で設定します。
| 項目 | 設定値 |
|---|---|
| 1分 | 60 |
| 5分 | 300 |
| 15分 | 900 |
| 1時間 | 3600 |
| 6時間 | 21600 |
| 1日 | 86400 |
statistic / 統計
--statistic Average
統計の種類を設定します。
| 項目 | 設定値 |
|---|---|
| データサンプル | SampleCount |
| 平均 | Average |
| 合計 | Sum |
| 最小 | Minimum |
| 最大 | Maximum |
evaluation-periods / 評価
--evaluation-periods 3
「統計」として使用する「期間」を継続する評価回数を設定します。
comparison-operator / 比較演算子
--comparison-operator GreaterThanOrEqualToThreshold
比較演算子を設定します。
| 項目 | 設定値 |
|---|---|
| >= | GreaterThanOrEqualToThreshold |
| > | GreaterThanThreshold |
| < | LessThanThreshold |
| <= | LessThanOrEqualToThreshold |
threshold / しきい値
--threshold 90.0
しきい値となる値を設定します。
unit / 単位
--unit Percent
単位を設定します。
| 項目 | 設定値 |
|---|---|
| % | Percent |
| 回 | Count |
| 秒 | Seconds |
| マイクロ秒 | Microseconds |
| ミリ秒 | Milliseconds |
| バイト | Bytes |
| KB | Kilobytes |
| MB | Megabytes |
| GB | Gigabytes |
| TB | Terabytes |
| Bit | Bits |
| Kbit | Kilobits |
| Mbit | Megabits |
| Gbit | Gigabits |
| Tbit | Terabits |
treat-missing-data / 欠損データの処理方法
--treat-missing-data=notBreaching
欠損データの処理方法を設定します。
| 項目 | 設定値 |
|---|---|
| 適正(しきい値を超えていない) | notBreaching |
| 不正(しきい値を超えている) | breaching |
| 無視(アラート状態を維持する) | ignore |
| 見つかりません | missing |
登録されている情報の詳細を確認するには以下のコマンドを実行します。
aws cloudwatch describe-alarms
「myalarm」の詳細情報だけを表示する場合は以下のコマンドを実行します。
aws cloudwatch describe-alarms --alarm-names "myalarm"