- 로그
- 메트릭
- 트레이스
- 예외
시작하기
HyperDX OpenTelemetry 계측 패키지 설치
- NPM
- Yarn
SDK 초기화
init 함수를 호출해야 합니다.
- require
- import
로그 수집 설정
console.* 로그는 자동으로 수집됩니다. winston이나 pino 같은 로거를 사용하는 경우,
로그를 ClickStack으로 전송하려면 로거에 transport를 추가해야 합니다. 다른 종류의 로거를 사용한다면,
문의하거나 해당하는 경우 플랫폼
통합(예: Kubernetes) 중 하나를 살펴보십시오.
- Winston
- Pino
- console.log
로거로
winston을 사용하는 경우, 로거에 다음 transport를 추가해야 합니다.오류 수집 설정
recordException 함수를 사용해 예외를 수동으로 기록해야 합니다.
- Express
- Koa
- 수동
문제 해결
OTEL_LOG_LEVEL 환경 변수를 debug로 설정해 자세한 로깅을 활성화할 수 있습니다.
고급 계측 구성
콘솔 로그 수집
HDX_NODE_CONSOLE_CAPTURE 환경 변수를 0으로
설정하면 이 기능을 비활성화할 수 있습니다.
copy
사용자 정보 또는 메타데이터 추가
setTraceAttributes 함수를 호출하면 됩니다. 이 함수를 호출한 이후 현재 트레이스와 연결된 모든
로그/스팬에는 지정한
속성이 태그로 추가됩니다. 이 함수는 해당 요청/트레이스 내에서 가능한 한
이른 시점에 호출하는 것이 좋습니다(예: Express 미들웨어 스택에서 가능한 한 이른 시점).
이 방법을 사용하면 나중에 검색할 수 있도록 모든 로그/스팬에 올바른 식별자가 자동으로 태그되므로,
식별자를 직접 태그하고 전파할 필요가 없습니다.
userId, userEmail, userName, teamName은 세션 UI에
해당 값을 채워 넣으며, 생략해도 됩니다. 이 외의 추가 값도
지정하여 이벤트 검색에 사용할 수 있습니다.
HDX_NODE_BETA_MODE 환경
변수를 1로 설정하거나 init 함수에 betaMode: true를 전달해
베타 모드를 활성화하십시오.
Google Cloud Run
@hyperdx/node-opentelemetry 패키지는 기본적으로 샘플 비율을 1.0으로
재설정합니다.
이 동작을 변경하거나 다른 OpenTelemetry 설치를 구성하려면,
동일한 결과를 얻기 위해 환경 변수
OTEL_TRACES_SAMPLER=parentbased_always_on 및 OTEL_TRACES_SAMPLER_ARG=1을
수동으로 설정할 수 있습니다.
자세한 내용과 특정 요청에 트레이싱을 강제로 적용하는 방법은
Google Cloud Run documentation을
참조하십시오.
자동 계측 라이브러리
dnsexpressgraphqlhapihttpioredisknexkoamongodbmongoosemysqlmysql2netpgpinorediswinston
다른 설치 방법
ClickStack OpenTelemetry CLI로 애플리케이션 실행
opentelemetry-instrument CLI나 Node.js의 --require 플래그를 사용하면 코드 변경 없이 애플리케이션을 자동 계측할 수 있습니다. CLI를 설치하면 자동 계측을 지원하는 라이브러리와 프레임워크를 더 폭넓게 사용할 수 있습니다.
- NPX 사용
- 사용자 지정 엔트리 포인트 (예: Nodemon, ts-node 등)
- 코드 가져오기
Managed ClickStackManaged ClickStack에서는
HYPERDX_API_KEY를 생략할 수 있습니다.OTEL_SERVICE_NAME 환경 변수는 HyperDX 앱에서 서비스를 식별하는 데 사용되며, 원하는 이름으로 지정할 수 있습니다.
예외 캡처 활성화
HDX_NODE_EXPERIMENTAL_EXCEPTION_CAPTURE 환경 변수를 1로 설정해야 합니다.