【永久保存版】GASでURL監視と異常時自動通知を行う方法|初心者向けステップバイステップ解説!

「サイトが落ちているのに気づかず大問題に…」
「重要なページの更新をすぐに知りたい!」
そんな悩みを、Google Apps Script(GAS)を使ったURL監視+自動通知で一発解決しましょう!

この記事では、初心者でも簡単にできる
GASを使ったURL監視&異常時メール通知の仕組みを、サンプルコード付きでわかりやすく解説します!

これを読めば、
24時間365日、あなたの代わりにURLを見張り続けてくれる体制が整います!


1. なぜGASでURL監視を自動化するべきなのか?

サイト運営や業務システムでは、
「いつの間にかアクセスできない」
「更新が反映されていない」
といったトラブルが命取りになることも…。

でも、手動で毎日チェックなんて現実的じゃありません。

そこでGASを使えば、

  • サイトの応答を定期監視

  • 異常発生時に即座にメール通知

  • 24時間無停止で監視し続ける

という、超コスパ最強の監視システムが誰でも作れます!

しかも無料!


2. 【準備編】GASによるURL監視に必要なもの

  • Googleアカウント

  • Google Apps Script(GAS:標準搭載)

  • 監視したいURL一覧

これだけあればOK!
特別なソフトやサーバーは一切不要です。


3. 【設計編】URL監視自動通知ツールの全体像を把握しよう

まずはざっくり仕組みを理解しておきましょう。

■ 基本フロー

  1. 監視対象URLにHTTPリクエストを送信

  2. ステータスコード(200など)を取得

  3. 正常か異常かを判定

  4. 異常なら即メール通知

これをGAS+トリガー設定で定期実行することで、
完全自動監視システムが完成します!


4. 【基本編】GASでURL監視&自動通知ツールを作る

さっそく、実際にスクリプトを作っていきましょう!


ステップ① Apps Scriptエディタを開く

Googleドライブ → 「新しいスクリプト」
またはスプレッドシートから「拡張機能」→「Apps Script」へ。


ステップ② 監視&通知スクリプトを書く

シンプル版:1つのURLを監視して異常時にメール送信

function monitorUrl() {
  const url = 'https://yourwebsite.com'; // 監視したいURL
  const email = 'yourmail@example.com'; // 通知先メールアドレス

  try {
    const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
    const code = response.getResponseCode();

    if (code !== 200) {
      GmailApp.sendEmail(email, '【警告】サイト監視異常', `対象サイトに異常を検知しました。\n\nURL: ${url}\nステータスコード: ${code}`);
    }
  } catch (e) {
    GmailApp.sendEmail(email, '【警告】サイト監視エラー', `対象サイトに接続できませんでした。\n\nURL: ${url}\nエラー内容: ${e.message}`);
  }
}


このコードを実行すれば、

  • 正常(200)以外の応答が返ってきたとき

  • もしくは接続エラーが発生したとき

即座に登録メールアドレスへ通知されます!


5. 【応用編】複数URLをまとめて監視する方法


✅ スプレッドシート連携で監視対象を管理

function monitorMultipleUrls() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('URLリスト');
  const urls = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues();
  const email = 'yourmail@example.com';

  let errorMessages = '';

  urls.forEach(row => {
    const url = row[0];
    try {
      const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
      const code = response.getResponseCode();

      if (code !== 200) {
        errorMessages += `異常: ${url}(ステータスコード: ${code})\n`;
      }
    } catch (e) {
      errorMessages += `エラー: ${url}(${e.message})\n`;
    }
  });

  if (errorMessages) {
    GmailApp.sendEmail(email, '【警告】複数サイト監視異常', errorMessages);
  }
}

これで、
スプレッドシートに一覧管理している複数URLを一括監視→まとめて異常報告できるようになります!


✅ 監視対象追加・削除もスプレッドシート編集だけ!

スクリプトをいじらなくても、
スプレッドシートを編集するだけで柔軟に対象を増減できるので、
現場運用にも超便利です。


6. 【運用編】自動監視を安定運用するポイント


✔️ 時間主導型トリガー設定

例えば、

  • 5分おき

  • 15分おき

  • 毎時1回

など、自分に合ったペースで定期実行を設定しましょう!


✔️ メール送信制限に注意

GAS無料プランでは、Gmail送信上限(1日100通程度)があります。大量通知が想定される場合は注意!


✔️ 長期監視にはログ保存も検討

エラー履歴をスプレッドシートに記録しておけば、
後でトラブル解析に役立ちます


7. まとめ|GASでURL監視+自動通知を導入して、安心運用を手に入れよう!

GASを使えば、

  • サイトの状態を24時間自動監視

  • 異常時にリアルタイムで通知

  • 人力ゼロでトラブル早期発見

が実現できます!

まずはこの記事の基本スクリプトをコピペして、
1つのサイト監視から始めてみてください!

慣れてきたら、

  • スプレッドシート連携

  • トリガー自動実行

  • SlackやChatwork通知対応

など、さらに強力な監視体制を構築していきましょう!

Shop now