자습서: NodeJS 애플리케이션과 GitLab Observability 사용하기


이 기능의 사용 가능성은 기능 플래그에 의해 제어됩니다.
자세한 내용은 분산 추적 기능의 역사를 참조하세요.

이 자습서에서는 GitLab Observability 기능을 사용하여 NodeJS 애플리케이션을 구성, 계측 및 모니터링하는 방법을 배우게 됩니다.

시작하기 전에

잠시 시간을 내어 다음 사항을 확인하세요:

  • GitLab.com 또는 GitLab Self-Managed에 대한 GitLab Ultimate 구독
  • NodeJS의 로컬 설치
  • Git, NodeJS, JavaScript 및 OpenTelemetry의 기본 개념에 대한 기본 지식

새 GitLab 프로젝트 만들기

먼저 새 GitLab 프로젝트와 해당 액세스 토큰을 생성합니다.
이 자습서에서는 프로젝트 이름 nodejs-O11y-tutorial을 사용합니다.

  1. 왼쪽 사이드바에서 맨 위의 Create new ( )를 선택한 다음 New project/repository를 선택합니다.
  2. Create from template를 선택합니다.
  3. NodeJS Express에 대해 Use template를 선택합니다.
  4. 프로젝트 세부정보를 입력합니다.
    • Project name 필드에 nodejs-O11y-tutorial을 입력합니다.
  5. Create project를 선택합니다.
  6. nodejs-O11y-tutorial 프로젝트에서 왼쪽 사이드바의 Settings > Access tokens를 선택합니다.
  7. api 범위 및 Developer 역할로 액세스 토큰을 생성합니다. 토큰 값을 안전한 곳에 저장하세요. 나중에 필요합니다.

NodeJS 애플리케이션 계측하기

다음으로 NodeJS 애플리케이션을 계측해야 합니다.

  1. 다음 명령어를 실행하여 NodeJS가 설치되어 있는지 확인합니다:

    node -v
    
  2. nodejs-O11y-tutorial 프로젝트를 클론하고 cd를 사용하여 nodejs-O11y-tutorial 디렉토리로 이동합니다.
  3. 다음 명령어를 실행하여 종속성을 설치합니다:

    npm install
    
  4. 애플리케이션을 실행합니다:

    PORT=8080 node server.js
    
  5. 웹 브라우저에서 http://localhost:8080를 방문하여 애플리케이션이 올바르게 실행되고 있는지 확인합니다.
  6. OpenTelemetry 패키지를 추가합니다:

    npm install --save @opentelemetry/api \
      @opentelemetry/auto-instrumentations-node
    
  7. 프로젝트 ID를 찾습니다:
    1. nodejs-O11y-tutorial 프로젝트 개요 페이지에서 오른쪽 상단의 Actions ( )를 선택합니다.
    2. Copy project ID를 선택합니다. 복사한 ID를 나중에 사용할 수 있도록 저장합니다.
  8. 계측으로 프로젝트를 구성하고 실행합니다:

    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_IDACCESS_TOKEN 값을 이전에 얻은 값으로 바꾸는 것을 잊지 마세요.
    Self-managed GitLab 인스턴스를 사용하는 경우 gitlab.com을 self-managed 인스턴스 호스트 이름으로 바꿉니다.

추적 보기

이제 Observability 추적을 사용하도록 구성된 애플리케이션이 있으므로, GitLab.com에서 내보낸 추적을 볼 수 있습니다.

내보낸 추적을 보려면:

  1. 다시 한 번 계측을 사용하여 nodejs-O11y-tutorial 애플리케이션을 시작하십시오.

  2. http://localhost:8080/를 방문하고 애플리케이션에서 몇 가지 작업을 수행하십시오.

  3. nodejs-O11y-tutorial 프로젝트에서 왼쪽 사이드바에서 Monitor > Traces를 선택하십시오.
    모든 것이 제대로 작동하면 각 요청에 대한 추적을 볼 수 있어야 합니다.

    Metrics UI

  4. 선택사항. 추적을 선택하여 해당 스팬을 보십시오.

    Traces UI

축하합니다! 애플리케이션을 성공적으로 생성하고 GitLab Observability 기능을 사용하도록 구성했으며 애플리케이션이 생성한 추적을 검토했습니다. 이 애플리케이션으로 계속 실험하거나 더 복잡한 애플리케이션을 구성하여 추적을 내보낼 수 있습니다.

Observability Tracing은 아직 프로덕션 사용을 위해 준비되지 않았음을 기억하십시오. NodeJS 애플리케이션용 OpenTelemetry 수집기를 사용한 로그 또는 메트릭에 대한 공식 지원은 없습니다.