ヤマムギ

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入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

Amazon Linux にnodejsとmongoDBをインストールする

EPEL リポジトリを利用してnodejsとnpmをインストールする [bash …

ヤマムギ vol.9 (AWS)EC2からAWS CLIコマンドを実行してみようハンズオン 手順

このブログは2020/5/5に開催しました、「ヤマムギ vol.9 (AWS)E …

DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する

JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …

AWS DeepLens開封の儀

去年(2019年)7月にamazon.co.jpでDeepLens買えますやんっ …

「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました

AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …

RDSスナップショットのS3エクスポート結果確認

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもで …

AWS CloudFormationでAmazon DynamoDBテーブルを作ってアイテムを追加する

デモ用にDynamoDBテーブルを作って消して、ということをたまにするので、Cl …

EFSをEC2(Amazon Linux 2)からマウントする

Amazon Elastic File Systemが東京リージョンに来たことも …

Lucidchart AWSアカウントからインポート機能で自動作図

SNSでLucidchartというサービスが話題になってました。 AWSの環境を …

Amazon Aurora Serverless のログをCloudWatch Logsに出力する

WordPress W3 Total Cache のDatabaseCacheを …