Мониторинг сайта для разработчиков: API, CLI, MCP
Коротко. Разработчикам не нужен кликабельный дашборд — нужен мониторинг сайтов как код. enterno.io даёт REST API документацию (v4) для управления мониторами из CI/CD, CLI-сниппеты на базе curl для health-check и MCP-сервер с 16 инструментами для Claude, Cursor и Zed. Можно создавать, читать и удалять мониторы программно, встраивать проверки в пайплайн и спрашивать ассистента «упал ли мой API» прямо в IDE.
Мониторинг как код
Ручное добавление мониторов через UI плохо масштабируется: при 50 сервисах конфигурация расходится с реальностью. Подход «monitoring as code» решает это — мониторы описываются в репозитории и применяются через API при деплое.
Если инфраструктура — это код, то и её наблюдаемость должна быть кодом. Монитор, созданный руками и забытый, — это технический долг, который всплывёт во время инцидента.
1. REST API
API v4 покрывает полный CRUD по мониторам. Создание монитора в CI после успешного деплоя:
curl -X POST https://enterno.io/api/v4/monitors \
-H "X-API-Key: $ENTERNO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.example.com/health",
"check_type": "http",
"interval_minutes": 1,
"expected_code": 200,
"notify_telegram": true
}'
Ключ передаётся через переменную окружения $ENTERNO_API_KEY — никаких секретов в коде. Доступны также GET для списка, PUT для правки и DELETE для удаления.
2. CLI и health-check в пайплайне
Перед регистрацией монитора имеет смысл проверить эндпоинт прямо из пайплайна и провалить деплой, если он не отвечает:
#!/usr/bin/env bash
set -euo pipefail
code=$(curl -sS -o /dev/null -w "%{http_code}" https://api.example.com/health)
if [ "$code" != "200" ]; then
echo "Health check failed: $code" >&2
exit 1
fi
echo "Healthy"
Скрипт возвращает ненулевой код выхода при сбое — CI остановит деплой до того, как сломанная версия уйдёт в прод.
3. MCP-сервер
Самое интересное для тех, кто работает с AI-ассистентами. enterno.io предоставляет MCP-сервер с 16 инструментами, совместимый с Claude, Cursor и Zed. Конфигурация добавляется в настройки клиента:
{
"mcpServers": {
"enterno": {
"url": "https://enterno.io/mcp"
}
}
}
После подключения можно прямо в чате спросить «проверь DNS для example.com» или «какой аптайм у моего API за сутки» — ассистент вызовет нужный инструмент и вернёт данные. Подробный разбор — в статье MCP-сервер для мониторинга.
Сравнение интерфейсов
| Интерфейс | Когда использовать | Авторизация |
|---|---|---|
| REST API | CI/CD, IaC, массовое управление | X-API-Key |
| CLI (curl) | Health-check в пайплайне, скрипты | не нужна для проверки |
| MCP | Работа из IDE с AI-ассистентом | через MCP-клиент |
| Web UI | Разовая настройка, обзор | сессия |
Типы проверок
- HTTP — статус-код, заголовки, тело, редиректы, время ответа.
- SSL/TLS — срок сертификата, цепочка, протокол, шифры.
- Ping/порт — ICMP-доступность и открытость TCP-порта.
- DNS — соответствие A/AAAA/MX/NS-записей ожидаемым значениям.
Через любой интерфейс доступны четыре типа мониторов: HTTP (код и время ответа), SSL (срок сертификата), Ping (ICMP-доступность хоста) и DNS (резолвинг записей). Для бэкенда обычно хватает HTTP + SSL, для инфраструктуры полезен Ping, а DNS-монитор ловит проблемы с доменом до того, как они станут видны пользователю. Про DNS подробнее — в гайде по DNS-записям.
Алерты для команд
Уведомления идут в Telegram, Slack, webhook, PagerDuty и Jira. Для команды разработки оптимальна связка Slack (рабочие часы) + PagerDuty (он-колл ночью). Webhook позволяет отправить событие в собственный сервис и, например, автоматически создать тикет.
Частые вопросы
Можно ли управлять мониторами без захода в UI?
Да. REST API v4 покрывает полный жизненный цикл монитора — создание, чтение, обновление, удаление. UI не обязателен.
Какие IDE поддерживают MCP-сервер?
Claude (Desktop и Code), Cursor и Zed — любой клиент с поддержкой Model Context Protocol по URL.
Нужен ли API-ключ для health-check через curl?
Нет, если вы просто пингуете публичный эндпоинт. Ключ нужен только для управления мониторами через API enterno.io.
Сколько мониторов на бесплатном плане?
До 10 мониторов с интервалом проверки от 1 минуты — этого достаточно для небольшого набора сервисов и сайдпроектов.
Подключите мониторинг к своему стеку
Начните с REST API или MCP: перейти к мониторам. О лучших практиках уведомлений — здесь, об основах uptime — в общем гайде.