Monitoring HTTP endpoints (BlackboxExporter)
prometheus operator를 사용 시 blackbox exporter를 활용해 http나 icmp 등 모니터링을 하고자 한다면 2가지 방법이 있다. 1. configmap을 만들어서 prometheus.yaml을 직접 등록하는 방법, 2. probe kind를 사용하여 operator가 service monitor 처럼 lifecycle을 관리하는 방법 이때 1번은 매번 configmap을 수정해주고 prometheus를 restart 해줘야 하고 configmap을 통합해야 함. 2번 probe kind를 사용 하는 방법이 더 좋다. (러닝커브가 있음)
kind: Probe
apiVersion: monitoring.coreos.com/v1
metadata:
name: example-com-website
namespace: monitoring
spec:
interval: 15s
module: http_2xx
prober:
url: blackbox-exporter.monitoring.svc.cluster.local:19115
targets:
staticConfig:
static:
- http://example.com
- https://example.com
---
kind: Probe
apiVersion: monitoring.coreos.com/v1
metadata:
name: example-ssh
namespace: monitoring
spec:
interval: 15s
jobName: ssh-test
prober:
url: ssh-exporter.monitoring.svc.cluster.local:9512
scheme: http
path: /ssh
targets:
staticConfig:
static:
- 10.x.x.x:22
참조:
https://github.com/prometheus-operator/kube-prometheus/blob/main/docs/blackbox-exporter.md