GitLab Prometheus 메트릭 개발 지침
GitLab은 Prometheus 메트릭 을 제공하여 자체 모니터링을 수행합니다.
새로운 메트릭 추가하기
이 섹션에서는 자체 모니터링을 위한 새로운 메트릭을 추가하는 방법을 설명합니다 (예시).
-
메트릭 종류를 선택합니다:
Gitlab::Metrics.counter
Gitlab::Metrics.gauge
Gitlab::Metrics.histogram
Gitlab::Metrics.summary
-
메트릭에 적합한 이름을 선택하십시오. Prometheus 메트릭 이름 가이드라인을 참조하십시오.
-
GitLab Prometheus 메트릭 목록을 업데이트합니다.
-
메트릭에 추가할 레이블을 신중하게 선택하십시오.
project_path
또는project_id
와 같은 카디널리티가 높은 값은 서비스 가용성에 영향을 미칠 수 있으므로 강력히 권장하지 않습니다. 각 레이블 세트는/metrics
엔드포인트에 새로운 항목으로 노출되기 때문입니다. 예를 들어, 10개의 버킷이 있는 히스토그램과 100개의 값을 가진 레이블은 수출 엔드포인트에서 1000개의 항목을 생성합니다. -
새로운 메트릭을 기록하는 관련 페이지 또는 코드를 트리거합니다.
-
새로운 메트릭이
/-/metrics
에 나타나는지 확인합니다.
특정 컨텍스트(request
, process
, machine
, namespace
등)에 국한되지 않은 메트릭의 경우, 크론 기반 Sidekiq 작업에서 생성합니다:
- Geo 관련 메트릭의 경우,
Geo::MetricsUpdateService
를 확인하십시오. - 기타 “전역” / 인스턴스 전체 메트릭의 경우,
Metrics::GlobalMetricsUpdateService
를 확인하십시오.
여러 Sidekiq 인스턴스가 있는 설치에서 Sidekiq에서 데이터를 내보낼 때, 동일한 내보내는 사람이 항상 쿼리되지 않을 것이라는 보장은 없습니다.
자세한 내용과 주의사항은 issue 406583에서 읽을 수 있으며, 여기서 푸시 게이트웨이를 사용한 가능한 해결책에 대해서도 논의합니다.