Prometheus 블랙박스 내보내기 프로그램을 사용하여 가용성 메트릭 구성
Prometheus 블랙박스 내보내기 프로그램은 HTTP, HTTPS, DNS, TCP 및 ICMP를 통해 엔드포인트의 블랙박스 프로브를 허용합니다. 모니터링 에이전트는 가용성 메트릭을 수집하기 위해 블랙박스 내보내기 프로그램과 함께 사용할 수 있습니다. 그런 다음 가용성 메트릭은 사용자에게 엔드포인트의 가용성에 대해 경보를 발행할 수 있도록 IBM Cloud Monitoring 내에서 경보가 발행될 수 있습니다.
Prometheus 블랙박스 내보내기 프로그램을 구성하려면 다음 단계를 완료하십시오.
모니터링 에이전트를 구성하여 메트릭 수집
하나 이상의 호스트를 모니터하려면 모니터링 에이전트를 구성해야 합니다. 이 에이전트는 모니터링 UI를 통해 모니터할 수 있는 메트릭 세트를 자동으로 수집합니다.
인프라별로 에이전트 유형 선택하기를 참고하여 호스트 모니터링을 위해 구성하고자 하는 모니터링 에이전트를 선택합니다.
Prometheus 블랙박스 내보내기 프로그램 설치
블랙박스 내보내기 프로그램을 Docker 컨테이너로 실행하려면 다음 단계를 완료하십시오.
-
Github에서 blackbox.yml 파일 을 다운로드하십시오.
파일을
/config/prometheus/blackbox/디렉토리에 저장하십시오. -
블랙박스 내보내기 프로그램을 Docker 컨테이너로 실행하십시오.
docker run --rm -d -p 9115:9115 -l io.prometheus.scrape=true -l io.prometheus.port=9115 -l io.prometheus.path=/probe --name blackbox_exporter -v `pwd`:/config/prometheus/blackbox prom/blackbox-exporter:master --config.file=/config/prometheus/blackbox/blackbox.yml -
내보내기 프로그램이 작동하는지 확인하십시오. 다음 명령을 실행하십시오.
docker container ls다음과 같은 출력이 표시될 수 있습니다.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2480a0034bb4 prom/blackbox-exporter:master "/bin/blackbox_expor…" 36 minutes ago Up 36 minutes 0.0.0.0:9115->9115/tcp blackbox_exporter블랙박스 컨테이너를 중지하려면
docker container stop 2480a0034bb4명령을 실행하십시오.
네트워크 설정 구성
원격 서버에서 메트릭을 수집하려면 다음 단계를 완료하십시오.
-
blackbox_exporter에 액세스할 수 있도록 방화벽을 사용으로 설정하십시오. -
[옵션] VPC 규칙 업데이트
사설 엔드포인트를 사용하는 경우 인바운드 규칙을
9115인 포트source type = Security Group에 대한 보안 그룹에 추가하고 적합한 보안 그룹을 선택하십시오.
서버에서 실행 중인 모니터링 에이전트 업데이트
다음 명령을 실행하여 configmap을 편집하고 Kubernetes 모니터링 에이전트를 사용하여 모니터할 블랙박스 대상에 대한 정보를 추가하십시오.
kubectl edit configmap sysdig-agent -n ibm-observe
log:
file_priority: error
configmap: true
### Agent tags
# tags: linux:ubuntu,dept:dev,local:nyc
#### Monitoring Software related config ####
# Monitoring collector address
# collector: 192.168.1.1
# Collector TCP port
# collector_port: 6666
# Whether collector accepts ssl
# ssl: true
# collector certificate validation
# ssl_verify_certificate: true
#######################################
# new_k8s: true
# k8s_cluster_name: production
security:
k8s_audit_server_url: 0.0.0.0
k8s_audit_server_port: 7765
k8s_cluster_name: <CLUSTER_NAME>/<CLUSTER_ID>
tags: ibm.containers-kubernetes.cluster.id:<CLUSTER_ID>
collector: <INGESTION_ENDPOINT>
collector_port: 6443
ssl: true
ssl_verify_certificate: true
sysdig_capture_enabled: false
promscrape_fastproto: true
use_promscrape: true
prometheus:
enabled: true
prom_service_discovery: true
log_errors: true
max_metrics: 200000
max_metrics_per_process: 200000
max_tags_per_metric: 100
ingest_raw: true
ingest_calculated: false
prometheus.yaml:
----
global:
scrape_interval: 10s
scrape_configs:
- job_name: blackbox
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- https://prometheus.io/
- https://www.google.com/search?q=promcat
- https://www.ibm.com/software/passportadvantage
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- source_labels: [__param_target]
target_label: blackbox_instance
- target_label: __address__
replacement: blackbox-exporter.ibm-observe:9115
여기서,
<IP_ADDRESS_OF_REMOTE_SERVER>은(는) 모니터하려는 서버의 IP 주소입니다.<INGESTION_ENDPOINT>은(는) IBM Cloud Monitoring 인스턴스 수집 엔드포인트입니다(예:ingest.us-south.monitoring.cloud.ibm.com). 콜렉터 엔드포인트를 참조하십시오.
파일을 저장하면 변경사항이 적용됩니다.
기본 대시보드 및 경보를 구성하여 서버의 블랙박스 상태를 분석하십시오.
다음 단계를 완료하십시오.
-
모니터링 UI를 실행하십시오.
-
대시보드를 작성하십시오.
-
다음 조회 각각에 대한 패널을 추가하십시오.
| 메트릭 | 조회 | 옵션 |
|---|---|---|
| 인스턴스별 상태 코드 | probe_http_status_code{instance=$instance} |
number (auto) |
| SSL 인증서 만료(일) | probe_ssl_earliest_cert_expiry{instance=$instance}-time() |
time (auto) |
| DNS 검색 | probe_dns_lookup_time_seconds{instance=$instance} |
time (auto) |
| 프로브 기간 | probe_duration_seconds{instance=$instance} |
time (auto) |
예를 들어, 다음과 같은 대시보드를 작성할 수 있습니다.