use template from grafonnet library

This commit is contained in:
Vitaly Zhuravlev 2022-05-11 18:54:29 +04:00
parent b104fc2a0b
commit 5abf084fc1

View file

@ -1,8 +1,26 @@
local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet'; local grafana = import 'github.com/grafana/grafonnet-lib/grafonnet/grafana.libsonnet';
local dashboard = grafana.dashboard; local dashboard = grafana.dashboard;
local template = grafana.template;
{ {
grafanaDashboards+:: { grafanaDashboards+:: {
local apacheClusterSelectorTemplates =
[
template.new(
name=label,
label=label,
datasource='$datasource',
query='label_values(apache_up, %s)' % label,
current='',
refresh=2,
includeAll=false,
sort=1
)
for label in std.split($._config.apacheClusterLabels, ',')
],
'apache-http.json': 'apache-http.json':
dashboard.new( dashboard.new(
'Apache HTTP server', 'Apache HTTP server',
@ -22,31 +40,31 @@ local dashboard = grafana.dashboard;
hide: 0, hide: 0,
label: 'Data Source', label: 'Data Source',
name: 'datasource', name: 'datasource',
options: [],
query: 'prometheus', query: 'prometheus',
refresh: 1, refresh: 1,
regex: '', regex: '',
type: 'datasource', type: 'datasource',
}, },
{ template.new(
allValue: null, name='job',
current: {}, label='job',
datasource: '${datasource}', datasource='$datasource',
hide: 0, query='label_values(apache_up, job)',
includeAll: false, current='',
label: 'instance', refresh=2,
multi: false, includeAll=true,
name: 'instance', sort=1
options: [], ),
query: 'label_values(apache_up, instance)', template.new(
refresh: 2, name='instance',
sort: 1, label='instance',
tagValuesQuery: '', datasource='$datasource',
tags: [], query='label_values(apache_up{job=~"$job"}, instance)',
tagsQuery: '', current='',
type: 'query', refresh=2,
useTags: false, includeAll=false,
}, sort=1
),
] ]
) )
.addPanels([ .addPanels([