From 8b4effaba0fe790121727fe4b7795ecda94ee3f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=81LFALVI=20Tam=C3=A1s?= <tamas.palfalvi@inbuss.hu> Date: Sat, 28 Nov 2020 21:22:36 +0100 Subject: [PATCH] update examples and regenerate manifests --- README.md | 1 + ...prometheus-rules-and-grafana-dashboards.md | 1 + example.jsonnet | 1 + examples/kustomize.jsonnet | 1 + kustomization.yaml | 5 ++ .../blackbox-exporter-configuration.yaml | 38 +++++++++++ manifests/blackbox-exporter-deployment.yaml | 67 +++++++++++++++++++ manifests/blackbox-exporter-service.yaml | 15 +++++ .../blackbox-exporter-serviceAccount.yaml | 5 ++ .../blackbox-exporter-serviceMonitor.yaml | 16 +++++ 10 files changed, 150 insertions(+) create mode 100644 manifests/blackbox-exporter-configuration.yaml create mode 100644 manifests/blackbox-exporter-deployment.yaml create mode 100644 manifests/blackbox-exporter-service.yaml create mode 100644 manifests/blackbox-exporter-serviceAccount.yaml create mode 100644 manifests/blackbox-exporter-serviceMonitor.yaml diff --git a/README.md b/README.md index c8afb50b..eff1e4e9 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,7 @@ local kp = // serviceMonitor is separated so that it can be created after the CRDs are ready { 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } + { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + +{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } + { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + diff --git a/docs/developing-prometheus-rules-and-grafana-dashboards.md b/docs/developing-prometheus-rules-and-grafana-dashboards.md index ee7be4e0..f9decdcd 100644 --- a/docs/developing-prometheus-rules-and-grafana-dashboards.md +++ b/docs/developing-prometheus-rules-and-grafana-dashboards.md @@ -34,6 +34,7 @@ local kp = // serviceMonitor is separated so that it can be created after the CRDs are ready { 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } + { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + +{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } + { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + diff --git a/example.jsonnet b/example.jsonnet index 15a801f8..a459460d 100644 --- a/example.jsonnet +++ b/example.jsonnet @@ -22,6 +22,7 @@ local kp = // serviceMonitor is separated so that it can be created after the CRDs are ready { 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } + { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + +{ ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } + { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + diff --git a/examples/kustomize.jsonnet b/examples/kustomize.jsonnet index 38dd6c89..7b1cf6a2 100644 --- a/examples/kustomize.jsonnet +++ b/examples/kustomize.jsonnet @@ -16,6 +16,7 @@ local manifests = // serviceMonitor is separated so that it can be created after the CRDs are ready { 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } + { ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } + + { ['blackbox-exporter-' + name]: kp.blackboxExporter[name] for name in std.objectFields(kp.blackboxExporter) } + { ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } + { ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } + { ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } + diff --git a/kustomization.yaml b/kustomization.yaml index b067b22f..bd00d54f 100644 --- a/kustomization.yaml +++ b/kustomization.yaml @@ -6,6 +6,11 @@ resources: - ./manifests/alertmanager-service.yaml - ./manifests/alertmanager-serviceAccount.yaml - ./manifests/alertmanager-serviceMonitor.yaml +- ./manifests/blackbox-exporter-configuration.yaml +- ./manifests/blackbox-exporter-deployment.yaml +- ./manifests/blackbox-exporter-service.yaml +- ./manifests/blackbox-exporter-serviceAccount.yaml +- ./manifests/blackbox-exporter-serviceMonitor.yaml - ./manifests/grafana-dashboardDatasources.yaml - ./manifests/grafana-dashboardDefinitions.yaml - ./manifests/grafana-dashboardSources.yaml diff --git a/manifests/blackbox-exporter-configuration.yaml b/manifests/blackbox-exporter-configuration.yaml new file mode 100644 index 00000000..497945ec --- /dev/null +++ b/manifests/blackbox-exporter-configuration.yaml @@ -0,0 +1,38 @@ +apiVersion: v1 +data: + config.yml: |- + "modules": + "http_2xx": + "prober": "http" + "http_post_2xx": + "http": + "method": "POST" + "prober": "http" + "irc_banner": + "prober": "tcp" + "tcp": + "query_response": + - "send": "NICK prober" + - "send": "USER prober prober prober :prober" + - "expect": "PING :([^ ]+)" + "send": "PONG ${1}" + - "expect": "^:[^ ]+ 001" + "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-" + "tcp_connect": + "prober": "tcp" +kind: ConfigMap +metadata: + name: blackbox-exporter-configuration + namespace: monitoring diff --git a/manifests/blackbox-exporter-deployment.yaml b/manifests/blackbox-exporter-deployment.yaml new file mode 100644 index 00000000..c7874949 --- /dev/null +++ b/manifests/blackbox-exporter-deployment.yaml @@ -0,0 +1,67 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/name: blackbox-exporter + app.kubernetes.io/version: v0.18.0 + name: blackbox-exporter + namespace: monitoring +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: blackbox-exporter + template: + metadata: + labels: + app.kubernetes.io/name: blackbox-exporter + app.kubernetes.io/version: v0.18.0 + spec: + containers: + - image: quay.io/prometheus/blackbox-exporter:v0.18.0 + name: blackbox-exporter + ports: + - containerPort: 9115 + name: http + resources: + limits: + cpu: 20m + memory: 40Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + runAsNonRoot: true + runAsUser: 65534 + volumeMounts: + - mountPath: /etc/blackbox_exporter/ + name: config + readOnly: true + - args: + - --webhook-url=http://localhost:9115/-/reload + - --volume-dir=/etc/blackbox_exporter/ + image: jimmidyson/configmap-reload:v0.4.0 + name: module-configmap-reloader + resources: + limits: + cpu: 20m + memory: 40Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + runAsNonRoot: true + runAsUser: 65534 + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: FallbackToLogsOnError + volumeMounts: + - mountPath: /etc/blackbox_exporter/ + name: config + readOnly: true + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: blackbox-exporter + volumes: + - configMap: + name: blackbox-exporter-configuration + name: config diff --git a/manifests/blackbox-exporter-service.yaml b/manifests/blackbox-exporter-service.yaml new file mode 100644 index 00000000..b4895e71 --- /dev/null +++ b/manifests/blackbox-exporter-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: blackbox-exporter + app.kubernetes.io/version: v0.18.0 + name: blackbox-exporter + namespace: monitoring +spec: + ports: + - name: http + port: 9115 + targetPort: http + selector: + app.kubernetes.io/name: blackbox-exporter diff --git a/manifests/blackbox-exporter-serviceAccount.yaml b/manifests/blackbox-exporter-serviceAccount.yaml new file mode 100644 index 00000000..ac2acefb --- /dev/null +++ b/manifests/blackbox-exporter-serviceAccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: blackbox-exporter + namespace: monitoring diff --git a/manifests/blackbox-exporter-serviceMonitor.yaml b/manifests/blackbox-exporter-serviceMonitor.yaml new file mode 100644 index 00000000..ae39c5a8 --- /dev/null +++ b/manifests/blackbox-exporter-serviceMonitor.yaml @@ -0,0 +1,16 @@ +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + labels: + app.kubernetes.io/name: blackbox-exporter + app.kubernetes.io/version: v0.18.0 + name: blackbox-exporter + namespace: monitoring +spec: + endpoints: + - interval: 30s + path: /metrics + port: http + selector: + matchLabels: + app.kubernetes.io/name: blackbox-exporter -- GitLab