ヤマムギ

growing hard days.

*

サイトのHTTPステータスを5分おきにチェックして200以外ならSlackに通知する

   


すいません。ここ最近出費が重なりまして、某監視サービスのプランを有料プランからFreeプランに戻しました。

なもんで、ブログサイトのステータスだけでも自前でチェックしておかなければと思いまして。

Githubはこちらです

設定方法

  1. Githubからコードをダウンロードして展開します。
  2. 同じフォルダにrequestsをインストールします。
  3. requestsもあわせてAWS Lambda関数をzipからアップロードで作成します。
  4. Slackチームを作ります。errorとnotifyチャンネルを作ります。
  5. Incoming Webhooksを設定してURLを取得します。
  6. 環境変数を設定します。
  7. トリガーをCloudWatch Eventで rate(5 minutes)として5分おきで実行します。

環境変数

  • url_1 : 監視したいURL
  • url_2 ~ 10 : 監視したいURLを10件まで登録出来ます。1だけでもOKです。
  • SLACK_URL : SlackのIncoming Webhooks URLです。

例です

コードの説明

環境変数url_1 ~ 10があればそれを配列にループして、
requests.getでstatus_codeをチェックして、
200でなければSlackのnotifyチャンネルに通知します。

動作確認

はい。5分おきに動いております。
ステータスは200なので何も起こりません。
良いことです。

ありえないページを環境変数のurl_5に追加して404を発生させてみます。

ちゃんと通知出来ましたね。
これで異常が発生したまま気づかないという事態だけは回避出来そうです。


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

ALBの重み付けルーティングでカナリアリリースをしてみました

当ブログのAMIの更新と、ALBターゲットグループのヘルスチェックを変更したかっ …

AWS Lambdaで「Process exited before completing request」

AWS lambdaで「Process exited before comple …

JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っかけ会

「JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo …

このブログをAWS大阪リージョンへ移行しました

大阪リージョン爆誕!! 朝起きて寝ぼけながらリージョンを見てると。 「大阪リージ …

DynamoDBテーブル項目をS3にエクスポート

DynamoDBテーブルを一時テーブルとして使っていて、毎回使い捨てしてます。 …

AWS CloudWatch LogsエージェントでAmazon EC2上のNginxのaccess.log , error.log , php-fpm error.log , Linuxのmessages , secureログを収集する

参考ページ クイックスタート: 実行中の EC2 インスタンスに CloudWa …

API Gatewayから直接 DynamoDBに書き込む

やりたいこと WebページでOやXを押したときに、どっちを押したかをDynamo …

T2.microからT3.nanoに変更(メモリエラーも対応)

このブログのEC2インスタンスをT2.micro 1インスタンスからT3.nan …

Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる

Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambd …

S3 VPCエンドポイント設定前と設定後を確認

S3のVPCエンドポイントを設定した際に、S3バケットのAPIエンドポイントへの …