ElasticBeanstalkでメモリ使用率やHDD残量をモニタリングする方法の続き
ざっくり解説
- ElasticBeanstalkの「アラーム」では、CloudWatchでメトリクスしている項目が設定した閾値を超えた時、AmazonSNSの
SNSトピック
に通知を渡すことができる - AmazonSNSとは、何かをトリガーにしてどこかに情報をpushするサービス
- 送信先は、Emailとか、特定のURLを叩くとか、Lambdaとかいろいろ
SNSトピック
: トリガーと送信先(Subscriptions:複数可)のセット
方法
例として、メモリ使用率が98%を超えたら通知する場合
まず、ElasticBeanstalkでメモリ使用率やHDD残量をモニタリングする方法で追加したカスタムメトリクスMaxMemoryUtilization
を「モニタリング」に追加する
モニタリングに追加されたら、グラフの右上のベルのマークを押す
アラームの追加に遷移するので
- 「しきい値」を設定する
- 「次の時間経過後に状態を変更」を設定する
- 1分なら、1分後にしきい値以下になったらOKになる
- Slackの有料アカウントを使っているならば、Eメールアドレスにslack通知用のアドレスを設定すれば良い
Slackの有料アカウントを持っていない場合
こちらでAWS LambdaでSlackを叩く方法が解説されている
CloudWatchのAlertをAWS Lambda経由でSlackに飛ばす - Qiita
- AWS Lambda上で、Slack の WebHooksを叩くLambda functionを作成する
- 上記で作成されたSNSトピックに、このLambda functionを叩くSubscriptionを追加する