Merge pull request #904 from paulfantom/dashboarding_issues

Dashboarding issues
This commit is contained in:
Paweł Krupa
2021-02-02 11:09:11 +01:00
committed by GitHub
5 changed files with 97 additions and 84 deletions

View File

@@ -274,10 +274,11 @@ local template = grafana.template;
local graphPanel = grafana.graphPanel;
local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: {
values+:: {
common+:: {
namespace: 'monitoring',
},
grafana+:: {
grafana+: {
dashboards+:: {
'my-dashboard.json':
dashboard.new('My Dashboard')
@@ -304,6 +305,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
),
},
},
},
};
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
@@ -322,17 +324,16 @@ As jsonnet is a superset of json, the jsonnet `import` function can be used to i
[embedmd]:# (../examples/grafana-additional-rendered-dashboard-example.jsonnet)
```jsonnet
local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: {
values+:: {
common+:: {
namespace: 'monitoring',
},
grafanaDashboards+:: { // monitoring-mixin compatibility
'my-dashboard.json': (import 'example-grafana-dashboard.json'),
},
grafana+:: {
grafana+: {
dashboards+:: { // use this method to import your dashboards to Grafana
'my-dashboard.json': (import 'example-grafana-dashboard.json'),
},
},
},
};
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
@@ -348,14 +349,16 @@ In case you have lots of json dashboard exported out from grafana UI the above a
[embedmd]:# (../examples/grafana-additional-rendered-dashboard-example-2.jsonnet)
```jsonnet
local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: {
values+:: {
common+:: {
namespace: 'monitoring',
},
grafana+:: {
grafana+: {
rawDashboards+:: {
'my-dashboard.json': (importstr 'example-grafana-dashboard.json'),
},
},
},
};
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +

View File

@@ -6,10 +6,11 @@ local template = grafana.template;
local graphPanel = grafana.graphPanel;
local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: {
values+:: {
common+:: {
namespace: 'monitoring',
},
grafana+:: {
grafana+: {
dashboards+:: {
'my-dashboard.json':
dashboard.new('My Dashboard')
@@ -36,6 +37,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
),
},
},
},
};
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +

View File

@@ -1,12 +1,14 @@
local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: {
values+:: {
common+:: {
namespace: 'monitoring',
},
grafana+:: {
grafana+: {
rawDashboards+:: {
'my-dashboard.json': (importstr 'example-grafana-dashboard.json'),
},
},
},
};
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +

View File

@@ -1,15 +1,14 @@
local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: {
values+:: {
common+:: {
namespace: 'monitoring',
},
grafanaDashboards+:: { // monitoring-mixin compatibility
'my-dashboard.json': (import 'example-grafana-dashboard.json'),
},
grafana+:: {
grafana+: {
dashboards+:: { // use this method to import your dashboards to Grafana
'my-dashboard.json': (import 'example-grafana-dashboard.json'),
},
},
},
};
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +

View File

@@ -22,6 +22,10 @@ local defaults = {
},
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: [],
};
function(params) {
@@ -47,6 +51,9 @@ function(params) {
labels: g.config.commonLabels,
dashboards: g.config.dashboards,
resources: g.config.resources,
rawDashboards: g.config.rawDashboards,
folderDashboards: g.config.folderDashboards,
containers: g.config.containers,
},
},
},