- Дата публикации
MCP вместо дашбордов: как AI‑агенты учатся читать телеметрию ядра напрямую
Что нового
MCP (Model Context Protocol) превращается в интерфейс между AI‑агентами и инфраструктурой, а не просто в «прослойку» над дашбордами.
За одну неделю марта 2026 произошло три показательных события:
-
Datadog выпустила MCP‑сервер.
- Сервер подключает AI‑агентов к уже существующим дашбордам и метрикам Datadog.
- Агент через MCP может:
- читать метрики и логи;
- запрашивать данные с дашбордов;
- инициировать автоматические реакции (например, remediation‑скрипты).
- По сути, Datadog официально признала MCP стандартным способом общения AI‑агентов с observability‑платформой.
-
Qualys опубликовала отчёт по безопасности MCP‑серверов.
- Команда TotalAI назвала MCP‑серверы «новым shadow IT для AI».
- 53% проверенных MCP‑серверов используют статические секреты для аутентификации.
- Qualys рекомендует добавить к MCP‑инфраструктуре наблюдаемость: логирование discovery‑событий, мониторинг вызовов, алерты по аномалиям.
-
Cloud Native Now разобрала eBPF‑подход Microsoft Retina для Kubernetes‑сетей.
- Retina работает как DaemonSet в кластере.
- Снимает сетевую телеметрию через eBPF без изменений в приложениях.
- Даёт причины дропов на уровне ядра.
- Чётко разводит понятия:
- мониторинг — заранее заданные вопросы;
- observability — возможность задавать вопросы, о которых никто не думал при проектировании.
На этом фоне команда Ingero предлагает идти дальше: MCP‑сервер не должен просто оборачивать существующую observability‑платформу. Он сам может стать основным слоем наблюдаемости, напрямую подключённым к tracepoint’ам ядра и GPU.
Ключевой сдвиг: AI‑агент получает доступ не к агрегированным метрикам, а к сырым событиям ядра и CUDA, и сам решает, что и как агрегировать.
Как это работает
Два подхода к observability через MCP
Подход 1. Обёртка над существующей платформой (как у Datadog)
Схема:
- Уже есть стек: метрики, логи, трейсы, дашборды.
- Поверх этого появляется MCP‑сервер.
- AI‑агент через MCP:
- дёргает API дашбордов;
- получает уже агрегированные и индексированные данные;
- запускает автоматические действия.
Этот вариант хорошо подходит, если стек наблюдаемости уже отлажен, а задача — добавить AI‑автоматизацию.
Подход 2. MCP‑нативная наблюдаемость (как у Ingero)
Здесь MCP — не адаптер, а основной интерфейс к телеметрии.
Что делает Ingero:
- Ставит eBPF‑агент в пользовательском пространстве.
- Вешает uprobes на CUDA Runtime и Driver API.
- Снимает все вызовы CUDA, контекст‑свитчи ядра, аллокации памяти.
- Складывает события в SQLite‑базу.
- Отдаёт доступ к этим данным через 7 MCP‑инструментов:
get_trace_stats— сводка по трейсу: количество CUDA‑событий, число причинно‑следственных цепочек, общее GPU‑время;get_causal_chains— причинно‑следственные цепочки с объяснением на естественном языке, почему выросла латентность;run_sql— произвольные SQL‑запросы к сырым событиям (например,show me all cudaMemcpyAsync calls over 100ms);get_stacks— стеки вызовов для проблемных событий;- плюс ещё три вспомогательных инструмента (для навигации по базе и выбора диапазонов/фильтров).
MCP‑сервер в этой архитектуре — не «прокси к дашборду», а точка входа к сырым trace‑событиям ядра и GPU.
Пример: расследование регрессии TTFT у vLLM
Команда Ingero разбирала регрессию TTFT (Time To First Token) у vLLM:
- первый токен генерировался в 14,5 раза дольше, чем базовая линия;
- trace‑база зафиксировала:
- 12 847 событий CUDA;
- 4 причинно‑следственные цепочки;
- полное GPU‑время;
- все CUDA‑вызовы, контекст‑свитчи ядра и аллокации памяти.
Когда Claude подключился к MCP‑серверу и загрузил эту базу, он смог:
- запросить
get_trace_statsи увидеть общую картину; - через
get_causal_chainsпрочитать человеческое описание цепочек, приведших к всплеску латентности; - через
run_sqlнайти, например, всеcudaMemcpyAsyncдольше 100 мс; - через
get_stacksпосмотреть стеки вызовов для подозрительных событий.
Claude нашёл корень проблемы меньше чем за 30 секунд:
- вычисление logprobs блокировало decode‑цикл;
- на критическом пути это дало замедление в 256 раз;
- в агрегированных метриках это не проявлялось — только в детальной причинно‑следственной цепочке между конкретными CUDA‑вызовами.
Классический MCP‑адаптер к дашборду в таком сценарии не помог бы: нужная детализация теряется на этапе агрегации.
Встроенная наблюдаемость за самим MCP‑сервером
Qualys справедливо обеспокоилась безопасностью MCP‑серверов:
- 53% используют статические секреты;
- предлагается логировать discovery‑события MCP и отслеживать паттерны вызовов.
У MCP‑серверов, которые имеют доступ к GPU‑инфраструктуре, риски другие:
- по таймингам CUDA‑вызовов можно вытащить детали архитектуры модели;
- по паттернам памяти — косвенно судить о размерах и структуре тензоров;
- это чувствительная информация для любой команды, которая тренирует или сервит модели.
Ingero решает это так:
- каждый вызов MCP‑инструмента сам попадает в trace;
- та же eBPF‑инфраструктура, которая пишет GPU‑события, пишет и взаимодействие AI‑агента с MCP‑сервером;
- нет отдельного «слоя логирования» — observability для MCP встроена в тот же пайплайн.
По сути, рекомендация Qualys «добавить наблюдаемость к MCP‑серверу» выполняется автоматически, потому что MCP‑сервер и есть инструмент наблюдаемости.
Что это значит для вас
Кому интересно MCP‑нативное observability
Инженерам по производительности и SRE:
- Когда p99 «поплыл», а дашборды молчат о причине, нужен доступ к сырым событиям ядра и CUDA.
- MCP‑нативный подход даёт возможность задавать AI‑агенту вопросы уровня:
- «Почему конкретный GPU‑запрос занял в 14,5 раза больше времени?»
- «Какие процессы конкурировали за CPU в момент просадки?»
- Это не замена Prometheus/Grafana, а инструмент точечной диагностики.
ML‑инженерам и разработчикам фреймворков:
- Отладка vLLM, PyTorch, CUDA‑ядра, dataloader’ов — всё это истории про «что именно делал GPU и CPU в конкретный момент».
- С Ingero можно загрузить трейс и просто спросить у Claude через MCP:
- «Что вызвало просадку производительности GPU в этом трейсе?»
- «Где узкое место: память, PCIe, вычисления?»
Безопасникам и инженерам по комплаенсу:
- MCP‑серверы становятся новым каналом доступа к инфраструктуре.
- Если команда тестирует AI‑агентов с правами на observability, нужно понимать:
- какие данные утекают через MCP;
- как логируются запросы и ответы;
- какие секреты используются для аутентификации.
- Подход Ingero даёт встроенную «чёрную коробку» всех действий агента.
Когда MCP‑обёртки над дашбордами всё ещё полезны
- Если у вас уже есть Datadog, Prometheus, Grafana, New Relic и настроенные алерты, MCP‑адаптер — быстрый способ:
- дать AI‑агенту доступ к существующим метрикам;
- автоматизировать рутинные реакции (рестарт сервисов, скейлинг и т.п.).
- Для высокоуровневых вопросов вроде:
- «Какой p99 у сервиса X за последний час?»
- «У каких сервисов сейчас самый высокий error rate?» достаточно агрегированных данных.
Где MCP‑нативный подход не нужен
- Если у вас нет GPU‑нагрузки, сложных сетевых сценариев или жёстких требований к латентности, eBPF‑трейсинг может быть избыточен.
- Для малого проекта с одним‑двумя микросервисами проще жить с классическими логами и базовыми метриками.
- MCP‑нативный observability‑слой имеет смысл там, где:
- цена простоя или деградации высокая;
- инфраструктура сложная (Kubernetes, GPU‑пулы, плотные кластеры);
- уже используется AI‑агент (Claude, локальные модели) как ассистент инженеров.
Доступность и ограничения
- Ingero — open source, лицензии:
- Apache 2.0 для пользовательского пространства;
- GPL‑2.0/BSD‑3 для eBPF в ядре.
- Один бинарник, без внешних зависимостей, заявленная нагрузка — менее 2% overhead.
- Формально проект доступен на GitHub. Для России может потребоваться VPN, если доступ к GitHub или отдельным AI‑клиентам ограничен.
Место на рынке
По отношению к Datadog и классическим APM/observability
- Datadog использует MCP как адаптер к уже существующей платформе:
- AI‑агент видит агрегированные метрики, логи, трейсы;
- работает с теми же данными, что и дашборды.
- Ingero использует MCP как основной интерфейс к eBPF‑трейсам:
- AI‑агент получает сырые события ядра и CUDA;
- сам строит агрегаты, цепочки причин и выводы.
По сути, это два разных слоя:
- Datadog — про «что происходит в системе в целом».
- Ingero — про «почему конкретный запрос/ядро/процесс ведёт себя странно».
Чётких цифр сравнения по производительности или цене с Datadog, Prometheus, New Relic или другими системами в исходных данных нет. Но по уровню детализации Ingero работает на более низком уровне — tracepoint’ы ядра и CUDA, а не агрегированные таймсерии.
По отношению к Microsoft Retina и eBPF‑агентам
- Microsoft Retina уже использует eBPF для сетевой наблюдаемости в Kubernetes:
- DaemonSet в кластере;
- сбор сетевой телеметрии без изменений в приложениях;
- причины дропов на уровне ядра.
- Ingero применяет похожий принцип к GPU и системным вызовам и сразу заворачивает это в MCP.
Авторы ожидают, что MCP‑нативный паттерн распространится дальше:
- Сетевая наблюдаемость:
- вместо MCP‑обёртки над Prometheus — eBPF‑агент, который отдаёт AI‑агенту данные о пакетах и дропах напрямую (Retina уже половина пути).
- Безопасность:
- вместо MCP‑обёртки над SIEM — MCP‑сервер, который трассирует системные вызовы и отдаёт события безопасности в реальном времени.
- Стоимость:
- вместо чтения биллингового API — инструментация реального выделения ресурсов и прямая выдача этих данных AI‑агенту.
Общий тренд: AI‑агенту дают сырой телеметрический поток, а не только готовые дашборды.
Установка
Проект Ingero открыт, исходники и примеры расследований доступны. Можно воспроизвести разбор проблемы с PyTorch dataloader’ом или GPU‑регрессией у себя локально.
Сценарий из исходника использует базу pytorch-dataloader-starvation.db.
git clone https://github.com/ingero-io/ingero.git
cd ingero && make build
./bin/ingero mcp --db investigations/pytorch-dataloader-starvation.db
Этот запуск поднимает MCP‑сервер, который работает поверх SQLite‑базы с трейсом расследования.
Как запустить и подключить AI‑клиент
Общая конфигурация MCP
Сначала нужно создать конфиг MCP‑клиента. В примере он лежит в /tmp/ingero-mcp-dataloader.json:
{ "mcpServers": { "ingero": { "command": "./bin/ingero", "args": ["mcp", "--db", "investigations/pytorch-dataloader-starvation.db"] } } }
Этот файл говорит MCP‑клиенту:
- запускать бинарник
./bin/ingero; - передавать ему аргументы
mcp --db investigations/pytorch-dataloader-starvation.db; - использовать этот процесс как MCP‑сервер с именем
ingero.
Вариант 1. Локально через Ollama
Если вы используете локальные модели через Ollama, можно подключить Ingero так:
# Установить ollmcp (MCP‑клиент для Ollama)
pip install ollmcp
# Запустить расследование с локальной моделью (данные не покидают машину)
ollmcp -m qwen3.5:27b -j /tmp/ingero-mcp-dataloader.json
Дальше можно общаться с моделью в интерактивном режиме и задавать вопросы по трейсу.
Вариант 2. Через Claude Code (CLI)
Если вы используете CLI‑клиент для Claude, подключение выглядит так:
claude --mcp-config /tmp/ingero-mcp-dataloader.json
После запуска можно ввести команду:
/investigate
Далее — задавать уточняющие вопросы, например:
- «what was the root cause?»
- «which processes were competing for CPU time?»
Вариант 3. Claude Desktop
Можно добавить MCP‑конфиг Ingero в настройки Claude Desktop и работать в привычном интерфейсе. Пример запроса:
What caused the GPU performance issues in this trace?
MCP‑сервер Ingero отдаёт 7 инструментов, дальше Claude сам решает, какие использовать.
Что ещё полезно знать
- Ingero распространяется под лицензиями Apache 2.0 (user‑space) и GPL‑2.0/BSD‑3 (eBPF в ядре).
- Один бинарник, без внешних зависимостей, заявленный overhead — менее 2%.
- Проект ориентирован на разработчиков, которые уже комфортно работают с eBPF, CUDA и AI‑клиентами с поддержкой MCP (Claude, Ollama через ollmcp и т.д.).
- Для продакшн‑использования важно продумать:
- модель доступа к MCP‑серверу (никаких статических секретов);
- хранение trace‑баз (там могут быть чувствительные данные о моделях и инфраструктуре);
- интеграцию с существующими системами алертинга и логирования.
Идея в том, что AI‑агент перестаёт быть просто «чатом поверх логов» и превращается в полноценного участника observability‑стека, который видит ту же глубину телеметрии, что и eBPF‑агент.