이 문서에서는 JFrog Artifactory 모니터링을 위해 Prometheus 연동 하는 방법을 안내합니다.

Artifactory Metric 목록

Artifactory에서 제공하는 메트릭 종류는 다음과 같습니다.

Artifactory Metric 수집 설정

Prometheus에서 Metric을 Scrape 할 수 있도록 설정을 활성화합니다.

metrics.enable 설정

  • (Helm) values.yaml,
  • (그 외) system.yaml
artifactory:
  metrics:
    enabled: true

Metric 확인

Artifactory Access Token 발급

Administration > User management > Access Tokens > Generate Token

  • Scoped Token으로 발급

metric 조회

발급받은 Access Token을 bearer token으로 사용하여 /artifactory/api/v1/metrics 경로를 통해 메트릭을 수집할 수 있습니다.

curl -H "Authorization: Bearer TOKEN" http://{artifactory_url}/artifactory/api/v1/metrics

예시 결과

Prometheus 연동

ScrapeConfig 작성

Standalone 운영시 config 예시

job_name: 'artifactory'
    metrics_path: /artifactory/api/v1/metrics
    static_configs:
      - targets:
        - <artifactory IP>:8081
    bearer_token: "<access token 입력>"

K8S Pod로 운영시 config 예시

job_name: 'artifactory'
    metrics_path: /artifactory/api/v1/metrics
    kubernetes_sd_configs:
      - role: pod
        namespaces:
          names: ['<artifactory 운영중인 namespace>']
    relabel_configs:
      - source_labels: [__meta_kubernetes_pod_label_role]
        regex: <artifactory pod의 role lable 값 (예: artifactory-ha-artifactory-ha-primary)>
        action: keep
      - source_labels: [__meta_kubernetes_pod_container_name]
        regex: <artifactory Container 명 (예: artifactory-ha)>
        action: keep
      - source_labels: [__meta_kubernetes_pod_container_port_number]
        regex: 8081
        action: keep
      - source_labels: [__meta_kubernetes_namespace]
        target_label: namespace
      - source_labels: [__meta_kubernetes_pod_name]
        target_label: pod
      - source_labels: [__meta_kubernetes_pod_container_name]
        target_label: container
    bearer_token: "<access token 입력>"

연동 확인

Target Service 목록

수집 Metric 목록


참고 문서

  • 레이블 없음