Документация
Полное руководство по настройке мониторинга сайтов с PingZen. Документация API, примеры кода и лучшие практики.
HTTP- или HTTPS-монитор отправляет настоящий запрос на URL и решает, здоров ли ответ: код состояния, при желании ключевое слово в теле или значение по JSON-пути. Это монитор для всего, что говорит по HTTP.
Для чего подходит
Сайты и лендинги
Страница ещё отдаётся и на ней всё ещё есть нужный текст? Проверка по ключевому слову ловит пустую страницу и выкладку, которая заменила сайт приветствием nginx.
API и health-эндпоинты
Наведите на /health или /api/status, ожидайте 200 и при желании проверяйте значение по JSON-пути — например, что status равен ok.
Эндпоинты за авторизацией
Basic, Digest, Bearer-токен или API-ключ в заголовке. Учётные данные хранятся зашифрованными и маскируются во всех ответах.
Любой HTTP на любом порту
В URL можно указать порт и путь: https://example.com:8443/health — обычный монитор. Ограничений на порт нет.
Сайт, который не должен упасть из-за сертификата
Сертификат продлевается автоматически ровно до того дня, когда продление молча ломается. HTTPS-монитор снимает дату окончания с того же соединения, которым проверяет сайт, показывает отсчёт дней на карточке и за неделю до конца присылает оповещение «Сертификат истекает». Сайт при этом остаётся зелёным: работающий сертификат с близким сроком — повод продлить, а не авария. Отдельный монитор ради одного отсчёта дней заводить больше не нужно.
Для чего не подходит
HTTP-монитор отправляет HTTP-запрос и читает ответ. Когда вопрос другой формы, лучше подходит другой тип монитора:
| Что нужно узнать | Что использовать |
|---|---|
| Нужна вся картина по сертификату — издатель, субъект, список SAN, версия TLS и жёлтый статус за две недели до истечения? HTTPS-монитор читает дату окончания и оповещает по ней, но больше о сертификате ничего не записывает | Монитор TLS/SSL-сертификата |
| Жив ли сертификат сервиса, который не говорит по HTTP (LDAPS, SMTPS, AMQPS, MQTTS)? | Монитор TLS/SSL-сертификата |
| Работает ли многошаговый сценарий — вход, добавление в корзину, оформление — в настоящем браузере с JavaScript? | Транзакционный монитор |
| Работает ли цепочка запросов к API, где значения из одного ответа идут в следующий запрос? | Монитор API-проверки |
| Насколько страница быстрая — Core Web Vitals, оценки Lighthouse? | Монитор PageSpeed |
| Отработала ли задача по расписанию или фоновый воркер? Опрашивать нечего, никто не слушает | Heartbeat |
| Открыт ли порт, если то, что за ним слушает, не говорит по HTTP? | TCP-монитор |
| Доступен ли хост вообще, на сетевом уровне? | Монитор Ping (ICMP) |
| Резолвятся ли DNS-записи в нужные значения? Не истекает ли домен? | DNS-монитор / WHOIS-монитор |
| Принимает ли соединения почтовый сервер и не попал ли его IP в спам-блэклист? | Мониторы SMTP / IMAP / POP3, монитор DNSBL |
| Принимает ли соединения WebSocket-эндпоинт? | WebSocket-монитор (ws / wss) |
| Работает ли прокси? | Мониторы SOCKS5 и MTProxy |
Что проверяется
- Запрос уходит — с вашим методом, заголовками, авторизацией и таймаутом
- Редиректы проходятся, если это включено, до пяти переходов, и оценивается итоговый ответ
- Код ответа сравнивается с ожидаемым
- Ключевое слово, если оно задано — тело должно его содержать, не содержать или совпасть с регулярным выражением
- JSON-путь, если он задан — значение по этому пути должно совпасть с ожидаемым
Что считается рабочим состоянием
Если оставить ожидаемый код 200, монитор примет и остальные коды успеха: 201, 202, 203, 204 и 206. Любое другое значение сверяется точно — указали 301, подойдёт только 301.
| Ответ | Статус | Почему |
|---|---|---|
| Ожидаемый код, проверки по слову и JSON пройдены | UP | Всё, что вы просили, на месте |
| HTTP 429 Too Many Requests | DEGRADED | Сервер ответил — он ограничивает частоту, а не падает. Инцидент не открывается, аптайм не теряется |
| Неполная цепочка сертификата (нет промежуточного) | DEGRADED | Браузеры это сглаживают, другие клиенты — нет. Лечится отдачей полной цепочки |
| Не тот код, нет ключевого слова, не совпал JSON | DOWN | Сервер доступен, но ответ не тот, который вы просили |
| Просроченный, самоподписанный или недоверенный сертификат | DOWN | Рукопожатие не проходит, запрос не отправляется. Если это сделано намеренно, выключите проверку сертификата |
| Соединение отклонено, сбой DNS, таймаут | DOWN | Никто не ответил |
Любой код 4xx по умолчанию считается падением, включая 401, 403 и 404. Сервер работает, но приложение вернуло ошибку — именно её увидел бы посетитель. Если для вашего URL правильный ответ это 401, укажите его как ожидаемый код.
Что HTTPS-монитор видит в сертификате
HTTPS-монитор проверяет сертификат на каждой проверке — цепочка должна быть доверенной, имя хоста должно совпадать — и дату окончания он теперь тоже читает, с того соединения, которое и так открыл. Без второго рукопожатия, без лишнего трафика и без изменения длительности проверки. Отсюда следствия:
- сертификат скоро истекает: монитор показывает, сколько дней осталось, и внутри критического окна — 7 дней, и никогда не больше одной шестой от собственного срока жизни сертификата — присылает оповещение «Сертификат истекает», не чаще раза в 24 часа. Статус при этом не меняется: монитор остаётся зелёным, инцидент не открывается и аптайм не теряется, потому что работающий сертификат — это предупреждение, а не авария. Чтобы получать такое оповещение, привяжите оповещение с триггером «Сертификат истекает»
- сертификат уже истёк: рукопожатие не проходит, монитор падает, в ошибке это написано
- сертификат подписан центром, которому никто не доверяет: падение, хотя у вас сайт открывается
На каждой проверке сохраняются три значения: когда сертификат выпущен, когда истекает и сколько дней осталось. Издателя, субъект, список SAN, версию TLS и шифр HTTPS-монитор не записывает — за ними, а также за жёлтым статусом за две недели до истечения, добавьте монитор TLS/SSL-сертификата на тот же хост. Ради одного только отсчёта дней второй монитор больше не нужен.
Редиректы. Дата берётся с первого хопа цепочки, который идёт по https на тот же хост и порт, что у монитора; монитор на http://, который редиректит на https:// того же хоста, тоже считается совпадением. Если цепочка уходит на другой хост, там уже чужой сертификат — тогда не записывается ничего и отсчёт остаётся пустым. Кнопка «Проверить соединение» в форме монитора предупреждает, если сертификат уже внутри окна предупреждения, по умолчанию это 14 дней.
Для HTTPS-мониторов на странице монитора доступен инспектор цепочки сертификата — самый быстрый способ найти отсутствующий промежуточный сертификат.
Блокировки, боты и заглушки
Не каждое падение — вина вашего сервера, поэтому монитор помечает те случаи, которые умеет распознать:
- Защита от ботов — вместо приложения ответил WAF. В руководстве по allowlist для WAF перечислены адреса, которые надо пропустить
- Блокировка провайдером или DPI — проба не достучалась до сайта, который доступен из других мест. См. определение блокировок ISP
- Припаркованные и отключённые страницы — домен резолвится и отдаёт 200, но вместо сайта заглушка регистратора. См. определение заглушек
- Ограничение частоты — код 429, который считается деградацией, а не падением, как описано выше
Настройки
URL
Полный адрес со схемой. Порт и путь допустимы: https://example.com:8443/health. Схема определяет протокол — https:// даёт HTTPS-монитор.
Метод и заголовки
По умолчанию GET. HEAD дешевле, если важно только то, что эндпоинт отвечает. Свои заголовки отправляются как заданы — пригодится собственный User-Agent, если WAF не любит стандартный.
Ожидаемый код
По умолчанию 200, при этом принимаются также 201-204 и 206. Любое другое значение сверяется точно.
Ключевое слово
Текст, который должен присутствовать, должен отсутствовать, либо регулярное выражение, которому должно соответствовать тело. Именно проверка по слову отличает «сервер ответил» от «на странице действительно мой сайт».
JSON-путь
Для API: путь внутрь JSON-ответа и ожидаемое по нему значение.
Авторизация
Без авторизации, Basic, Digest, Bearer-токен или API-ключ в заголовке с вашим именем.
Следовать редиректам
Включено по умолчанию, до пяти переходов, оценивается итоговый ответ. Выключите, если проверяете сам редирект — тогда укажите ожидаемый код 301 или 302.
Проверять TLS/SSL сертификат
Включено по умолчанию. Выключите для намеренно самоподписанного или внутреннего сертификата — тогда проверка полностью игнорирует доверие и имя хоста. Отсчёт срока при этом продолжает работать, пока сертификат выписан на проверяемый хост: чужой сертификат ничего не говорит о вашем, поэтому его даты не записываются. После даты окончания монитор остаётся зелёным, помечает сертификат как истёкший и ещё неделю шлёт оповещение об истечении, а потом замолкает.
Ключевые возможности
- Код ответа, ключевое слово и JSON-путь проверяются одним запросом
- Совпадение по слову: содержит, не содержит или регулярное выражение
- Авторизация Basic, Digest, Bearer и по API-ключу, хранится зашифрованной
- Любой порт и любой путь, редиректы по вашему выбору
- Ограничение частоты распознаётся как деградация, а не как ложное падение
- Защита от ботов, блокировки провайдера и заглушки помечаются, а не выдаются за обычную ошибку
- Срок сертификата снимается с того же соединения, которым идёт проверка: оповещение «Сертификат истекает» без влияния на статус и аптайм
- Инспектор цепочки сертификата на странице монитора
Частые вопросы
Какие протоколы можно мониторить?
PingZen поддерживает 23 протокола: HTTP/HTTPS, WebSocket (WS/WSS), TCP, UDP, ICMP Ping, gRPC, DNS, WHOIS, TLS/SSL сертификаты, Email (SMTP/IMAP/POP3), FTP/FTPS, DNSBL, PageSpeed, SOCKS5, MTProxy, API Check и Transaction. Вы можете мониторить сайты, API, серверы, базы данных и любые сетевые сервисы.
Как быстро приходят оповещения?
Telegram оповещения доставляются в течение 1-2 секунд после обнаружения. Slack и Discord уведомления приходят практически мгновенно. Вы можете настроить несколько каналов оповещений для резервирования.
Можно ли организовать мониторы по проектам?
Да! PingZen поддерживает рабочие пространства, которые позволяют организовать мониторы по проектам, окружениям или командам. Каждое рабочее пространство может иметь свои настройки оповещений и участников.
Есть ли API для автоматизации?
Абсолютно. PingZen предоставляет полный REST API с OpenAPI документацией. Вы можете создавать, обновлять и удалять мониторы программно.
Как работают статус-страницы?
Статус-страницы — это публичные брендированные страницы, показывающие аптайм ваших сервисов. Вы можете отображать статус в реальном времени и позволить клиентам подписаться на обновления.
Что происходит, если я достигну лимита мониторов?
Мы уведомим вас при приближении к лимиту. Вы можете приостановить некоторые мониторы или связаться с нами для увеличения лимита. Мы никогда не останавливаем мониторинг без предупреждения, обеспечивая защиту ваших критически важных сервисов.
Готовы перестать пропускать даунтаймы?
Присоединяйтесь к тысячам команд, которые доверяют PingZen. Настройка за 30 секунд.