튜토리얼: NodeJS 애플리케이션과 GitLab Observability 사용하기

이 기능의 가용성은 특성 플래그에 의해 제어됩니다. 자세한 정보는 분산 추적 기능의 이력을 확인하세요.

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

시작하기 전에

잠시 시간을 내서 다음 사항을 확인하세요.

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

새로운 GitLab 프로젝트 생성

먼저 새 GitLab 프로젝트와 해당 접근 토큰을 만듭니다. 이 튜토리얼은 프로젝트 이름을 nodejs-O11y-tutorial로 사용합니다.

  1. 왼쪽 사이드바에서 맨 위에 있는 새로 만들기 ()와 새 프로젝트/저장소 만들기를 선택합니다.
  2. 템플릿에서 만들기를 선택합니다.
  3. NodeJS Express를 위한 템플릿 사용을 선택합니다.
  4. 프로젝트 세부 정보를 입력합니다.
    • 프로젝트 이름 필드에 nodejs-O11y-tutorial을 입력합니다.
  5. 프로젝트 만들기를 선택합니다.
  6. nodejs-O11y-tutorial 프로젝트에서 왼쪽 사이드바에서 설정 > 엑세스 토큰을 선택합니다.
  7. api 스코프와 개발자 역할을 가진 접근 토큰을 만듭니다. 토큰 값을 안전한 곳에 저장하세요. 나중에 필요할 것입니다.

NodeJS 애플리케이션 계기화

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

  1. 다음을 실행하여 NodeJS가 설치되어 있는지 확인하세요:

    node -v
    
  2. nodejs-O11y-tutorial 프로젝트를 복제하고 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 프로젝트 개요 페이지에서 오른쪽 상단에 있는 작업 ()을 선택합니다.
    2. 프로젝트 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을 자체 관리형 인스턴스 호스트 이름으로 대체하세요.

추적 보기

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

내보낸 추적을 보려면:

  1. 다시 계기화된 nodejs-O11y-tutorial 애플리케이션을 시작합니다.
  2. http://localhost:8080/을 방문하여 애플리케이션에서 일부 작업을 수행합니다.
  3. nodejs-O11y-tutorial 프로젝트에서 왼쪽 사이드바에서 모니터 > 추적을 선택합니다. 모든 것이 올바르게 작동 중이라면 각 요청에 대한 추적을 볼 수 있습니다.

    메트릭 UI

  4. 선택 사항. 추적을 선택하여 해당 범위를 볼 수 있습니다.

    추적 UI

축하합니다! 애플리케이션을 만들고 GitLab Observability 기능을 사용하도록 구성하고, 애플리케이션이 생성한 추적을 조사하는 데 성공했습니다. 이 애플리케이션을 계속 실험하거나 보다 복잡한 애플리케이션을 구성하여 추적을 내보내는 방법을 시도할 수 있습니다.

Observability 추적은 아직 제품용으로 사용할 준비가 되지 않았음을 기억하세요. NodeJS 애플리케이션에서 OpenTelemetry 컬렉터를 사용하여 로그나 메트릭을 공식적으로 지원하는 것은 없습니다.