From f3625652b675ec2ee29f9e66dedc754133501ab9 Mon Sep 17 00:00:00 2001 From: Arve Knudsen Date: Wed, 6 Sep 2017 12:58:32 +0200 Subject: [PATCH 1/3] Add blackbox-exporter --- .../blackbox-exporter-configmap.yaml | 43 ++++++++++++++++ .../blackbox-exporter/blackbox-exporter.yaml | 50 +++++++++++++++++++ .../servicemonitor-blackbox-exporter.yaml | 18 +++++++ 3 files changed, 111 insertions(+) create mode 100644 addons/prometheus/blackbox-exporter/blackbox-exporter-configmap.yaml create mode 100644 addons/prometheus/blackbox-exporter/blackbox-exporter.yaml create mode 100644 addons/prometheus/blackbox-exporter/servicemonitor-blackbox-exporter.yaml diff --git a/addons/prometheus/blackbox-exporter/blackbox-exporter-configmap.yaml b/addons/prometheus/blackbox-exporter/blackbox-exporter-configmap.yaml new file mode 100644 index 0000000..f20d32d --- /dev/null +++ b/addons/prometheus/blackbox-exporter/blackbox-exporter-configmap.yaml @@ -0,0 +1,43 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: blackbox-exporter-config + namespace: monitoring + labels: + addonmanager.kubernetes.io/mode: Reconcile +data: + blackbox.yaml: |- + modules: + http_2xx: + prober: http + http: + http_post_2xx: + prober: http + http: + method: POST + tcp_connect: + prober: tcp + pop3s_banner: + prober: tcp + tcp: + query_response: + - expect: "^+OK" + tls: true + tls_config: + insecure_skip_verify: false + ssh_banner: + prober: tcp + tcp: + query_response: + - expect: "^SSH-2.0-" + irc_banner: + prober: tcp + tcp: + query_response: + - send: "NICK prober" + - send: "USER prober prober prober :prober" + - expect: "PING :([^ ]+)" + send: "PONG ${1}" + - expect: "^:[^ ]+ 001" + icmp: + prober: icmp diff --git a/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml b/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml new file mode 100644 index 0000000..61fb586 --- /dev/null +++ b/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml @@ -0,0 +1,50 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + namespace: monitoring + name: blackbox-exporter +--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: blackbox-exporter + namespace: monitoring +spec: + replicas: 1 + template: + metadata: + labels: + app: blackbox-exporter + spec: + serviceAccountName: blackbox-exporter + containers: + - name: blackbox-exporter + image: quay.io/coreos/blackbox-exporter:v0.8.1 + args: [--config.file=/etc/config/blackbox.yaml] + ports: + - name: metrics + containerPort: 9115 + volumeMounts: + - name: config-volume + mountPath: /etc/config + volumes: + - name: config-volume + configMap: + name: blackbox-exporter-config +--- +apiVersion: v1 +kind: Service +metadata: + namespace: monitoring + labels: + app: blackbox-exporter + k8s-app: blackbox-exporter + name: blackbox-exporter +spec: + ports: + - name: http-metrics + port: 8080 + targetPort: metrics + protocol: TCP + selector: + app: blackbox-exporter diff --git a/addons/prometheus/blackbox-exporter/servicemonitor-blackbox-exporter.yaml b/addons/prometheus/blackbox-exporter/servicemonitor-blackbox-exporter.yaml new file mode 100644 index 0000000..65053e9 --- /dev/null +++ b/addons/prometheus/blackbox-exporter/servicemonitor-blackbox-exporter.yaml @@ -0,0 +1,18 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: blackbox-exporter + labels: + k8s-app: blackbox-exporter +spec: + jobLabel: k8s-app + selector: + matchLabels: + k8s-app: blackbox-exporter + namespaceSelector: + matchNames: + - monitoring + endpoints: + - port: http-metrics + interval: 30s + honorLabels: true From 67ca72c64f2a51c49572c676837f0760b844ccbe Mon Sep 17 00:00:00 2001 From: Arve Knudsen Date: Thu, 7 Sep 2017 10:18:42 +0200 Subject: [PATCH 2/3] Sync with latest kube-prometheus --- .../kube-state-metrics-cluster-role-binding.yaml | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml diff --git a/addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml b/addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml deleted file mode 100644 index 8284fc1..0000000 --- a/addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kube-state-metrics -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kube-state-metrics -subjects: -- kind: ServiceAccount - name: kube-state-metrics - namespace: monitoring From 632c9fabf55191b304b4cc9c1aa77644ca006cb3 Mon Sep 17 00:00:00 2001 From: Arve Knudsen Date: Thu, 7 Sep 2017 19:22:11 +0200 Subject: [PATCH 3/3] Fix blackbox-exporter --- .../blackbox-exporter/blackbox-exporter.yaml | 2 +- .../kube-state-metrics-cluster-role-binding.yaml | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml diff --git a/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml b/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml index 61fb586..c3619dd 100644 --- a/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml +++ b/addons/prometheus/blackbox-exporter/blackbox-exporter.yaml @@ -19,7 +19,7 @@ spec: serviceAccountName: blackbox-exporter containers: - name: blackbox-exporter - image: quay.io/coreos/blackbox-exporter:v0.8.1 + image: quay.io/prometheus/blackbox-exporter:v0.8.1 args: [--config.file=/etc/config/blackbox.yaml] ports: - name: metrics diff --git a/addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml b/addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml new file mode 100644 index 0000000..8284fc1 --- /dev/null +++ b/addons/prometheus/kube-state-metrics/kube-state-metrics-cluster-role-binding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: kube-state-metrics +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kube-state-metrics +subjects: +- kind: ServiceAccount + name: kube-state-metrics + namespace: monitoring