배포 모니터링하기
프로덕션 Backstage 배포는 상태를 추적하고, 문제를 진단하고, 사용 패턴을 이해하기 위해 모니터링이 필요해요. Backstage는 백엔드의 OpenTelemetry와 프론트엔드의 Analytics API에 대한 내장 지원을 제공해요. 이 글에서는 둘 다 설정하는 방법을 설명드릴게요.
출처: 문서
본문
대상 독자: 관리자
요약
프로덕션 Backstage 배포는 상태를 추적하고, 문제를 진단하고, 사용 패턴을 이해하기 위해 모니터링이 필요해요. Backstage는 백엔드의 OpenTelemetry와 프론트엔드의 Analytics API에 대한 내장 지원을 제공해요.
이 페이지가 끝나면 둘 다 설정하는 방법을 알게 될 거예요.
OpenTelemetry로 백엔드 모니터링
Backstage는 메트릭과 트레이스를 보고하기 위해 OpenTelemetry를 사용해요. 설정에는 몇 가지 OpenTelemetry 패키지 설치, 계측(instrumentation) 파일 생성, 백엔드 시작 전에 로드하는 것이 포함돼요.
OpenTelemetry 설정 튜토리얼을 따라서 의존성 설치, 내보내기(exporters) 구성(메트릭용 Prometheus, 트레이스용 OTLP), 그리고 백엔드에 모든 것을 연결하는 단계별 지침을 확인하세요.
모니터링할 핵심 메트릭
Backstage 플러그인은 시스템 상태를 파악할 수 있는 메트릭을 내보내요. 일반적인 예는 다음과 같아요:
-
catalog_entities_count- 카탈로그의 총 엔티티 수. -
catalog.processed.entities.count- 처리된 엔티티 수. -
catalog.processing.duration- 엔티티 처리에 소요된 시간. -
scaffolder.task.count- 실행된 스캐폴더 작업 수. -
scaffolder.task.duration- 스캐폴더 작업이 걸린 시간.
특정 메트릭 이름은 설치한 플러그인과 그 버전에 따라 달라질 수 있어요. 이 예시들은 처리 백로그나 비정상적으로 느린 스캐폴더 실행 같은 것에 대한 알림을 설정하는 데 도움이 돼요.
헬스 체크
Backstage는 Kubernetes나 다른 오케스트레이터의 liveness 및 readiness 프로브에 사용할 수 있는 내장 헬스 체크 엔드포인트를 제공해요:
-
/.backstage/health/v1/readiness- 백엔드가 트래픽을 서빙할 준비가 되면 healthy를 반환해요. -
/.backstage/health/v1/liveness- 백엔드 프로세스가 살아 있으면 healthy를 반환해요.
프론트엔드 분석
Backstage는 프론트엔드에서 사용자 행동을 추적하기 위한 Analytics API를 제공해요. 이것은 어떤 플러그인이 가장 많이 사용되는지 이해하고 Backstage 투자에 대한 수익을 측정하는 데 유용해요.
커뮤니티 플러그인을 통해 여러 분석 도구가 지원돼요:
-
Google Analytics 4
-
New Relic Browser
-
Matomo
설정 지침은 Analitics 문서를 참고하세요.
프론트엔드 오류 보고를 위해 Sentry, CloudWatch RUM, Cloudflare RUM 같은 서비스와 통합해서 클라이언트 측 오류를 포착하고 진단하는 것을 고려해 보세요.
로깅
백엔드는 기본적으로 stdout에 구조화된 JSON 로그를 내보내요. 이 로그는 service, plugin, level, message 같은 필드를 포함해서 로그 집계 도구(Elasticsearch, Datadog, Splunk 등)로 쉽게 파싱할 수 있게 해요.
다음 단계
더 많은 사용자가 Backstage 인스턴스를 채택함에 따라 배포를 확장해야 할 수도 있어요.
- 배포 확장하기