튜토리얼: Java Spring 애플리케이션과 GitLab Observability 사용하기
더 많은 정보는 분산 추적 기능의 이력을 참조하십시오.
이 튜토리얼에서는 GitLab Observability 기능을 사용하여 Java Spring 애플리케이션을 생성, 구성, 계측 및 모니터링하는 방법을 배웁니다.
시작하기 전에
이 튜토리얼을 따라하기 위해서는 다음이 필요합니다:
- GitLab.com 또는 GitLab 자체 관리용 GitLab Ultimate 구독
- Ruby on Rails의 로컬 설치
- Git, Java Spring 및 OpenTelemetry의 핵심 개념에 대한 기본 지식
GitLab 프로젝트 생성
먼저 GitLab 프로젝트와 해당 액세스 토큰을 생성합니다.
- 왼쪽 사이드바에서 맨 위에 있는 새로 만들기 ()를 선택하고 새 프로젝트/저장소를 선택합니다.
- 템플릿에서 생성을 선택합니다.
- Spring을 선택한 다음 템플릿 사용을 선택합니다.
- 프로젝트 세부 정보를 입력합니다.
-
프로젝트 이름 필드에
test-spring-o11y
와 같은 이름을 입력하십시오.
-
프로젝트 이름 필드에
- 프로젝트 생성을 선택합니다.
-
test-sprint-o11y
프로젝트에서 왼쪽 사이드바에서 설정 > 액세스 토큰을 선택합니다. -
api
범위 및 개발자 역할로 액세스 토큰을 생성합니다. 토큰 값을 안전한 장소에 저장합니다. 나중에 필요합니다.
애플리케이션 실행
다음으로, 애플리케이션이 작동하는지 확인하기 위해 애플리케이션을 실행합니다.
- GitLab에서 프로젝트를 복제한 후 IntelliJ(또는 선호하는 IDE)에서 엽니다.
-
src/main/java/com.example.demo/DemoApplication
을 열고 애플리케이션을 실행하십시오: - 초기화 후, 애플리케이션은
http://localhost:8000
에서 사용할 수 있어야 합니다. 테스트하고 나서 IDE에서 중지 버튼을 선택합니다.
OpenTelemetry 종속성 추가
애플리케이션을 계측하기 위해 자동 계측을 사용합니다:
-
pom.xml
파일에 필요한 종속성을 추가하십시오:<dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-extension-autoconfigure</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-extension-autoconfigure-spi</artifactId> </dependency>
<dependencyManagement> <dependencies> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom</artifactId> <version>1.40.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
-
Maven 변경 사항 업데이트를 선택하여 종속성을 업데이트하십시오:
-
OpenTelemetry java 에이전트 파일을 OpenTelemetry 리포지토리에서 다운로드하십시오.
curl --location --http1.0 "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar"
환경 변수 정의
OpenTelemetry 자동구성 라이브러리는 환경 변수에서 구성 내용을 읽습니다.
-
오른쪽 상단 메뉴에서 구성 편집…을 선택하십시오:
-
구성 메뉴에서 환경 변수 필드의 아이콘을 선택하십시오.
- 다음 세트의 환경 변수를 추가하고
{{PATH_TO_JAVA_AGENT}}
,{{PROJECT_ID}}
,{{PROJECT_ACCESS_TOKEN}}
및{{SERVICE_NAME}}
을 올바른 값으로 대체하십시오. GitLab 자체 관리형 인스턴스를 사용하는 경우gitlab.com
을 자체 관리형 인스턴스 호스트 이름으로 대체하십시오.JAVA_TOOL_OPTIONS=-javaagent:{{PATH_TO_JAVA_AGENT}}/opentelemetry-javaagent.jar
OTEL_EXPORTER_OTLP_ENDPOINT=https://gitlab.com/api/v4/projects/{{PROJECT_ID}}/observability
OTEL_EXPORTER_OTLP_HEADERS=PRIVATE-TOKEN\={{PROJECT_ACCESS_TOKEN}}
OTEL_EXPORTER=otlphttp
OTEL_METRIC_EXPORT_INTERVAL=15000
OTEL_SERVICE_NAME=example-java-application
- 애플리케이션을 재시작하고
http://localhost:8000
에서 페이지를 몇 번 새로 고침하십시오.
GitLab에서 정보 확인
테스트 프로젝트에서 내보낸 정보를 확인하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 모니터를 선택한 다음 로그, 메트릭 또는 추적 중 하나를 선택합니다.