diff --git a/jsonnet/kube-prometheus/components/grafana.libsonnet b/jsonnet/kube-prometheus/components/grafana.libsonnet index 9f18e4b0ea7be793c20490044ed896401644023f..e6879d4a5cf0cb9c0800891b4961c18a1af2e78d 100644 --- a/jsonnet/kube-prometheus/components/grafana.libsonnet +++ b/jsonnet/kube-prometheus/components/grafana.libsonnet @@ -1,3 +1,5 @@ +local kubernetesGrafana = import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet'; + local defaults = { local defaults = self, name: 'grafana', @@ -20,88 +22,35 @@ local defaults = { if !std.setMember(labelName, ['app.kubernetes.io/version']) }, prometheusName: error 'must provide prometheus name', - dashboards: {}, - // TODO(paulfantom): expose those to have a stable API. After kubernetes-grafana refactor those could probably be removed. - rawDashboards: {}, - folderDashboards: {}, - containers: [], - datasources: [], - config: {}, - ldap: null, - plugins: [], - env: [], }; -function(params) { - local g = self, - _config:: defaults + params, +function(params) + local config = defaults + params; // Safety check - assert std.isObject(g._config.resources), + assert std.isObject(config.resources); - local glib = (import 'github.com/brancz/kubernetes-grafana/grafana/grafana.libsonnet') + { - _config+:: { - namespace: g._config.namespace, - versions+:: { - grafana: g._config.version, - }, - imageRepos+:: { - grafana: std.split(g._config.image, ':')[0], - }, - prometheus+:: { - name: g._config.prometheusName, - }, - grafana+:: { - labels: g._config.commonLabels, - dashboards: g._config.dashboards, - resources: g._config.resources, - rawDashboards: g._config.rawDashboards, - folderDashboards: g._config.folderDashboards, - containers: g._config.containers, - config+: g._config.config, - ldap: g._config.ldap, - plugins+: g._config.plugins, - env: g._config.env, - } + ( - // Conditionally overwrite default setting. - if std.length(g._config.datasources) > 0 then - { datasources: g._config.datasources } - else {} - ), - }, - }, + kubernetesGrafana(config) { + local g = self, + _config+:: config, - config: glib.grafana.config, - service: glib.grafana.service, - serviceAccount: glib.grafana.serviceAccount, - deployment: glib.grafana.deployment, - dashboardDatasources: glib.grafana.dashboardDatasources, - dashboardSources: glib.grafana.dashboardSources, - - dashboardDefinitions: if std.length(g._config.dashboards) > 0 || - std.length(g._config.rawDashboards) > 0 || - std.length(g._config.folderDashboards) > 0 then { - apiVersion: 'v1', - kind: 'ConfigMapList', - items: glib.grafana.dashboardDefinitions, - }, - serviceMonitor: { - apiVersion: 'monitoring.coreos.com/v1', - kind: 'ServiceMonitor', - metadata: { - name: 'grafana', - namespace: g._config.namespace, - labels: g._config.commonLabels, - }, - spec: { - selector: { - matchLabels: { - 'app.kubernetes.io/name': 'grafana', + serviceMonitor: { + apiVersion: 'monitoring.coreos.com/v1', + kind: 'ServiceMonitor', + metadata: { + name: 'grafana', + namespace: g._config.namespace, + labels: g._config.commonLabels, + }, + spec: { + selector: { + matchLabels: { + 'app.kubernetes.io/name': 'grafana', + }, }, + endpoints: [{ + port: 'http', + interval: '15s', + }], }, - endpoints: [{ - port: 'http', - interval: '15s', - }], }, - }, -} + } diff --git a/jsonnet/kube-prometheus/main.libsonnet b/jsonnet/kube-prometheus/main.libsonnet index 877619b25c6895b847c77a8a1e4c56df4b76f88e..cccc7933df137ca8ba989a112b0be6ada1dea89d 100644 --- a/jsonnet/kube-prometheus/main.libsonnet +++ b/jsonnet/kube-prometheus/main.libsonnet @@ -39,7 +39,7 @@ local utils = import './lib/utils.libsonnet'; images: { alertmanager: 'quay.io/prometheus/alertmanager:v' + $.values.common.versions.alertmanager, blackboxExporter: 'quay.io/prometheus/blackbox-exporter:v' + $.values.common.versions.blackboxExporter, - grafana: 'grafana/grafana:v' + $.values.common.versions.grafana, + grafana: 'grafana/grafana:' + $.values.common.versions.grafana, kubeStateMetrics: 'k8s.gcr.io/kube-state-metrics/kube-state-metrics:v' + $.values.common.versions.kubeStateMetrics, nodeExporter: 'quay.io/prometheus/node-exporter:v' + $.values.common.versions.nodeExporter, prometheus: 'quay.io/prometheus/prometheus:v' + $.values.common.versions.prometheus, diff --git a/jsonnetfile.lock.json b/jsonnetfile.lock.json index 04bbfc78e4fac62104cb9141db477638dde4b85e..e4b457a66d1eb821a3dcda37242e9d8f47ffb1b5 100644 --- a/jsonnetfile.lock.json +++ b/jsonnetfile.lock.json @@ -8,8 +8,8 @@ "subdir": "grafana" } }, - "version": "c3b14b24b83cfe9abf1064649d19e2d679f033fb", - "sum": "YrE4DNQsWgYWs6h0j/FjQETt8xDXdYdsslb1WK7xQEk=" + "version": "199e363523104ff8b3a12483a4e3eca86372b078", + "sum": "/jDHzVAjHB4AOLkJHw1GyATX5ogZ1iMdcJXZAgaG3+g=" }, { "source": { @@ -18,8 +18,8 @@ "subdir": "contrib/mixin" } }, - "version": "c72947d87fce5d2b49a5494b5bb484573bd7eb11", - "sum": "IF9N4i2Zgl4vm3ZHe3MDptcqLswNESKy9NMz9av8Im0=" + "version": "38a7d79810bd273bd078bf0931480b743afee003", + "sum": "drRRtMPhvpUZ8v7Weqz7Cg2pwDA2cSb6X1pjBPoCx1w=" }, { "source": { @@ -38,7 +38,7 @@ "subdir": "grafana-builder" } }, - "version": "2ed138b205717af721af57b572bc7cd63bda62fd", + "version": "87b6b50706dfa57b2470470422770f8e7574b7db", "sum": "U34Nd1ViO2LZ3D8IzygPPRfUcy6zOgCnTMVHZ+9O/QE=" }, { @@ -48,8 +48,8 @@ "subdir": "" } }, - "version": "06d00e40b43e4e618afbebe8e453b5650c659015", - "sum": "oT6Vw714HjoFtnay2WFzzRk/TP2McDaYIEHI2GqNuWY=" + "version": "8dc2c0d69f762d943c5bfbdcc17645e346d610ca", + "sum": "TamniMXp0Jy6E5OMOYtcrTJ1P+rFTVNuiOZSkxvckb8=" }, { "source": { @@ -58,7 +58,7 @@ "subdir": "lib/promgrafonnet" } }, - "version": "06d00e40b43e4e618afbebe8e453b5650c659015", + "version": "8dc2c0d69f762d943c5bfbdcc17645e346d610ca", "sum": "zv7hXGui6BfHzE9wPatHI/AGZa4A2WKo6pq7ZdqBsps=" }, { @@ -68,7 +68,7 @@ "subdir": "jsonnet/kube-state-metrics" } }, - "version": "1e9d07bfe1509b04f6f5183c4635da2a88d14cbd", + "version": "b730cb415234509e6a1425c79e826f2e7688d27b", "sum": "U1wzIpTAtOvC1yj43Y8PfvT0JfvnAcMfNH12Wi+ab0Y=" }, { @@ -78,7 +78,7 @@ "subdir": "jsonnet/kube-state-metrics-mixin" } }, - "version": "1e9d07bfe1509b04f6f5183c4635da2a88d14cbd", + "version": "b730cb415234509e6a1425c79e826f2e7688d27b", "sum": "u8gaydJoxEjzizQ8jY8xSjYgWooPmxw+wIWdDxifMAk=" }, { @@ -88,7 +88,7 @@ "subdir": "jsonnet/mixin" } }, - "version": "0a38647379a5e93f639bf8e634deabcc32e01fb6", + "version": "f710e9d66a09efdb8edc144af555718b7d7ed2e3", "sum": "qZ4WgiweaE6eeKtFK60QUjLO8sf2L9Q8fgafWvDcyfY=", "name": "prometheus-operator-mixin" }, @@ -99,7 +99,7 @@ "subdir": "jsonnet/prometheus-operator" } }, - "version": "0a38647379a5e93f639bf8e634deabcc32e01fb6", + "version": "f710e9d66a09efdb8edc144af555718b7d7ed2e3", "sum": "4e3A/CccaxvLdWFPKJlC/P9RbPhSX6cH/Nj8+N1DBzg=" }, { @@ -109,7 +109,7 @@ "subdir": "doc/alertmanager-mixin" } }, - "version": "523c932859a8b0e4df597bd3f7b1cec6ec9ee246", + "version": "1b8afe7cb5aafe59442e35979ec57401145ea26b", "sum": "pep+dHzfIjh2SU5pEkwilMCAT/NoL6YYflV4x8cr7vU=", "name": "alertmanager" }, @@ -120,8 +120,8 @@ "subdir": "docs/node-mixin" } }, - "version": "5a38949451fb3f817e0b1f58a04e03b983f1f8a3", - "sum": "EQTMeoaso8sKLp+d/ylp5wQue4yAjZJjD0Oz7Iq41tk=" + "version": "a59b2d89903229db0019f73200ec209758f2fd26", + "sum": "Yr1xB+EEdBYRbsCtl4MDvx6phDg3UoMQtfpWADHyeGk=" }, { "source": { @@ -130,7 +130,7 @@ "subdir": "documentation/prometheus-mixin" } }, - "version": "60d099088692b6b5bf4b8f4e13f76bd3921da99e", + "version": "c092a74be9cc3e8e3db41efe3136128cef6c1add", "sum": "m4VHwft4fUcxzL4+52lLZG/V5aH5ZEdjaweb88vISL0=", "name": "prometheus" }, @@ -141,7 +141,7 @@ "subdir": "mixin" } }, - "version": "fa476b5f6f4d7015a53bcdb6f0a70ec2a1ac3bb2", + "version": "d2d53e575b489a8cbfc9e1723d0e3f62a68faf39", "sum": "Og+wEHfgzXBvBLAeeQvGNoiCw3FY4LQHlJdpsG/owj8=", "name": "thanos-mixin" }, diff --git a/manifests/grafana-dashboardDefinitions.yaml b/manifests/grafana-dashboardDefinitions.yaml index 05aaa241e083cb87c795b863131125feae28f0ed..ee1ce6768fe097c2a980579e2dcc08380b39d114 100644 --- a/manifests/grafana-dashboardDefinitions.yaml +++ b/manifests/grafana-dashboardDefinitions.yaml @@ -2252,7 +2252,7 @@ items: "options": [ ], - "query": "label_values(apiserver_request_total, cluster)", + "query": "label_values(up{job=\"apiserver\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -2278,7 +2278,7 @@ items: "options": [ ], - "query": "label_values(apiserver_request_total{job=\"apiserver\", cluster=\"$cluster\"}, instance)", + "query": "label_values(up{job=\"apiserver\", cluster=\"$cluster\"}, instance)", "refresh": 2, "regex": "", "sort": 1, @@ -11034,7 +11034,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info, cluster)", + "query": "label_values(up{job=\"kube-state-metrics\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -11061,7 +11061,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", + "query": "label_values(kube_namespace_created{cluster=\"$cluster\"}, namespace)", "refresh": 2, "regex": "", "sort": 1, @@ -12001,7 +12001,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info, cluster)", + "query": "label_values(up{job=\"kube-state-metrics\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -12028,7 +12028,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info{cluster=\"$cluster\"}, node)", + "query": "label_values(up{job=\"kube-state-metrics\", cluster=\"$cluster\"}, node)", "refresh": 2, "regex": "", "sort": 1, @@ -14390,7 +14390,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info, cluster)", + "query": "label_values(up{job=\"kube-state-metrics\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -14417,7 +14417,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", + "query": "label_values(kube_namespace_created{cluster=\"$cluster\"}, namespace)", "refresh": 2, "regex": "", "sort": 1, @@ -16338,7 +16338,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info, cluster)", + "query": "label_values(up{job=\"kube-state-metrics\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -16365,7 +16365,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info{cluster=\"$cluster\"}, namespace)", + "query": "label_values(kube_namespace_created{cluster=\"$cluster\"}, namespace)", "refresh": 2, "regex": "", "sort": 1, @@ -18500,7 +18500,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info, cluster)", + "query": "label_values(up{job=\"kube-state-metrics\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -20796,13 +20796,13 @@ items: "datasource": "$datasource", "hide": 0, "includeAll": true, - "label": null, + "label": "Data Source", "multi": false, "name": "instance", "options": [ ], - "query": "label_values(kubelet_runtime_operations_total{cluster=\"$cluster\", job=\"kubelet\", metrics_path=\"/metrics\"}, instance)", + "query": "label_values(up{job=\"kubelet\", metrics_path=\"/metrics\",cluster=\"$cluster\"}, instance)", "refresh": 2, "regex": "", "sort": 1, @@ -25008,7 +25008,7 @@ items: "value": "Prometheus" }, "hide": 0, - "label": null, + "label": "Data Source", "name": "datasource", "options": [ @@ -26060,7 +26060,7 @@ items: "value": "Prometheus" }, "hide": 0, - "label": null, + "label": "Data Source", "name": "datasource", "options": [ @@ -27067,7 +27067,7 @@ items: "value": "Prometheus" }, "hide": 0, - "label": null, + "label": "Data Source", "name": "datasource", "options": [ @@ -27580,7 +27580,7 @@ items: "value": "default" }, "hide": 0, - "label": null, + "label": "Data Source", "name": "datasource", "options": [ @@ -32976,7 +32976,7 @@ items: "options": [ ], - "query": "label_values(kube_pod_info, cluster)", + "query": "label_values(up{job=\"kube-proxy\"}, cluster)", "refresh": 2, "regex": "", "sort": 1, @@ -33002,7 +33002,7 @@ items: "options": [ ], - "query": "label_values(kubeproxy_network_programming_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\"}, instance)", + "query": "label_values(up{job=\"kube-proxy\", cluster=\"$cluster\", job=\"kube-proxy\"}, instance)", "refresh": 2, "regex": "", "sort": 1, @@ -34091,7 +34091,7 @@ items: "options": [ ], - "query": "label_values(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-scheduler\"}, instance)", + "query": "label_values(up{job=\"kube-scheduler\", cluster=\"$cluster\"}, instance)", "refresh": 2, "regex": "", "sort": 1, diff --git a/manifests/grafana-serviceAccount.yaml b/manifests/grafana-serviceAccount.yaml index 3ed3e031e7445fc347e27f8f7134d70c384f0be3..79bcbeab150c49309756ce015207e591bee30d3d 100644 --- a/manifests/grafana-serviceAccount.yaml +++ b/manifests/grafana-serviceAccount.yaml @@ -1,5 +1,10 @@ apiVersion: v1 kind: ServiceAccount metadata: + labels: + app.kubernetes.io/component: grafana + app.kubernetes.io/name: grafana + app.kubernetes.io/part-of: kube-prometheus + app.kubernetes.io/version: 8.2.1 name: grafana namespace: monitoring