Pingveraблог ← Блог
Главная › Блог › Машиночитаемая статус-страница

Статус-страница, которую читают не только люди

20 июля 2026 · 6 мин чтения

Статус-страница, которую читают не только люди

Статус-страницу принято рисовать для человека: полоски аптайма, понятные компоненты, баннер инцидента. Всё правильно — человек её главный читатель. Но не единственный. Тот же статус хотят читать машины: дашборд внутренней вики, чтобы показать зелёную точку рядом с сайтом; скрипт, который дёргает подрядчика в чат; и — всё чаще — ИИ-ассистент, которому проще спросить «что сейчас лежит?», чем открывать вкладку. И вот для них HTML-страница бесполезна: её нельзя надёжно распарсить, она меняет вёрстку, она про пиксели, а не про факты.

Поэтому у хорошей статус-страницы есть второй, машиночитаемый слой. Разберём, из чего он состоит в Pingvera и зачем каждый кусок нужен.

JSON: статус как данные

Самое прямое — отдать текущий статус компонентов машинам в виде JSON, а не HTML. Никакого парсинга разметки: запросил — получил структуру «компонент → статус». Это то, из чего собираются все встройки: виджет на сайте клиента, плитка в Grafana, проверка в чужом скрипте.

Смысл в том, что формат стабилен, а вёрстка — нет. Дизайн статус-страницы может поменяться завтра, а поле «status» в JSON останется прежним. Интеграции, построенные на HTML-скрейпинге, ломаются от любого редизайна; построенные на JSON — нет.

RSS/Atom: события, которые сами приходят

Второй формат — лента событий (инциденты открылись, обновились, закрылись; анонсы плановых работ) в виде Atom/RSS. Это скучная, проверенная временем технология, и в этом её сила: ленту умеют читать буквально все — от почтовых агрегаторов до автоматизаций вроде «новое событие → сообщение в рабочий чат». Не нужно писать интеграцию под каждый инструмент: даёшь ссылку на ленту, дальше он сам.

Для студии это удобный способ доставить статус клиента туда, где команда и так работает, без ещё одного дашборда, который никто не открывает.

Бейдж и виджет: статус там, где его ищут

Иногда отдельная страница избыточна — статус хочется показать внутри чего-то ещё. Для этого есть два лёгких способа встройки:

  • SVG-бейдж — маленькая картинка текущего статуса, вставляется обычным тегом <img> куда угодно: в подвал сайта, в README репозитория, во внутренний портал. Обновляется сама.
  • JS-виджет — блок со статусом, который встраивается как iframe и сам подстраивает высоту под содержимое. Полезно, когда нужно показать не одну точку, а панель компонентов прямо на странице.

Оба формата — про то, чтобы статус жил там, где на него посмотрят, а не только по отдельному адресу.

MCP: статус прямо в ИИ-ассистенте

Самый новый читатель статуса — языковая модель. Разработчик и так полдня сидит в Claude Code, Cursor или другом ассистенте; спросить «какие сайты сейчас в сбое у моих клиентов?» прямо там естественнее, чем идти кликать по вкладкам. А «какой аптайм был у сайта клиента X за месяц и что падало?» ассистент ещё и сам скомпонует в абзац для письма клиенту.

Чтобы это работало, статус (и мониторинг вокруг него) должен быть доступен модели через стандартный протокол. Pingvera отдаёт его через MCP (Model Context Protocol): подключаете MCP-сервер к ассистенту одной командой — и «что сейчас лежит?» в чате превращается в реальный запрос к вашим данным. Важная деталь: доступ только на чтение — ассистент видит статусы и события, но ничего не может изменить или запустить. Как это устроено и как подключить — в отдельной статье «Мониторинг в вашем ИИ-ассистенте».

А тем моделям, что MCP пока не говорят (GigaChat, YandexGPT), тот же статус доступен через обычный REST с OpenAPI-описанием — им это удобнее для function calling. Одни и те же данные, разные двери.

Приватность: машиночитаемость не должна быть дырой

Важный нюанс, который легко упустить. Если статус-страница закрыта паролем (внутренние сервисы, закрытый B2B), то бесполезно прятать саму страницу, но оставлять открытыми её RSS, бейдж и виджет — данные утекли бы в обход пароля. Поэтому у приватных страниц машиночитаемые выходы отключаются автоматически. Приватный статус остаётся приватным — и это тоже часть правильной конструкции, а не то, о чём приходится помнить руками.

Зачем это всё именно сейчас

Ещё пару лет назад «машиночитаемый статус» был нишевой опцией для интеграторов. Сегодня всё больше рутины уходит агентам: они собирают отчёты, дёргают уведомления, отвечают на «а сайт работает?» без человека. Такому агенту нужен статус в формате, который он поймёт с первого раза, а не скриншот страницы. Статус-страница, у которой есть JSON, лента, бейдж и MCP, — это статус, готовый к тому, что его читатель всё чаще не человек.

Человеку по-прежнему нужна красивая страница. Просто теперь рядом с ней должен лежать тот же статус — но в виде фактов, а не пикселей.

Частые вопросы

Как получить статус сервиса в машиночитаемом виде?

У статус-страницы Pingvera есть JSON-эндпоинт с текущим статусом компонентов, лента событий Atom/RSS, SVG-бейдж для встройки картинкой и JS-виджет. Этого достаточно, чтобы показывать статус на другом сайте, в вики или собирать его в свои инструменты без парсинга HTML.

Можно ли спросить статус у ИИ-ассистента?

Да. Pingvera предоставляет MCP-сервер: подключив его к Claude, Cursor или другому MCP-клиенту, можно прямо в чате спросить «какие сайты сейчас в сбое?» — ассистент прочитает мониторинг (только чтение) и ответит человеческим языком.

Что с приватными статус-страницами?

У страниц, закрытых паролем, машиночитаемые выходы (RSS, бейдж, виджет) отключаются автоматически — иначе статус утекал бы в обход пароля. Приватный статус остаётся приватным.

Статус — и для людей, и для машин

Статус-страница Pingvera собирается из реальных проверок и отдаётся не только людям: JSON, лента событий, бейдж и виджет для встройки, MCP для ИИ-ассистентов. Базовая статус-страница включена на бесплатном тарифе — до 5 сайтов.

Начать бесплатно

Читайте также: Мониторинг в вашем ИИ-ассистенте (MCP) и Статус-страница для клиентов.

← Все статьи · Политика конфиденциальности · pingvera.ru · Telegram-канал

На сайте осуществляется обработка пользовательских данных с использованием Cookie в соответствии с Политикой конфиденциальности.