Мониторинг LLM API и MCP без изменения кода | eBPF-трассировщик 2026 | AiManual
AiManual Logo Ai / Manual.
12 Мар 2026 Инструмент

Шпион из ядра: как eBPF-трассировщик мониторит LLM API без вашего ведома

Обзор eBPF-трассировщика для мониторинга вызовов LLM API и Model Context Protocol. Нулевое изменение кода, экспорт в OpenTelemetry, поддержка GPT-5, Claude 4, L

Зачем следить за LLM из ядра?

Представьте, что ваш продакшн-агент на базе Claude 4 или GPT-5 внезапно начал сжигать $500 в час на API-вызовы. Вы подозреваете MCP-сервер, но как это доказать? Классические методы мониторинга требуют лазить по коду, вставлять логгеры, переписывать клиенты. А что если можно просто подключиться к ядру Linux и слушать все, что происходит? Это не магия, это eBPF.

💡
eBPF (extended Berkeley Packet Filter) - это технология ядра Linux, позволяющая выполнять безопасные программы в пространстве ядра без его перекомпиляции. На 12.03.2026 это стандарт для observability в высоконагруженных системах.

1Как eBPF-трассировщик видит всё без спроса

Инструмент вроде llm-ebpf-tracer (актуальная версия 2.1 на март 2026) цепляется за системные вызовы connect, send, recv. Он не просто смотрит на сокеты - он умеет заглядывать внутрь TLS-сессий. Да, тот самый HTTPS-трафик к api.openai.com или api.anthropic.com. Для этого используется технология eBPF USDT (User Statically-Defined Tracing) или uprobes, которые цепляются за функции шифрования в OpenSSL или BoringSSL.

Звучит как взлом? Это легально только если вы мониторите свои собственные системы. Не пытайтесь прицепить этот трассировщик к соседскому продакшену (даже если очень хочется).

2Что именно он ловит: от GPT-5 до MCP

Трассировщик автоматически классифицирует трафик по сигнатурам. Запрос к GPT-5 Turbo? Поймал. Вызов Claude 4 Opus? Есть. Запрос через LiteLLM-роутер? Определит и покажет, какой бекенд был выбран. Но главная фишка - отслеживание Model Context Protocol. Каждый вызов к MCP-серверу (например, через интеграцию в llama.cpp) тоже попадает в логи: какой инструмент был вызван, сколько данных передано, как долго длился запрос.

  • Метрики задержек: p50, p95, p99 для каждого эндпоинта LLM API
  • Распределение токенов: prompt vs completion tokens для каждого провайдера
  • Стоимость вызовов в реальном времени (использует актуальные цены на март 2026)
  • MCP-статистика: вызовы инструментов, ошибки, латенси

Сравнение: eBPF против старых методов

Вот где начинается веселье. Большинство команд до сих пор используют один из трех подходов, и все они раздражают.

МетодНужно менять код?Накладные расходыПоддержка MCP
Библиотеки OpenTelemetry (Python, JS)Да, вездеСредние (+5-15% CPU)Только если вручную инструментировать
Прокси-сервер (мидлварь)Нет, но меняется сетьВысокие (+ задержка, SPOF)Частично, если MCP идет через HTTP
Модификация клиентских библиотекДа, и поддерживать костылиНизкиеНет
eBPF-трассировщикНет, вообщеМинимальные (1-3% CPU)Полные, на любом стеке

Прокси-серверы - это прошлый век. Они ломают TLS end-to-end, добавляют точки отказа и не видят MCP-вызовы, которые идут через Unix-сокеты или gRPC. Библиотеки? Попробуйте добавить OpenTelemetry в legacy-систему на 50 микросервисов. Я подожду.

Когда библиотеки трассировки подводят

Возьмем типичный стек: Flask-приложение вызывает Anthropic API, а также общается с MCP-сервером для доступа к базе данных. Чтобы отслеживать это через Langfuse или аналоги, нужно обернуть три разные библиотеки. Одна ошибка - и вы теряете часть трассировки. eBPF-трассировщик просто смотрит на системные вызовы. Ему все равно, на чем написано приложение - Rust, Go, Python, даже двоичный файл на C.

Примеры из жизни: где это работает

3Продакшн-хаос с микросервисами

У одной команды было 12 сервисов, каждый звонил в OpenAI, Anthropic и использовал MCP для доступа к внутренним API. Счета за облако росли экспоненциально. За день с eBPF-трассировщиком они обнаружили, что один сервис в фоновом режиме делал вызовы к GPT-5 каждые 30 секунд «на всякий случай». Без изменения кода они увидели полную картину и срезали затраты на 40%.

4Отладка медленных вызовов к Claude 3.5

Пользователи жаловались, что агент «задумывается» по 20 секунд. Инструмент показал, что задержка была не в API Claude, а в MCP-вызове к инструменту поиска в документации, который сам делал запросы к внешнему API. Без этого мониторинга команда бы месяцами искала проблему в коде агента.

Актуальность на 12.03.2026: последняя версия трассировщика поддерживает GPT-5 Turbo (релиз январь 2026), Claude 4.5 (февраль 2026), Llama-4 Scout и все известные MCP-транспорты (HTTP, Unix sockets, gRPC). Экспорт идет напрямую в OpenTelemetry Collector, откуда данные можно отправить в Jaeger, Prometheus или коммерческие платформы.

Кому это нужно (а кому нет)

Этот инструмент - не для всех. Если у вас один скрипт на Python, который раз в день вызывает ChatGPT, не усложняйте. Но есть категории, где без eBPF уже нельзя.

DevOps-инженеры и SRE

Вы отвечаете за работу продакшн-агентов? Вам нужен мониторинг, который не сломается после очередного обновления клиентской библиотеки. eBPF работает на уровне ядра, поэтому обновления приложений его не касаются. Плюс, вы получаете метрики для алертинга: «если затраты на GPT-5 превысили $1000 за час - бей тревогу».

Разработчики AI-агентов

Вы строите сложные агенты с использованием MCP для безопасности? Вам критично понимать, какие инструменты вызываются чаще всего, где узкие места. Трассировщик покажет полный граф вызовов: от промпта пользователя до ответа LLM и действий через MCP. Это бесценно для отладки.

Кому не подойдет: пользователям Windows (только Linux с ядром 5.8+), тем, у кого нет прав на установку eBPF-программ (нужен root или CAP_BPF), командам с параноидальной политикой безопасности (некоторые CISO боятся всего, что работает в ядре).

Будущее: eBPF как стандарт для AI-observability

К 2027 году, по моему прогнозу, каждый крупный поставщик LLM-инфраструктуры будет включать eBPF-агент в свои дистрибутивы. Зачем? Потому что традиционные методы не справляются с динамичностью AI-стэка. Новые модели выходят каждые полгода, протоколы вроде MCP развиваются (посмотрите на скрытые угрозы MCP), а продакшен не может ждать, пока вы перепишете инструментацию.

Совет напоследок: если вы только начинаете внедрять LLM в продакшен, не закладывайте в архитектуру жесткую привязку к библиотекам мониторинга. Оставьте заднюю дверь в виде eBPF. Когда в 3 часа ночи сломается агент, использующий MCP-context-proxy, вы скажете себе спасибо.

Подписаться на канал