ヤマムギ

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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS , ,

ad

ad

  関連記事

AWS複数アカウントのリソースをLambda(Python)から一括操作したくて

AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …

AWSアカウント内のCloudWatchアラームを削除する

やりたいこと 特定アカウント特定リージョン内のCloudWatdchアラームを全 …

Amazon API Gatewayでモックを作る

超シンプルなAPI Gatewayのサンプルがほしかったので、ユーザーガイドの手 …

AWS Expert Online at JAWS-UG首都圏エリアに参加して「Amazon EC2 スポットインスタンス再入門」を聞いてきた

AWS Expert Onlineという勉強会がありまして、AWS ソリューショ …

ACM(AWS Certificate Manager)の承認メールを受け取るためにAmazon SESを設定する

何のためでもいいのですが、ドメインは持っているけど、そのドメイン宛にメールを送ら …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

EC2ハードウェア専有インスタンス(Dedicated Instances)を起動して請求書を確認してみました

EC2ハードウェア専有インスタンスのサイトには、次の料金と表記されています。 * …

AWS GlueでAurora JDBC接続でS3へのジョブを実行

Aurora Serverless v1のMySQLタイプデータベースからS3へ …

Route 53 の加重ラウンドロビンルーティングでロードバランサー

Route 53の加重ラウンドロビンで両方1に設定してみました。 上図はイメージ …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …