やりたいこと
ELBを作成するにあたり、CloudWatchで監視をしたい
特に5XXエラーとか出たら、通知が欲しい
課題
発生した事のないメトリックスは、画面上からは設定できない
解決方針
a). 無理やり5XXを発生させる
b). コマンドラインで設定(コマンドラインなら設定可能)
a)は ( `_ゝ´) という表情になるので、b)を実施。
まぁ、どのみち5XX以外も複数個設定する訳だし。
コマンド
以下は
1 分間 に対する HTTPCode_Backend_5XX (HTTPCode_Backend_5XX) >= 1
を設定する例。【★】は書き換える。
aws cloudwatch put-metric-alarm \
--alarm-name "【★】" \
--alarm-description "【★】" \
--metric-name HTTPCode_Backend_5XX \
--namespace AWS/ELB \
--statistic Sum \
--period 60 \
--threshold 1 \
--comparison-operator GreaterThanOrEqualToThreshold \
--dimensions "Name=LoadBalancerName,Value=【★】" \
--evaluation-periods 1 \
--alarm-actions 【★】 \
--unit Count
項目名 | 備考 |
---|---|
--alarm-name | 通知メールのsubjectにも入る。 |
--alarm-description | 通知メールのbodyにも入る。 |
--metric-name | この辺から探す |
--namespace | 今回はAWS/ELB。 この辺から探す。 |
--statistic | |
--period | |
--threshold | 5xxエラーは出ない前提で作っているので1に。 |
--comparison-operator | 1"以上"にしたいのでGreaterThanOrEqualToThreshold |
--dimensions | この辺を参照。ELBの場合、 Name=LoadBalancerName となるようす。 |
--evaluation-periods | thresholdと同様の理由で1 |
--alarm-actions | 飛ばしたいメールのTopicを書く。 |
--unit | 今回のケースはCountで良さそう。 |
コマンドを実行すると、割とすぐ反映された。
残課題
そのアラームが正しく機能するか(=設定を間違えていないか)どうかのスマートな確認手段。
参考