자습서: NodeJS 애플리케이션과 GitLab Observability 사용하기
이 자습서에서는 GitLab Observability 기능을 사용하여 NodeJS 애플리케이션을 구성, 계측 및 모니터링하는 방법을 배우게 됩니다.
시작하기 전에
잠시 시간을 내어 다음 사항을 확인하세요:
- GitLab.com 또는 GitLab Self-Managed에 대한 GitLab Ultimate 구독
- NodeJS의 로컬 설치
- Git, NodeJS, JavaScript 및 OpenTelemetry의 기본 개념에 대한 기본 지식
새 GitLab 프로젝트 만들기
먼저 새 GitLab 프로젝트와 해당 액세스 토큰을 생성합니다.
이 자습서에서는 프로젝트 이름 nodejs-O11y-tutorial
을 사용합니다.
- 왼쪽 사이드바에서 맨 위의 Create new ()를 선택한 다음 New project/repository를 선택합니다.
- Create from template를 선택합니다.
- NodeJS Express에 대해 Use template를 선택합니다.
- 프로젝트 세부정보를 입력합니다.
-
Project name 필드에
nodejs-O11y-tutorial
을 입력합니다.
-
Project name 필드에
- Create project를 선택합니다.
-
nodejs-O11y-tutorial
프로젝트에서 왼쪽 사이드바의 Settings > Access tokens를 선택합니다. -
api
범위 및 Developer 역할로 액세스 토큰을 생성합니다. 토큰 값을 안전한 곳에 저장하세요. 나중에 필요합니다.
NodeJS 애플리케이션 계측하기
다음으로 NodeJS 애플리케이션을 계측해야 합니다.
-
다음 명령어를 실행하여 NodeJS가 설치되어 있는지 확인합니다:
node -v
-
nodejs-O11y-tutorial
프로젝트를 클론하고cd
를 사용하여nodejs-O11y-tutorial
디렉토리로 이동합니다. -
다음 명령어를 실행하여 종속성을 설치합니다:
npm install
-
애플리케이션을 실행합니다:
PORT=8080 node server.js
- 웹 브라우저에서
http://localhost:8080
를 방문하여 애플리케이션이 올바르게 실행되고 있는지 확인합니다. -
OpenTelemetry 패키지를 추가합니다:
npm install --save @opentelemetry/api \ @opentelemetry/auto-instrumentations-node
- 프로젝트 ID를 찾습니다:
-
nodejs-O11y-tutorial
프로젝트 개요 페이지에서 오른쪽 상단의 Actions ()를 선택합니다. - Copy project ID를 선택합니다. 복사한 ID를 나중에 사용할 수 있도록 저장합니다.
-
-
계측으로 프로젝트를 구성하고 실행합니다:
env OTEL_TRACES_EXPORTER="otlphttp" \ OTEL_EXPORTER_OTLP_ENDPOINT="https://gitlab.com/api/v4/projects/{{PROJECT_ID}}/observability" \ OTEL_EXPORTER_OTLP_HEADERS="PRIVATE-TOKEN={{ACCESS_TOKEN}}" \ OTEL_SERVICE_NAME="nodejs-O11y-tutorial" \ OTEL_LOG_LEVEL="debug" \ NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register" \ PORT=8080 node server.js
PROJECT_ID
및ACCESS_TOKEN
값을 이전에 얻은 값으로 바꾸는 것을 잊지 마세요.
Self-managed GitLab 인스턴스를 사용하는 경우gitlab.com
을 self-managed 인스턴스 호스트 이름으로 바꿉니다.
추적 보기
이제 Observability 추적을 사용하도록 구성된 애플리케이션이 있으므로, GitLab.com에서 내보낸 추적을 볼 수 있습니다.
내보낸 추적을 보려면:
-
다시 한 번 계측을 사용하여
nodejs-O11y-tutorial
애플리케이션을 시작하십시오. -
http://localhost:8080/
를 방문하고 애플리케이션에서 몇 가지 작업을 수행하십시오. -
nodejs-O11y-tutorial
프로젝트에서 왼쪽 사이드바에서 Monitor > Traces를 선택하십시오.
모든 것이 제대로 작동하면 각 요청에 대한 추적을 볼 수 있어야 합니다. -
선택사항. 추적을 선택하여 해당 스팬을 보십시오.
축하합니다! 애플리케이션을 성공적으로 생성하고 GitLab Observability 기능을 사용하도록 구성했으며 애플리케이션이 생성한 추적을 검토했습니다. 이 애플리케이션으로 계속 실험하거나 더 복잡한 애플리케이션을 구성하여 추적을 내보낼 수 있습니다.
Observability Tracing은 아직 프로덕션 사용을 위해 준비되지 않았음을 기억하십시오. NodeJS 애플리케이션용 OpenTelemetry 수집기를 사용한 로그 또는 메트릭에 대한 공식 지원은 없습니다.