kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

ElasticBeanstalkでメモリ使用率が一定値を超えたらslackでアラートを出したい

ElasticBeanstalkでメモリ使用率やHDD残量をモニタリングする方法の続き

ざっくり解説

  • ElasticBeanstalkの「アラーム」では、CloudWatchでメトリクスしている項目が設定した閾値を超えた時、AmazonSNSのSNSトピックに通知を渡すことができる
  • AmazonSNSとは、何かをトリガーにしてどこかに情報をpushするサービス
    • 送信先は、Emailとか、特定のURLを叩くとか、Lambdaとかいろいろ
  • SNSトピック : トリガーと送信先(Subscriptions:複数可)のセット

方法

例として、メモリ使用率が98%を超えたら通知する場合

まず、ElasticBeanstalkでメモリ使用率やHDD残量をモニタリングする方法で追加したカスタムメトリクスMaxMemoryUtilizationを「モニタリング」に追加する

f:id:kasei_san:20170505175154p:plain

モニタリングに追加されたら、グラフの右上のベルのマークを押す

f:id:kasei_san:20170505175040p:plain

アラームの追加に遷移するので

  • しきい値」を設定する
  • 「次の時間経過後に状態を変更」を設定する
    • 1分なら、1分後にしきい値以下になったらOKになる
  • Slackの有料アカウントを使っているならば、Eメールアドレスにslack通知用のアドレスを設定すれば良い

f:id:kasei_san:20170505175609p:plain

Slackの有料アカウントを持っていない場合

こちらでAWS LambdaでSlackを叩く方法が解説されている

CloudWatchのAlertをAWS Lambda経由でSlackに飛ばす - Qiita

  • AWS Lambda上で、Slack の WebHooksを叩くLambda functionを作成する
  • 上記で作成されたSNSトピックに、このLambda functionを叩くSubscriptionを追加する

参考