Документация / Возможности

Мониторинг доступности

Каждый сайт проверяется из основного местоположения и подтверждается из вторичного.

Если первичное местоположение сообщает Pingly об ошибке, вторичное местоположение используется для проверки проблемы. Мы отправляем уведомления только в случае, если как первичная, так и вторичная проверка подтверждают, что сайт не работает.

Это предотвращает ложные срабатывания уведомлений.

Настройки мониторинга доступности

Чтобы проверить доступность сайта, по умолчанию мы отправляем GET запрос на указанный вами сайт. Если сайт ответит 2xx HTTP-ответом, проверка пройдена и сайт считается доступным. Есть несколько параметров, которые позволяют настроить отправку запросов:

HTTP метод

Вместо GET запроса вы можете указать, чтобы проверка выполнялась при помощи POST, PATCH или PUT метода.

Параметры запроса

По умолчанию мониторинг доступности осуществляется с использованием метода GET, который предназначен для получения страницы и проверки ее загрузки. Мы также предоставляем возможность отслеживания веб-сайтов с применением методов POST, PUT или PATCH, и предлагаем вам добавлять дополнительные параметры, которые будут отправляться вместе с запросом.

Параметры запроса

Для отслеживания отправки формы на сайте выполните следующие шаги:

  • Установите метод в POST.
  • Добавьте любое поле формы, которое должно быть включено в запрос.

В результате получится HTTP-запрос следующего вида:

$ curl --request POST https://yoursite.ru/form \ -d "name=Иван&[email protected]&price=1090"

Таймаут

Максимальное количество секунд для выполнения запроса. Если сайт не отвечает в течение указанного времени, он помечается как недоступный.

Максимальное количество редиректов

При проверке доступности сайта мы обрабатываем HTTP/301 и HTTP/302 редиректы. Если количество редиректов превышает значение, установленное в настройке "Максимальное количество редиректов", сайт считается недоступным.

Заголовки запроса

Вы можете добавить до 10 дополнительных HTTP-заголовков, которые должны использоваться при отправке запроса на доступность вашего сайта.

К примеру, чтобы отправить данные как JSON, вы должны добавить HTTP-заголовок Content-Type: application/json в настройки сайта следующим образом.

Параметры запроса

В результате получится HTTP-запрос следующего вида:

$ curl --request POST https://yoursite.ru/api/v1/ping \ -H "Content-Type: application/json" \ -d '{"name":"Иван","email":"[email protected]","price":"1090"}'

Так же, это отличный способ мониторинга сайта с базовой аутентификацией (Basic Authentication).

Параметры запроса

Валидация ответа

Ожидаемые коды статуса ответа

Если ответ вашего сервера после всех редиректов содержит значение из настройки "Ожидаемые коды статуса ответа", мы будем считать, что ваш сайт работает.

Вы можете указать несколько значений, разделив запятыми, а также использовать маску. Например, '2**' или '2*' означает все значения в диапазоне 200 - 299. Если ваш сайт защищен паролем, вы можете указать '401'.

Примеры значений:

  • 200 - валидный только 200 ответ
  • 200, 201 - валидный если сервер вернул один из данных значений.
  • 2** - валидный если сервер вернул ответ в диапазоне 200 - 299

Наличие текста в ответе

Дополнительной функцией проверки доступности является анализ тела ответа на наличие строки, указанной в настройке "Проверка Текста в Ответе". Если данное поле заполнено, и указанная строка присутствует в теле ответа, мы считаем, что сайт доступен.

Также вы можете использовать эту функцию для проверки определенных мета-тегов, заголовков, шаблонов JSON или XML, включив весь тег в поле проверки. Например:

  • Мета тег: <meta property="og:title" content="Информация о сайте" />
  • JSON: "active": true
  • XML: <price name="Unit">8.95</price>

Проверка заголовков в ответах

При выполнении запроса на ваш сайт для проверки его работоспособности, ответ вашего сервера будет включать определенные заголовки. Мы удостоверимся, что ответ, полученный с вашего сайта, содержит определенные заголовки. В случае несоответствия этим ожиданиям, мы будем считать, что ваш сайт не работает.

В разделе "Проверка заголовков в ответах" на странице настроек вы можете указать, какие заголовки мы должны проверять. При использовании условия соответствует шаблону вы можете использовать * в качестве подстановочного знака в поле значения заголовка.

Вы можете добавить такое условие, чтобы убедиться, что ваша страница использует сжатие gzip:

Страница использует сжатие gzip

Если вы хотите проверить, установлен ли определенный заголовок в ответе, независимо от его значения, вы можете использовать условие "Совпадает с шаблоном" и использовать символ * в качестве значения. В данном примере мы проверим, содержит ли ответ заголовок "laravel-responsecache" с любым значением.

Страница содержит заголовок

Минуты простоя перед уведомлением

По умолчанию, если сайт не отвечает в течение 2 минут, мы отправим вам уведомление. Вы можете изменить это время в разделе "Минуты простоя перед уведомлением" в настройках.

Если вы увеличите этот параметр до 10, сайт должен быть нерабочим в течение 10 минут, прежде чем мы оповестим вас. Если вы уменьшите значение до 1, мы будем оповещать вас через 1 минуту простоя.

Этот параметр может быть полезен для настройки уведомлений для особенно важных сайтов или для уменьшения частоты ложных срабатываний на сайтах с плохой репутацией.

Эта страница была полезна?

Если вы не нашли ответа на свой вопрос в нашей документации, напишите нам в поддержку или на почту [email protected]