튜토리얼: Java Spring 애플리케이션에서 GitLab Observability 사용하기
자세한 내용은 분산 추적 기능의 히스토리를 참조하세요.
이 튜토리얼에서는 GitLab Observability 기능을 사용하여 Java Spring 애플리케이션을 생성, 구성, 계측 및 모니터링하는 방법을 배웁니다.
시작하기 전에
이 튜토리얼을 따라 하려면 다음이 필요합니다:
- GitLab.com 또는 GitLab self-managed를 위한 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 저장소에서 OpenTelemetry Java 에이전트 파일을 다운로드합니다.
curl --location --http1.0 "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar"
환경 변수를 정의하세요
OpenTelemetry 자동 구성 라이브러리는 환경 변수에서 구성 정보를 읽습니다.
-
오른쪽 상단 메뉴에서 Edit Configurations…를 선택하세요:
-
구성 메뉴에서 Environment Variables 필드에서 아이콘을 선택하세요.
- 다음 환경 변수 세트를 추가하고,
{{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에서 정보 보기
테스트 프로젝트에서 내보낸 정보를 보려면:
-
왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾으세요.
-
Monitor를 선택한 다음 Logs, Metrics 또는 Traces 중 하나를 선택하세요.