From 5624c5a9a8ac90f985a7624b1d98f93bd0eb1d73 Mon Sep 17 00:00:00 2001 From: paulfantom <pawel@krupa.net.pl> Date: Fri, 15 Jan 2021 09:26:57 +0100 Subject: [PATCH] jsonnet: refactor the rest of mixins and grafana inclusion Signed-off-by: paulfantom <pawel@krupa.net.pl> --- example.jsonnet | 2 +- .../kube-prometheus/grafana/grafana.libsonnet | 2 +- .../kube-prometheus/kube-prometheus.libsonnet | 9 ++++++-- .../kube-prometheus/mixin/custom.libsonnet | 6 ++--- .../mixin/kubernetes.libsonnet | 22 +++++++++---------- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/example.jsonnet b/example.jsonnet index 94a40b70..8cc37f9c 100644 --- a/example.jsonnet +++ b/example.jsonnet @@ -14,7 +14,7 @@ local kp = }, }; -{ ['setup/0namespace-namespace']: kp.kubePrometheus.namespace } + +{ 'setup/0namespace-namespace': kp.kubePrometheus.namespace } + { ['setup/prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.filter((function(name) name != 'serviceMonitor' && name != 'prometheusRule'), std.objectFields(kp.prometheusOperator)) diff --git a/jsonnet/kube-prometheus/grafana/grafana.libsonnet b/jsonnet/kube-prometheus/grafana/grafana.libsonnet index d20c0b70..4dfe516c 100644 --- a/jsonnet/kube-prometheus/grafana/grafana.libsonnet +++ b/jsonnet/kube-prometheus/grafana/grafana.libsonnet @@ -60,7 +60,7 @@ function(params) { dashboardDefinitions: if std.length(g.config.dashboards) > 0 then { apiVersion: 'v1', kind: 'ConfigMapList', - items: g.dashboardDefinitions, + items: glib.grafana.dashboardDefinitions, }, serviceMonitor: { apiVersion: 'monitoring.coreos.com/v1', diff --git a/jsonnet/kube-prometheus/kube-prometheus.libsonnet b/jsonnet/kube-prometheus/kube-prometheus.libsonnet index 709cbfe9..fbf5963d 100644 --- a/jsonnet/kube-prometheus/kube-prometheus.libsonnet +++ b/jsonnet/kube-prometheus/kube-prometheus.libsonnet @@ -11,6 +11,7 @@ local prometheus = import './prometheus/prometheus.libsonnet'; local prometheusOperator = import './prometheus-operator/prometheus-operator.libsonnet'; { + local all = self, alertmanager: alertmanager({ name: $._config.alertmanagerName, namespace: $._config.namespace, @@ -25,12 +26,16 @@ local prometheusOperator = import './prometheus-operator/prometheus-operator.lib version: '0.18.0', image: 'quay.io/prometheus/blackbox-exporter:v0.18.0', }), + // TODO(paulfantom) This should be done by iterating over all objects and looking for object.mixin.grafanaDashboards + local allDashboards = $.nodeExporter.mixin.grafanaDashboards + + $.prometheus.mixin.grafanaDashboards + + $.kubernetesMixin.mixin.grafanaDashboards, grafana: grafana({ namespace: $._config.namespace, version: '7.3.5', image: 'grafana/grafana:v7.3.7', - dashboards: {}, prometheusName: $._config.prometheusName, + dashboards: allDashboards, }), kubeStateMetrics: kubeStateMetrics({ namespace: $._config.namespace, @@ -106,4 +111,4 @@ local prometheusOperator = import './prometheus-operator/prometheus-operator.lib prometheus: $._config.prometheusName, }, }, -} +} \ No newline at end of file diff --git a/jsonnet/kube-prometheus/mixin/custom.libsonnet b/jsonnet/kube-prometheus/mixin/custom.libsonnet index d1c0b086..278ddc76 100644 --- a/jsonnet/kube-prometheus/mixin/custom.libsonnet +++ b/jsonnet/kube-prometheus/mixin/custom.libsonnet @@ -9,9 +9,9 @@ local defaults = { mixin: { ruleLabels: {}, _config: { - nodeExporterSelector: 'job="node-exporter"', - hostNetworkInterfaceSelector: 'device!~"veth.+"', - }, + nodeExporterSelector: 'job="node-exporter"', + hostNetworkInterfaceSelector: 'device!~"veth.+"', + }, }, }; diff --git a/jsonnet/kube-prometheus/mixin/kubernetes.libsonnet b/jsonnet/kube-prometheus/mixin/kubernetes.libsonnet index b3bc563e..f399a529 100644 --- a/jsonnet/kube-prometheus/mixin/kubernetes.libsonnet +++ b/jsonnet/kube-prometheus/mixin/kubernetes.libsonnet @@ -9,17 +9,17 @@ local defaults = { mixin: { ruleLabels: {}, _config: { - cadvisorSelector: 'job="kubelet", metrics_path="/metrics/cadvisor"', - kubeletSelector: 'job="kubelet", metrics_path="/metrics"', - kubeStateMetricsSelector: 'job="kube-state-metrics"', - nodeExporterSelector: 'job="node-exporter"', - kubeSchedulerSelector: 'job="kube-scheduler"', - kubeControllerManagerSelector: 'job="kube-controller-manager"', - kubeApiserverSelector: 'job="apiserver"', - podLabel: 'pod', - runbookURLPattern: 'https://github.com/prometheus-operator/kube-prometheus/wiki/%s', - diskDeviceSelector: 'device=~"mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+"', - hostNetworkInterfaceSelector: 'device!~"veth.+"', + cadvisorSelector: 'job="kubelet", metrics_path="/metrics/cadvisor"', + kubeletSelector: 'job="kubelet", metrics_path="/metrics"', + kubeStateMetricsSelector: 'job="kube-state-metrics"', + nodeExporterSelector: 'job="node-exporter"', + kubeSchedulerSelector: 'job="kube-scheduler"', + kubeControllerManagerSelector: 'job="kube-controller-manager"', + kubeApiserverSelector: 'job="apiserver"', + podLabel: 'pod', + runbookURLPattern: 'https://github.com/prometheus-operator/kube-prometheus/wiki/%s', + diskDeviceSelector: 'device=~"mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+"', + hostNetworkInterfaceSelector: 'device!~"veth.+"', }, }, }; -- GitLab