- Журналы
- Метрики
- Трейсы
- Исключения
Начало работы
Установите пакет для инструментирования HyperDX OpenTelemetry
- NPM
- Yarn
Инициализация SDK
init в начале файла точки входа вашего приложения.
- require
- import
Настройка сбора журналов
console.*. Если вы используете логгер,
например winston или pino, вам потребуется добавить в него transport, чтобы
отправлять журналы в ClickStack. Если вы используете другой тип логгера,
свяжитесь с нами или, если применимо, воспользуйтесь одной из наших
интеграций (например, Kubernetes).
- Winston
- Pino
- console.log
Если вы используете
winston в качестве логгера, вам потребуется добавить в него следующий transport.Настройка сбора ошибок
recordException.
- Express
- Koa
- Вручную
Устранение неполадок
OTEL_LOG_LEVEL значение debug.
Расширенная настройка инструментирования
Сбор логов консоли
HDX_NODE_CONSOLE_CAPTURE значение 0.
copy
Добавление информации о пользователе или метаданных
setTraceAttributes, которая после вызова добавит указанные
атрибуты ко всем журналам/спанам, связанным с текущей трассировкой. Эту функцию рекомендуется вызывать
как можно раньше в рамках конкретного запроса/трассировки (например, как можно раньше в стеке middleware Express).
Это удобный способ гарантировать, что все журналы/спаны будут автоматически помечены
нужными идентификаторами для последующего поиска, вместо того чтобы вручную
добавлять метки и самостоятельно передавать идентификаторы.
userId, userEmail, userName и teamName заполнят интерфейс сеансов
соответствующими значениями, но их можно не указывать. Также можно задать любые другие дополнительные значения
и использовать их для поиска событий.
HDX_NODE_BETA_MODE в значение 1 или передайте betaMode: true в функцию init, чтобы
включить атрибуты трассировки.
Google Cloud Run
@hyperdx/node-opentelemetry по умолчанию
переопределяет коэффициент выборки на 1.0.
Чтобы изменить это поведение или настроить другие установки OpenTelemetry, вы
можете вручную задать переменные окружения
OTEL_TRACES_SAMPLER=parentbased_always_on и OTEL_TRACES_SAMPLER_ARG=1, чтобы
получить тот же результат.
Чтобы узнать больше и принудительно включить трассировку для определённых запросов, см.
документацию Google Cloud Run.
Автоматически инструментируемые библиотеки
dnsexpressgraphqlhapihttpioredisknexkoamongodbmongoosemysqlmysql2netpgpinorediswinston
Альтернативный способ установки
Запуск приложения с помощью ClickStack OpenTelemetry CLI
opentelemetry-instrument или флага Node.js --require. Установка через CLI предоставляет более широкий набор автоматически инструментируемых библиотек и фреймворков.
- Использование NPX
- Пользовательская точка входа (например, Nodemon, ts-node и т. д.)
- Импорт кода
Управляемый ClickStackДля Управляемого ClickStack
HYPERDX_API_KEY можно не указывать.OTEL_SERVICE_NAME используется для идентификации вашего сервиса в интерфейсе HyperDX; ей можно задать любое имя.
Включение перехвата исключений
HDX_NODE_EXPERIMENTAL_EXCEPTION_CAPTURE в значение 1.