Prometheus의 file_sd_configs를 사용해보십시오.

5332 단어 prometheus
file_sd_configs를 사용해보십시오

버전



prometheus server: 1.8.0

참조



static_config와 file_sd_configs의 차이


static_configs 의 경우는 감시 대상 추가 후에 prometheus server 의 재기동이 필요하게 된다.file_sd_configs 의 경우는 감시 대상을 추가한 후 일정 시간(디폴트는 5 분) 후에 설정이 자동적으로 읽어들여 즉시 감시 대상에 편입된다.
targets 의 리스트를 prometheus.yml (디폴트의 명칭)에 직접 쓰는 것이 아니라 다른 파일에 써 놓고, file_sd_config 안에 그 파일을 지정하는 것으로 targets 를 읽어 준다. - files로 읽는 경로는 실행 디렉토리의 상대 경로이므로 ./prometheus

설정 예



prometheus.yml


- filesprometheus.yml 의 설정을 기재한 예

prometheus.yml
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      monitor: 'codelab-monitor'

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first.rules"
  # - "second.rules"
  - 'prometheus.rules'

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'file_sd' # 任意の名前
    file_sd_configs:
      - files: # 複数のファイルを読み込ませることができる。
        - /usr/local/prometheus-server/file_sd1.yml
        - /usr/local/prometheus-server/file_sd2.yml

files



files 설명 예

/usr/local/prometheus-server/file_sd1.yml
- targets:
    - 192.168.10.10:9100
    - 192.168.10.11:9100
    - 192.168.10.12:9100
  labels:
    service: web
    role: role-1

- targets:
    - 192.168.20.10:9100
    - 192.168.20.11:9100
    - 192.168.20.12:9100
  labels:
    service: db
    role: role-2

상태 확인



prometheus.yml 로 설정한 file_sd_configs 로, job_name: 'file_sd' 의 내용의 - files 에 라벨이 붙은 상태로 감시 대상에 짜넣어진 것을 확인할 수 있었다.



여기에 수동으로 대조를 추가하거나 대조를 정기적으로 통합하는 cron 처리에서도 추가하면 일단 autocaling에 대응하는 설정이 된다.

좋은 웹페이지 즐겨찾기