diff --git a/cluster/monitoring/blackbox-exporter.yaml b/cluster/monitoring/blackbox-exporter.yaml index 62a63a8d9..a2dc618a1 100644 --- a/cluster/monitoring/blackbox-exporter.yaml +++ b/cluster/monitoring/blackbox-exporter.yaml @@ -32,9 +32,12 @@ spec: prober: http timeout: 30s http: - valid_http_versions: ["HTTP/1.1", "HTTP/2"] + valid_http_versions: ["HTTP/1.1","HTTP/2.0"] no_follow_redirects: false preferred_ip_protocol: "ip4" + tcp_connect: + prober: tcp + timeout: 30s serviceMonitor: enabled: true defaults: diff --git a/cluster/monitoring/kube-prometheus-stack.yaml b/cluster/monitoring/kube-prometheus-stack.yaml index 2473864d4..6a5e26603 100644 --- a/cluster/monitoring/kube-prometheus-stack.yaml +++ b/cluster/monitoring/kube-prometheus-stack.yaml @@ -188,34 +188,82 @@ spec: # The relabeling allows the actual ingress scrape endpoint to be configured # via the following annotations: # - # * `prometheus.io/probe`: Only probe services that have a value of `true` - - job_name: 'kubernetes-ingresses' + # * `prometheus.io/probe`: Only probe ingresses that have a value of `true` + - job_name: 'kubernetes-ingresses' + metrics_path: /probe + params: + module: [http_2xx] + kubernetes_sd_configs: + - role: ingress + relabel_configs: + - source_labels: [__meta_kubernetes_ingress_annotation_prometheus_io_probe] + action: keep + regex: true + - source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path] + regex: (.+);(.+);(.+) + replacement: ${1}://${2}${3} + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter-prometheus-blackbox-exporter:9115 + - source_labels: [__param_target] + target_label: instance + - action: labelmap + regex: __meta_kubernetes_ingress_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_ingress_name] + target_label: kubernetes_name + - job_name: 'kubernetes-services-http' + metrics_path: /probe + params: + module: [http_2xx] + kubernetes_sd_configs: + - role: service + relabel_configs: + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] + action: keep + regex: true + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_protocol] + action: keep + regex: http + - source_labels: [__address__] + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter-prometheus-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 + - job_name: 'kubernetes-services-tcp' + metrics_path: /probe + params: + module: [tcp_connect] + kubernetes_sd_configs: + - role: service + relabel_configs: + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] + action: keep + regex: true + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_protocol] + action: keep + regex: tcp + - source_labels: [__address__] + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter-prometheus-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 - metrics_path: /probe - params: - module: [http_2xx] - - kubernetes_sd_configs: - - role: ingress - - relabel_configs: - - source_labels: [__meta_kubernetes_ingress_annotation_prometheus_io_probe] - action: keep - regex: true - - source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path] - regex: (.+);(.+);(.+) - replacement: ${1}://${2}${3} - target_label: __param_target - - target_label: __address__ - replacement: blackbox-exporter-prometheus-blackbox-exporter:9115 - - source_labels: [__param_target] - target_label: instance - - action: labelmap - regex: __meta_kubernetes_ingress_label_(.+) - - source_labels: [__meta_kubernetes_namespace] - target_label: kubernetes_namespace - - source_labels: [__meta_kubernetes_ingress_name] - target_label: kubernetes_name valuesFrom: - kind: ConfigMap name: helmrelease-monitoring-prometheus-stack