Бесплатный мониторинг доступности вашего сайта с SMS-уведомлением

В данной заметке я расскажу о способе мониторинга доступности вашего сайта, используя Google Docs и Google Calendar. В данном решении мы будем получать уведомления не только по почте, но и через SMS. Идея этого способа состоит в том, чтобы создать в Google Docs скрипт, который при возникновении проблемы будет создавать в календаре событие. А , поскольку, Google Calendar имеет возможность присылать SMS сообщения, то проблем в принципе не возникнет.

website-monitor-sms

Итак, если у вас еще нет аккаунта от сервисов Google, то самое время создать его. Далее по шагам:

  1. Скопируйте в ваш Google Docs следующий документ. Для этого просто кликните по ссылке.
  2. Отредактируйте поля Website URLs, Email Address, и в поле SMS введите yes.
  3. После этого в верхнем меню произведите инициализацию и запуск скрипта: WebSite Monitor->Initialize, WebSite Monitor-> Start.
  4. И последним шагом необходимо в Google Calendar привязать свой номер телефона к календарю. Для этого в Google Calendar зайдите в Настройки -> Настройки для мобильных устройств и привяжите номер телефона. После этого у вас появится страница с дополнительными настройками. В ней вы должны поставить галку напротив поле Новые мероприятия.

На этом настройка закончена и в случае, если сайт будет лежать вы получите уведомление и на почту, и посредством SMS.

Исходный код Google-скрипта:

/*

   Website Monitor HD by Digital Inspiration   
   =========================================  

*/

function init() {  
  if (ScriptApp.getScriptTriggers().length == 0) {
    // Set up a monitor that triggers every 5 minutes
    ScriptApp.newTrigger("websiteMonitor")
      .timeBased().everyMinutes(5).create();
  }  
}

function websiteMonitor()
{ 
  var response, error, code, urls;

  // The script can monitor multiple website URLs (comma separated) 
  urls = SpreadsheetApp.getActiveSheet().getRange("B2").getValue();
  urls = urls.replace(/\s/g, "").split(",");

  for (var i=0; i<urls.length; i++)="" {="" var="" url="urls[i];" if="" (!scriptproperties.getproperty(url))="" scriptproperties.setproperty(url,="" 200);="" }="" trying="" to="" connect="" the="" website="" try="" response="UrlFetchApp.fetch(url);" catch(error)="" urlfetchapp="" fails,="" site="" is="" probably="" down="" updatelog(url,="" -1);="" continue;="" code="response.getResponseCode();" code);="" function="" code)="" (scriptproperties.getproperty(url)="=" return;="" sheet="SpreadsheetApp.getActiveSheet();" row="sheet.getLastRow()" +="" 1;="" time="new" date();="" msg="Down" ;="" (code="=" 200)="" "="" url;="" sheet.getrange(row,1).setvalue(time);="" sheet.getrange(row,2).setvalue(msg);="" send="" an="" email="" notification="" when="" status="" changes="" mailapp.sendemail(email,="" msg,="" url);="" now="new" date(time.gettime()="" 10000);="" create="" event="" in="" google="" calendar="" with="" sms="" reminder="" (sheet.getrange("b4").getvalue().tolowercase()="=" "yes")="" calendarapp.createevent(msg,="" now,="" now).addsmsreminder(0);="" *="" published="" by="" amit="" agarwal="" on="" 09="" 14="" 2012="" <="" pre="">

3 комментария к “Бесплатный мониторинг доступности вашего сайта с SMS-уведомлением

  1. A motivating discussion is worth comment.
    I do think that you need to write more on this
    issue, it might not be a taboo matter but typically people don’t discuss
    such issues. To the next! Many thanks!!

  2. Hello There. I found your blog using msn. This is a very well
    written article. I’ll make sure to bookmark it
    and return to read more of your useful info. Thanks for
    the post. I’ll certainly comeback.

  3. Excellent goods from you, man. I have understand your stuff previous to and you’re just extremely fantastic.
    I really like what you have acquired here, certainly like what you are saying and the way in which you say it.
    You make it enjoyable and you still care for to keep it sensible.

    I can’t wait to read much more from you. This is actually
    a tremendous site.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *