Skip to main content

인스턴스에 대한 OpenTelemetry 구성

향상된 모니터링 및 관찰성을 위해 GitHub Enterprise Server 인스턴스에서 OpenTelemetry 메트릭 컬렉션을 구성하는 방법을 알아봅니다.

OpenTelemetry 지표는 GitHub Enterprise Server 3.18 이상에서 사용할 수 있으며, 모니터링의 미래를 위한 기반입니다. 이 새로운 모니터링 스택은 레거시 수집 시스템에 비해 향상된 관찰성 및 관리 기능을 제공합니다.

수집된 메트릭은 기본적으로 계속 수집되며 이 릴리스에서 완전히 지원됩니다.

필수 조건

  • GitHub Enterprise Server 버전 3.18 이상
  • 관리 콘솔에 대한 관리자 액세스
  • GitHub Enterprise Server 장비에 대한 SSH 액세스

OpenTelemetry 메트릭 활성화

OpenTelemetry 메트릭은 GitHub Enterprise Server 3.19 이상의 새 설치에 대해 기본적으로 사용하도록 설정됩니다. GitHub Enterprise Server 3.19로의 업그레이드는 기본적으로 collectd 메트릭이 여전히 활성화되어 있지만, 사용자가 OpenTelemetry 메트릭으로 전환할 수 있습니다.

성능 고려 사항

OpenTelemetry 메트릭을 구성할 때 다음 성능 요소를 고려합니다.

  •         **컬렉션 빈도**: 수집 빈도가 높아질수록 시스템 부하가 증가합니다.
    
  •         **데이터 보존**: 보존 기간이 길어질수록 더 많은 스토리지가 필요합니다.
    
  •         **사용자 지정 내보내기**: 추가 내보내기 CPU 및 메모리 사용량을 늘릴 수 있습니다.
    
  •         **네트워크 대역폭**: 외부 메트릭 전달이 네트워크 사용량에 영향을 줍니다.
    

메트릭 컬렉션 구성

OpenTelemetry 메트릭을 사용하도록 설정한 후 메트릭 컬렉션 프로세스의 다양한 측면을 사용자 지정할 수 있습니다.

컬렉션 간격 설정

기본 메트릭 컬렉션 간격은 30초입니다. 모니터링 요구 사항에 따라 이를 조정할 수 있습니다.

중요

간격을 더 짧게 설정하면 메트릭의 전체 자릿수가 증가하지만 스토리지 요구 사항 및 시스템 부하도 증가합니다. 이 설정을 조정하기 전에 시스템 리소스 및 모니터링 요구 사항을 고려합니다.

관리 콘솔를 사용하여 간격을 설정하기

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.

  4. 모니터링 설정의 메트릭 스크랩 간격에서 원하는 간격(예 60: 초)을 입력합니다.

{ 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }

명령줄을 사용하여 간격 설정

SSH로 GitHub Enterprise Server 어플라이언스에 접속하여 다음 명령을 실행하세요.

# Set scrape interval to 60 seconds
ghe-config observability.metrics.interval 60
ghe-config-apply

데이터 보존 구성

기본적으로 메트릭 데이터는 30일 동안 보존됩니다. 관리 콘솔 또는 명령줄을 사용하여 이 설정을 수정할 수 있습니다.

보존을 구성하기 위해 관리 콘솔을(를) 사용하세요

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

  3. " 사이트 관리자" 사이드바에서 관리 콘솔 을 클릭합니다.

  4. 모니터링 설정의 메트릭 보존에서 원하는 보존 기간(예 15: 일)을 입력합니다.

{ 데이터 재사용 가능의 엔터프라이즈 관리 콘솔 설정 저장 }

명령줄을 사용하여 보존 구성

SSH로 GitHub Enterprise Server 어플라이언스에 접속하여 다음 명령을 실행하세요.

# Set retention to 15 days
ghe-config observability.metrics.retention 15
ghe-config-apply

내부 원격 분석의 상세 수준 설정 구성

OpenTelemetry 수집기는 수집기 자체의 상태 및 성능을 모니터링하기 위해 자체 내부 원격 분석 데이터를 생성합니다. 명령줄을 사용하여 이 내부 원격 분석의 세부 정보를 구성할 수 있습니다.

사용 가능한 원격 분석 수준은 다음과 같습니다. * none: 내부 원격 분석 비활성화 * basic: 필수 원격 분석 데이터 제공(기본값) * normal: 표준 원격 분석 데이터 제공 * detailed: 디버깅을 위한 자세한 원격 분석 데이터 제공

SSH로 GitHub Enterprise Server 어플라이언스에 접속하여 다음 명령을 실행하세요.

# Set internal telemetry level to normal
ghe-config observability.metrics.internal-otel-telemetry-level normal
ghe-config-apply

참고

원격 분석 수준이 높을수록 수집기의 내부 작업에 대한 자세한 정보를 제공할 뿐만 아니라 리소스 사용량도 증가합니다. basic 수집기 문제를 해결할 필요가 없는 경우 프로덕션 환경에 이 수준을 사용하는 것이 좋습니다.

구성 문제 해결

OpenTelemetry 구성에 문제가 발생하는 경우 다음 정보를 통해 일반적인 문제를 식별하고 해결할 수 있습니다.

일반적인 구성 문제

  •         **서비스 시작 실패**: 시스템 로그에서 오류 메시지 확인
    
  •         **리소스 제약 조건**: 컬렉션 간격을 조정할 때 시스템 리소스 모니터링
    

로컬 로그 보기

디버그하려는 노드에 SSH를 실행하고 다음 명령을 실행합니다.

OpenTelemetry 수집기 로그 보기:

sudo journalctl -u otelcol-contrib -f

VictoriaMetrics 로그 보기:

sudo journalctl -u victoriametrics -f

다음 단계