apiVersion: v1kind: ReplicationControllermetadata: name: blackbox-exporterspec: replicas: 1 selector: app: blackbox-exporter template: metadata: name: blackbox-exporter labels: app: blackbox-exporter spec: containers: - image: prom/blackbox-exporter:latest name: blackbox-exporter ports: - containerPort: 9115 name: blackbox apiVersion: v1kind: Servicemetadata: name: prometheus namespace: default annotations: prometheus.io/probe: "true"spec: ports: - port: 9090 protocol: TCP targetPort: 9090 selector: name: prometheus type: NodePortapiVersion: v1kind: Servicemetadata: name: grafana namespace: default annotations: prometheus.io/probe: "true"spec: ports: - port: 3000 protocol: TCP targetPort: 3000 selector: name: grafana type: NodePort # Example scrape config for probing services via the Blackbox Exporter. # # The relabeling allows the actual service scrape endpoint to be configured # via the following annotations: # # * `prometheus.io/probe`: Only probe services that have a value of `true` - job_name: 'kubernetes-services'
metrics_path: /probe params: module: [http_2xx]
tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs: - role: service
relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] action: keep regex: true - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: blackbox-exporter:9115 - source_labels: [__param_target] target_label: instance - action: labelmap regex: __meta_kubernetes_service_label_(.+) - source_labels: [__meta_kubernetes_namespace] target_label: kubernetes_namespace - source_labels: [__meta_kubernetes_service_name] target_label: kubernetes_name/ # ping grafana:3000
PING grafana:3000 (10.109.98.118): 56 data bytes
^C
--- grafana:3000 ping statistics ---
78 packets transmitted, 0 packets received, 100% packet los