Skip to main content

Prometheus 메트릭 내보내기 및 스크래핑

GitHub Enterprise Server는 collectd 데이터를 변환하여 Prometheus와 호환되는 메트릭을 제공합니다. 이 메트릭은 전용 엔드포인트에서 스크래핑할 수 있으며, 이를 통해 관측 가능성 및 모니터링 도구와 통합하여 성능 인사이트를 얻을 수 있습니다.

GitHub Enterprise Server에는 가시성과 모니터링을 단순화하기 위한 Prometheus 메트릭 내보내기 도구가 포함되어 있습니다. 이 기능을 사용하면 어플라이언스에서 메트릭을 직접 스크래핑할 수 있으므로, Prometheus 시스템으로 보내기 전에 collectd 메트릭을 외부 collectd 서버로 전달해 변환할 필요가 없습니다. 내보내기는 기본적으로 Prometheus와 호환되는 메트릭을 지원하므로 외부 모니터링 대시보드 및 경고 시스템과 원활하게 통합할 수 있습니다.

Prometheus 메트릭 내보내기 및 스크래핑 활성화

기본적으로 Prometheus 메트릭 내보내기와 스크래핑은 비활성화되어 있습니다. collectd 메트릭에 대해 내보내기를 활성화하면 http(s)://HOSTNAME:9103에서 메트릭 엔드포인트(scrape endpoint라고도 함)가 열립니다. 방화벽 규칙에서 포트 9103의 트래픽을 허용하는지 확인하세요.

Prometheus 메트릭 내보내기는 관리 콘솔, 어플라이언스 내 명령줄 인터페이스 또는 API를 사용하여 활성화할 수 있습니다.

관리 콘솔를 사용하여 활성화

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

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

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

  4. 모니터링 설정에서 Prometheus 활성화를 선택하세요.

  5. 쉼표로 구분된 목록의 신뢰할 수 있는 IPv4/IPv6 주소 또는 CIDR 블록 필드에 쉼표로 구분된 IP 주소 또는 CIDR 블록 목록을 입력하세요. 예: 10.0.0.1, 192.168.1.0/8. 이 필드를 비워 두면 모든 원본 IP에서 보내는 스크래핑 요청을 허용합니다.

  6. "설정" 사이드바에서 설정 저장을 클릭합니다.

    참고 항목

    관리 콘솔에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.

  7. 구성 실행이 완료될 때까지 기다립니다.

명령줄 인터페이스를 통해 활성화

Prometheus 메트릭 내보내기를 활성화하려면 GitHub Enterprise Server 어플라이언스에 SSH로 연결한 다음 다음 명령을 실행하세요:

ghe-config app.prometheus.enabled true
# Specify a comma-separated list of 
# trusted IPv4/IPv6 addresses or CIDR blocks.
ghe-config app.prometheus.trusted-ips \
  "10.0.0.1, 192.168.1.0/8"
ghe-config-apply

API를 사용하여 활성화

구성 설정을 업데이트하는 PUT 요청을 보내 API를 사용해 Prometheus 메트릭 내보내기를 활성화할 수 있습니다.

curl -L -H "Content-Type: application/json" \
  -X PUT -u "api_key:xxxxxxx" \
  https://<hostname>/manage/v1/config/settings \
  -d '{"prometheus": {"enabled": true, "trusted_ips": "10.0.0.1, 192.168.1.0/8"}}'

Prometheus 메트릭 내보내기가 활성화되었는지 확인

Prometheus 메트릭 내보내기가 활성화되었는지 확인하려면 curl을(를) 사용하여 포트 9103의 /metrics 엔드포인트를 쿼리하세요. 관리 포트에 대한 자세한 내용은 네트워크 포트을(를) 참조하세요.

curl 127.0.0.1:9103/metrics

성공하면 응답에 collectd_ 접두사가 있는 메트릭이 포함됩니다.

외부 Prometheus 서버 구성

GitHub Enterprise Server에서 내보낸 메트릭을 스크래핑하려면 외부 Prometheus 서버의 prometheus.yaml 파일에 스크래핑 구성을 추가하세요.

- job_name: "ghes-prom-agent"
  scrape_interval: 10s
  static_configs:
    - targets: ["http(s)://HOSTNAME:9103/metrics"]

darkshipped Prometheus 메트릭 내보내기 지원

GitHub Enterprise Server 3.12에서 Prometheus 메트릭 내보내기가 darkshipped된 이후로 사용해 왔다면 3.16으로 업그레이드한 후에도 계속 작동합니다. 이 버전에서는 스크래핑 요청에 대해 신뢰할 수 있는 IP를 지정할 수 있는 옵션이 추가되었습니다.

피드백 공유

Prometheus 메트릭 내보내기 및 스크래핑 기능에 대한 의견은 GitHub에 공유할 수 있습니다. 질문이나 문제가 있는 경우 GitHub Enterprise 지원을(를) 방문하세요.