Zipkin은 서비스 아키텍처의 지연 시간 문제를 해결하는 데 필요한 타이밍 데이터를 수집하는 데 도움이 되는 분산 추적 시스템입니다. 이 가이드에서는 BPA 플랫폼 서비스 전반에 걸쳐 Zipkin을 구축하고 추적을 활성화하는 방법을 제공합니다.
@opentelemetry/api 패키지는 Node.js에서 OpenTelemetry를 위한 핵심 API입니다. 추적, 스팬 및 컨텍스트 전파를 생성하고 관리하기 위한 인터페이스와 클래스를 제공합니다. 개발자는 이 패키지를 사용하여 추적 및 메트릭과 같은 텔레메트리 데이터를 수집한 다음 분석을 위해 Zipcin과 같은 백엔드로 내보낼 수 있는 애플리케이션을 개발할 수 있습니다.
Zipkin의 주요 구성 요소는 다음과 같습니다.
Zipkin을 구축하고 추적을 활성화하려면 다음 네트워크 요구 사항이 필요합니다.
cd /opt/bpa/bpa-{build_version}/scripts
./startbpa.1node.sh monitoring
docker ps | grep tracers-zipkin
docker logs tracers-zipkin -f
BPA 애플리케이션은 "tracingConfig.json" 파일을 통해 유연한 추적 컨피그레이션을 지원합니다. 시스템은 서로 다른 구축 시나리오를 수용하기 위해 세 가지 우선 순위 레벨의 계층적 컨피그레이션 로딩 메커니즘을 구현합니다.
우선 순위에 따라 다음 순서로 추적 컨피그레이션이 로드됩니다.
경로: bpa-helm-chart/charts/<서비스 이름>/public_conf
경로: bpa-helm-chart/bpa/conf/common/globals/tracingConfig.json을 참조하십시오.
경로: ../conf/tracingConfig.json(대체)
컨피그레이션 파일의 형식이 잘못되었거나 읽을 수 없는 경우, 시스템은 다음을 수행합니다.
Pod의 폴더 경로에 다음 콘텐츠가 포함된 "tracingConfig.json" 파일을 만들거나 업데이트합니다.
bpa-helm-chart/charts/<서비스 이름>/public_conf/
예:
{
"enable": true
}
{
"enable": false
}
"tracingConfig.json" 파일을 적절한 위치에 배치한 후 Helm upgrade 명령을 사용하여 변경 사항을 적용합니다.
helm upgrade bpa-rel --namespace bpa-ns /opt/bpa-helm-chart
명령 분석:
다음 Helm 차트 경로에서 모니터링을 활성화하려면 "values.yaml" 파일의 Helm 값을 편집합니다.
yaml
global:
enableMonitoring: true
다음 Helm 명령을 사용하여 Zipkin 서비스를 구축합니다.
helm install bpa-rel --create-namespace --namespace bpa-ns
다음 명령을 사용하여 구축을 확인합니다.
kubectl get pods -n bpa-ns | grep tracers-zipkin
kubectl get svc -n bpa-ns | grep tracers-zipkin
포드 로그를 보려면 다음 명령을 사용합니다.
kubectl logs -n bpa-ns deployment/tracers-zipkin -f
서비스 엔드포인트를 확인하려면 다음 명령을 사용합니다.
kubectl describe svc tracers-zipkin -n bpa-ns
URL: https://<서버 IP>:9412/zipkin/
URL: https://<cluster-ip>:30900/zipkin/
Zipkin 대시보드에서는 추적을 검색하고 시각화할 수 있는 UI를 제공합니다. 주요 구성 요소는 다음과 같습니다.
서비스 이름
트레이서는 스팬을 만들고 관리하는 업무를 담당합니다. 추적기는 특정 서비스 또는 애플리케이션 구성 요소와 연결됩니다. 스팬은 추적 내에서 작업 또는 작업의 단일 단위를 나타냅니다. 각 스팬에는 작업 이름, 시작 및 종료 시간, 속성, 다른 스팬과의 상위-하위 관계 등의 정보가 포함됩니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
24-Sep-2025
|
최초 릴리스 |