ヤマムギ

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を発生させてみます。

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


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

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

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

 - AWS , ,

  関連記事

Amazon Q Developer for CLIでAWS Diagram MCP Serverを使ってAWSアイコンを使った図を書いてもらいました

MacにインストールしているAmazon Q Developer for CLI …

ADOT用のAWS マネージド型 Lambda レイヤーを使ってトレースを送信する

2025年11月にAWS X-Ray SDK / Daemon のサポート終了と …

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」を執筆いたしました

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」という本の第 …

WordPressで発生した「No space left on device」に対応

CloudWatch Logsメトリクスフィルターで「No space left …

kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする

こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …

Amazon Location Service入門ワークショップ-マップの操作

関連記事 Amazon Location Service入門ワークショップの前提 …

AWS ControlTowerで既存アカウントをまとめて追加

AWS Organizationsに新たに招待したアカウントをAWS Contr …

5分でAlexaスキルを作る

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …

API GatewayをトリガーにしたときのLambdaリソースベースポリシー

先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …

NGINXで500と502のエラーが実は頻発していたらしい

先日Mackerelで当ブログの外形監視を始めたのですが、500と502のエラー …