Мониторинг использования
Мониторинг использования Claude Code с помощью метрик OpenTelemetry
Поддержка OpenTelemetry в настоящее время находится в бета-версии, и детали могут измениться.
OpenTelemetry в Claude Code
Claude Code поддерживает метрики OpenTelemetry (OTel) для мониторинга и наблюдаемости. В этом документе объясняется, как включить и настроить OTel для Claude Code.
Все метрики представляют собой данные временных рядов, экспортируемые через стандартный протокол метрик OpenTelemetry. Пользователь несет ответственность за правильную настройку своего бэкенда метрик и за то, чтобы детализация агрегации соответствовала их требованиям к мониторингу.
Быстрый старт
Настройте OpenTelemetry с помощью переменных окружения:
Интервал экспорта по умолчанию составляет 10 минут. Во время настройки вы можете использовать более короткий интервал для целей отладки. Не забудьте сбросить это значение для использования в производственной среде.
Полные параметры конфигурации см. в спецификации OpenTelemetry.
Конфигурация администратора
Администраторы могут настраивать параметры OpenTelemetry для всех пользователей через файл управляемых настроек. Это позволяет централизованно контролировать настройки телеметрии в организации. См. иерархию конфигурации для получения дополнительной информации о том, как применяются настройки.
Файл управляемых настроек находится по адресу:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json
- Linux:
/etc/claude-code/managed-settings.json
Пример конфигурации управляемых настроек:
Управляемые настройки могут распространяться через MDM (Mobile Device Management) или другие решения для управления устройствами. Переменные окружения, определенные в файле управляемых настроек, имеют высокий приоритет и не могут быть переопределены пользователями.
Детали конфигурации
Общие переменные конфигурации
Переменная окружения | Описание | Примеры значений |
---|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY | Включает сбор телеметрии (обязательно) | 1 |
OTEL_METRICS_EXPORTER | Тип(ы) экспортера для использования (через запятую) | console , otlp , prometheus |
OTEL_EXPORTER_OTLP_PROTOCOL | Протокол для экспортера OTLP | grpc , http/json , http/protobuf |
OTEL_EXPORTER_OTLP_ENDPOINT | Конечная точка коллектора OTLP | http://localhost:4317 |
OTEL_EXPORTER_OTLP_HEADERS | Заголовки аутентификации для OTLP | Authorization=Bearer token |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY | Клиентский ключ для аутентификации mTLS | Путь к файлу клиентского ключа |
OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE | Клиентский сертификат для аутентификации mTLS | Путь к файлу клиентского сертификата |
OTEL_METRIC_EXPORT_INTERVAL | Интервал экспорта в миллисекундах (по умолчанию: 10000) | 5000 , 60000 |
Управление кардинальностью метрик
Следующие переменные окружения управляют тем, какие атрибуты включаются в метрики для управления кардинальностью:
Переменная окружения | Описание | Значение по умолчанию | Пример для отключения |
---|---|---|---|
OTEL_METRICS_INCLUDE_SESSION_ID | Включить атрибут session.id в метрики | true | false |
OTEL_METRICS_INCLUDE_VERSION | Включить атрибут app.version в метрики | false | true |
OTEL_METRICS_INCLUDE_ACCOUNT_UUID | Включить атрибут user.account_uuid в метрики | true | false |
Эти переменные помогают контролировать кардинальность метрик, что влияет на требования к хранению и производительность запросов в вашем бэкенде метрик. Более низкая кардинальность обычно означает лучшую производительность и более низкие затраты на хранение, но менее детализированные данные для анализа.
Примеры конфигураций
Доступные метрики
Claude Code экспортирует следующие метрики:
Название метрики | Описание | Единица измерения |
---|---|---|
claude_code.session.count | Количество запущенных сессий CLI | количество |
claude_code.lines_of_code.count | Количество измененных строк кода | количество |
claude_code.pull_request.count | Количество созданных pull request’ов | количество |
claude_code.commit.count | Количество созданных git-коммитов | количество |
claude_code.cost.usage | Стоимость сессии Claude Code | USD |
claude_code.token.usage | Количество использованных токенов | токены |
Детали метрик
Все метрики имеют следующие стандартные атрибуты:
session.id
: Уникальный идентификатор сессии (контролируетсяOTEL_METRICS_INCLUDE_SESSION_ID
)app.version
: Текущая версия Claude Code (контролируетсяOTEL_METRICS_INCLUDE_VERSION
)organization.id
: UUID организации (при аутентификации)user.account_uuid
: UUID аккаунта (при аутентификации, контролируетсяOTEL_METRICS_INCLUDE_ACCOUNT_UUID
)
1. Счетчик сессий
Отправляется в начале каждой сессии.
2. Счетчик строк кода
Отправляется при добавлении или удалении кода.
- Дополнительный атрибут:
type
("added"
или"removed"
)
3. Счетчик Pull Request’ов
Отправляется при создании pull request’ов через Claude Code.
4. Счетчик коммитов
Отправляется при создании git-коммитов через Claude Code.
5. Счетчик стоимости
Отправляется после каждого API-запроса.
- Дополнительный атрибут:
model
6. Счетчик токенов
Отправляется после каждого API-запроса.
- Дополнительные атрибуты:
type
("input"
,"output"
,"cacheRead"
,"cacheCreation"
) иmodel
Интерпретация данных метрик
Эти метрики предоставляют информацию о моделях использования, продуктивности и затратах:
Мониторинг использования
Метрика | Возможность анализа |
---|---|
claude_code.token.usage | Разбивка по type (ввод/вывод), пользователю, команде или модели |
claude_code.session.count | Отслеживание внедрения и вовлеченности с течением времени |
claude_code.lines_of_code.count | Измерение продуктивности путем отслеживания добавлений/удалений кода |
claude_code.commit.count и claude_code.pull_request.count | Понимание влияния на рабочие процессы разработки |
Мониторинг затрат
Метрика claude_code.cost.usage
помогает с:
- Отслеживанием тенденций использования в командах или отдельными лицами
- Выявлением сессий с высоким использованием для оптимизации
Метрики затрат являются приблизительными. Для официальных данных о биллинге обратитесь к вашему поставщику API (Anthropic Console, AWS Bedrock или Google Cloud Vertex).
Оповещения и сегментация
Распространенные оповещения для рассмотрения:
- Скачки затрат
- Необычное потребление токенов
- Большой объем сессий от конкретных пользователей
Все метрики могут быть сегментированы по user.account_uuid
, organization.id
, session.id
, model
и app.version
.
Соображения по бэкенду
Тип бэкенда | Лучше всего подходит для |
---|---|
Базы данных временных рядов (Prometheus) | Расчеты скорости, агрегированные метрики |
Столбчатые хранилища (ClickHouse) | Сложные запросы, анализ уникальных пользователей |
Платформы наблюдаемости (Honeycomb, Datadog) | Расширенные запросы, визуализация, оповещения |
Для метрик DAU/WAU/MAU выбирайте бэкенды, которые поддерживают эффективные запросы уникальных значений.
Информация о сервисе
Все метрики экспортируются с:
- Имя сервиса:
claude-code
- Версия сервиса: Текущая версия Claude Code
- Имя измерителя:
com.anthropic.claude_code
Соображения безопасности
- Телеметрия является опциональной и требует явной конфигурации
- Конфиденциальная информация, такая как API-ключи или содержимое файлов, никогда не включается в метрики