GitLab Prometheus 메트릭 개발 지침

GitLab은 Prometheus 메트릭 을 제공하여 자체 모니터링을 수행합니다.

새로운 메트릭 추가하기

이 섹션에서는 자체 모니터링을 위한 새로운 메트릭을 추가하는 방법을 설명합니다 (예시).

  1. 메트릭 종류를 선택합니다:

    • Gitlab::Metrics.counter
    • Gitlab::Metrics.gauge
    • Gitlab::Metrics.histogram
    • Gitlab::Metrics.summary
  2. 메트릭에 적합한 이름을 선택하십시오. Prometheus 메트릭 이름 가이드라인을 참조하십시오.

  3. GitLab Prometheus 메트릭 목록을 업데이트합니다.

  4. 메트릭에 추가할 레이블을 신중하게 선택하십시오. project_path 또는 project_id와 같은 카디널리티가 높은 값은 서비스 가용성에 영향을 미칠 수 있으므로 강력히 권장하지 않습니다. 각 레이블 세트는 /metrics 엔드포인트에 새로운 항목으로 노출되기 때문입니다. 예를 들어, 10개의 버킷이 있는 히스토그램과 100개의 값을 가진 레이블은 수출 엔드포인트에서 1000개의 항목을 생성합니다.

  5. 새로운 메트릭을 기록하는 관련 페이지 또는 코드를 트리거합니다.

  6. 새로운 메트릭이 /-/metrics에 나타나는지 확인합니다.

특정 컨텍스트(request, process, machine, namespace 등)에 국한되지 않은 메트릭의 경우, 크론 기반 Sidekiq 작업에서 생성합니다:

  • Geo 관련 메트릭의 경우, Geo::MetricsUpdateService를 확인하십시오.
  • 기타 “전역” / 인스턴스 전체 메트릭의 경우, Metrics::GlobalMetricsUpdateService를 확인하십시오.

여러 Sidekiq 인스턴스가 있는 설치에서 Sidekiq에서 데이터를 내보낼 때, 동일한 내보내는 사람이 항상 쿼리되지 않을 것이라는 보장은 없습니다.

자세한 내용과 주의사항은 issue 406583에서 읽을 수 있으며, 여기서 푸시 게이트웨이를 사용한 가능한 해결책에 대해서도 논의합니다.