모니터링/prometheus

[ prometheus ] scrape 설정

김붕어87 2023. 9. 26. 15:21
반응형
개요
prometheus server가 exporter 메트릭을 수집(scrape) 갑니다.
exporter 메트릭을 수집(scrape)하기 위해서는 "ScrapeConfigs" 설정에서 job_name 별로 설정해야합니다.

https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

 

1. Scrape 옵션 설명

  • job_name : 수집한 데이터를 구분하기 위한 이름입니다.
  • scrape_interval : 수집할 간격
  • metrics_path : URL Path
  • static_configs : 지정한 Target IP만 데이터를 수집합니다.
  • kubernetes_sd_configs : SD(Service Discovery)으로 지정한 옵션으로 모든 정보를 찾아서 메트릭을 수집합니다.

 

 

2. static_configs

  • static_configs은 지정한 Targer 정보만 수집합니다.
      - job_name: actuator-static
        scrape_interval: 15s
        metrics_path: /ddo/api/actuator/prometheus
        static_configs:
          - targets: ["x.x.x.x:8080"]

 

3. dns_sd_configs

  • DNS SD(Service Discovery)을 사용해서 옵션에 설정한 DNS 정보를 수집합니다.
  • ex) nginx.testnamespace.svc.cluster.local
      - job_name: actuator-dns
        scrape_interval: 15s
        metrics_path: /ddo/api/actuator/prometheus
        dns_sd_configs:
        - names:
          - podName.Namespaces.svc.cluster.local
          type: 'A'
          port: 8080

 

 

4. kubernetes_sd_configs

      - job_name: actuator-check1   # job_name 메트릭 수집 구분하기 위한 이름
        scrape_interval: 15s  # 수집 간격
        metrics_path: /ddo/api/actuator/prometheus   # url path
        kubernetes_sd_configs:   # service discovery 사용
        - role: pod     # pod 만 찾기
        relabel_configs:
          - source_labels: [__meta_kubernetes_namespace]  # 네임스페이스
            action: keep   # regex에 지정한 내용 빼고 나머지는 삭제(drop)
            regex: 'testnamespace' # testnamespace만 찾기
          - source_labels: [__meta_kubernetes_namespace] 
            target_label: kubernetes_namespace # 네임스페이스 target_lable 지정
          - source_labels: [__meta_kubernetes_pod_name]
            target_label: kubernetes_pod_name  # pod이름 targer_label 지정

 

 

      - job_name: actuator-check1   # job_name 메트릭 수집 구분하기 위한 이름
        scrape_interval: 15s  # 수집 간격
        metrics_path: /ddo/api/actuator/prometheus   # url path
        kubernetes_sd_configs:   # service discovery 사용
        - role: pod     # pod 만 찾기
        relabel_configs:
          - source_labels: [__meta_kubernetes_pod_name]  # 네임스페이스
            action: keep   # regex에 지정한 내용 빼고 나머지는 삭제(drop)
            regex: '(test-nginx-front.*)' # test-nginx-front 이름으로 시작하는 pod 찾기
          - source_labels: [__meta_kubernetes_namespace] 
            target_label: kubernetes_namespace # 네임스페이스 target_lable 지정
          - source_labels: [__meta_kubernetes_pod_name]
            target_label: kubernetes_pod_name  # pod이름 targer_label 지정

 

 

반응형

'모니터링 > prometheus' 카테고리의 다른 글

fluent-bit  (0) 2023.10.18
[ AMP ] Amazon Managed service for Prometheus 구축  (0) 2023.10.05
[ prometheus ] blackbox exporter  (0) 2023.09.26
[OpenTelemetry] 설치  (0) 2023.09.07
[ Loki ] 설치  (0) 2023.06.24