diff --git a/salt/grafana/dashboards/common_template.json.jinja b/salt/grafana/dashboards/common_template.json.jinja index 0c1c29421..d8a7ff422 100644 --- a/salt/grafana/dashboards/common_template.json.jinja +++ b/salt/grafana/dashboards/common_template.json.jinja @@ -30,7 +30,7 @@ "tags": [], "templating": { "list": [ -{% for template in TEMPLATES -%} +{% for template in TEMPLATES.keys() -%} {%- import_json "grafana/templates/" ~ template ~ ".json" as template %} {{ template | json }} {% if not loop.last %},{% endif %} {% endfor -%} diff --git a/salt/grafana/defaults.yaml b/salt/grafana/defaults.yaml index dd6480402..0caaf6908 100644 --- a/salt/grafana/defaults.yaml +++ b/salt/grafana/defaults.yaml @@ -216,13 +216,16 @@ grafana: standalone: templating: list: - - servername_standalone - - role - - containers - - manint - - monint - - cpucount - - disk + servername: {} + role: + allValue: false + multi: false + hide: 2 + containers: {} + manint: {} + monint: {} + cpucount: {} + disk: {} panels: row_overview: gridPos: diff --git a/salt/grafana/init.sls b/salt/grafana/init.sls index 00c32fb90..dbb659217 100644 --- a/salt/grafana/init.sls +++ b/salt/grafana/init.sls @@ -91,6 +91,7 @@ grafana-config-files: - template: jinja - source: salt://grafana/dashboards/common_template.json.jinja - defaults: + DASHBOARD: {{ dashboard }} PANELS: {{GRAFANA_SETTINGS.dashboards[dashboard].panels}} TEMPLATES: {{GRAFANA_SETTINGS.dashboards[dashboard].templating.list}} TITLE: {{ GRAFANA_SETTINGS.dashboards[dashboard].get('title', dashboard| capitalize) }} diff --git a/salt/grafana/templates/servername.json b/salt/grafana/templates/servername.json new file mode 100644 index 000000000..a3cd08cb9 --- /dev/null +++ b/salt/grafana/templates/servername.json @@ -0,0 +1,34 @@ +{% if DASHBOARD == 'overview' %} + {% set query = "show tag values with key=\"host\" WHERE (\"role\" =~ /^$role$/)" %} +{% else %} + {% set query = "show tag values with key=\"host\" WHERE (\"role\" = '\' ~ DASHBOARD ~ \'')" %} +{% endif %} +{ + "allValue": null, + "current": { + "selected": true, + "tags": [], + "text": [], + "value": [] + }, + "datasource": "InfluxDB", + "definition": "{{ query }}", + "description": "", + "error": null, + "hide": 0, + "includeAll": true, + "label": "Node", + "multi": true, + "name": "servername", + "options": [], + "query": "{{ query }}", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } diff --git a/salt/grafana/templates/servername_eval.json b/salt/grafana/templates/servername_eval.json index 70c8c6210..cca6fef48 100644 --- a/salt/grafana/templates/servername_eval.json +++ b/salt/grafana/templates/servername_eval.json @@ -7,7 +7,7 @@ "value": [] }, "datasource": "InfluxDB", - "definition": "show tag values with key=\"host\" WHERE (\"role\" =~ /^$role$/)", + "definition": "show tag values with key=\"host\" WHERE (\"role\" = 'eval')", "description": "", "error": null, "hide": 0, @@ -16,7 +16,7 @@ "multi": true, "name": "servername", "options": [], - "query": "show tag values with key=\"host\" WHERE (\"role\" =~ /^$role$/)", + "query": "show tag values with key=\"host\" WHERE (\"role\" = 'eval')", "refresh": 1, "regex": "", "skipUrlSync": false,