반응형
개요
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
- sd 메뉴얼 : https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
- 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 |