Lambdaで、Webサイトに対して定期的にリクエストをし、レスポンスがあることをチェックします。
index.js
const https = require('http'); exports.handler = (event, context, callback) => { //URL var url = 'https://www.example.com/'; const req = https.request(url,(response)=>{ //statusCode取得 var code = response.statusCode; if(code == 200){ //OK console.log("OK " + code); }else{ //Error console.log("Status Error " + code) } }); //リクエスト自体がエラー req.on('error',(error)=>{ console.log("Fatal Error "+error.message); }); req.end(); };
Lambdaで、コンソールに出力をすると、CloudWatchに連携されます。
CloudWatchのイベントルールを作成し、Lambdaを定期的に実行させます。
CloudWatchログでメトリックスフィルタの作成します。
フィルタパターンは、「Error」にしましょう。
CloudWatchアラームで、Errorがあると、メールを飛ばすようにしましょう。