Merge ~chris.sanders/charm-grafana:fix-template into ~prometheus-charmers/charm-grafana:master

Proposed by Chris Sanders
Status: Merged
Approved by: Jeremy Lounder
Approved revision: 1b82156fc0f5b2a56236e821ae6479e69dc18945
Merged at revision: 9bcd0fa07e51a0ee2347653286226efe15c3fff4
Proposed branch: ~chris.sanders/charm-grafana:fix-template
Merge into: ~prometheus-charmers/charm-grafana:master
Diff against target: 1324 lines (+169/-140)
9 files modified
layer.yaml (+3/-0)
reactive/grafana.py (+28/-4)
templates/dashboards/prometheus/CephCluster.json.j2 (+23/-23)
templates/dashboards/prometheus/CephOSD.json.j2 (+10/-10)
templates/dashboards/prometheus/CephPools.json.j2 (+7/-7)
templates/dashboards/prometheus/OpenStackCloud.json.j2 (+46/-46)
templates/dashboards/prometheus/RabbitMQ.json.j2 (+11/-11)
templates/dashboards/prometheus/Swift.json.j2 (+11/-11)
templates/dashboards/prometheus/Telegraf.json.j2 (+30/-28)
Reviewer Review Type Date Requested Status
Jeremy Lounder (community) Approve
Drew Freiberger (community) Abstain
Canonical IS Reviewers Pending
Review via email: mp+371766@code.launchpad.net

Commit message

Switch dashboard template variable syntax

Use << and >> in place of {{ and }} for jinja templates because Grafana
uses {{ }} for it's variables as well. This causes Grafana variables to
be removed from templates causing Telegraf metrics to have no disk,
host, or interface names in the labels.

Description of the change

The primary change is the first commit to fix the missing variable labels in Telegraf dashboard. The other two commits were necessary to get it to deploy so I could test it. I tested the change with the following bundle to check that dashboards still render, and Telegraf now has lables where they were missing before.

series: bionic
services:
  ceph-osd:
    series: bionic
    charm: cs:ceph-osd
    num_units: 3
    options:
      osd-devices: "/var/osd1"
  ceph-mon:
    series: bionic
    charm: cs:ceph-mon
    num_units: 1
    options:
      monitor-count: 1
      expected-osd-count: 3
  ceph-fs:
    series: bionic
    charm: cs:~openstack-charmers/ceph-fs
    num_units: 1
  prometheus:
    charm: cs:prometheus2
    num_units: 1
  grafana:
    charm: /home/chris/src/juju/charms/builds/grafana
    num_units: 1
    expose: True
    options:
      install_method: "snap"
  alertmanager:
    charm: cs:prometheus-alertmanager
    num_units: 1
  ceph-exporter:
    charm: cs:prometheus-ceph-exporter
    num_units: 1
  telegraf:
    charm: cs:telegraf
relations:
 - - "ceph-mon:osd"
   - "ceph-osd:mon"
 - - "ceph-fs:ceph-mds"
   - "ceph-mon:mds"
 - - "ceph-exporter"
   - "ceph-mon:client"
 - - "ceph-exporter:ceph-exporter"
   - "prometheus:target"
 - - "prometheus:grafana-source"
   - "grafana:grafana-source"
 - - "prometheus:alertmanager-service"
   - "alertmanager:alertmanager-service"
 - - "telegraf:prometheus-client"
   - "prometheus:target"
 - - "telegraf"
   - "ceph-exporter"
 - - "telegraf"
   - "alertmanager"
 - - "telegraf"
   - "ceph-fs"
 - - "telegraf"
   - "ceph-mon"
 - - "telegraf"
   - "ceph-osd"

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Unable to determine commit message from repository - please click "Set commit message" and enter the commit message manually.

Revision history for this message
Drew Freiberger (afreiberger) wrote :

I'm not seeing commit be44ba7's changes in this diff. I'm going to guess those are already merged into master and this MR is just confused.

Other than spelling mistake which won't affect functionality and some suggestions around the render_custom, I'm good with this rolling out, but would like to defer to IS reviewers for criticality of comments.

review: Abstain
Revision history for this message
Chris Sanders (chris.sanders) wrote :

> I'm not seeing commit be44ba7's changes in this diff. I'm going to guess
> those are already merged into master and this MR is just confused.

Yes it's showing the last commit of master, I presume to give an idea where this was based. That commit is already on master not part of this change.

> Other than spelling mistake which won't affect functionality and some
> suggestions around the render_custom, I'm good with this rolling out, but
> would like to defer to IS reviewers for criticality of comments.

I've fixed they typo and added a bug to charm-helpers, thanks.

Revision history for this message
Jeremy Lounder (jldev) :
review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision 9bcd0fa07e51a0ee2347653286226efe15c3fff4

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/layer.yaml b/layer.yaml
index df345e6..6e51d38 100644
--- a/layer.yaml
+++ b/layer.yaml
@@ -1,3 +1,6 @@
1includes: ['layer:basic', 'layer:snap', 'interface:nrpe-external-master', 'interface:grafana-source', 'interface:http', 'interface:grafana-dashboard']1includes: ['layer:basic', 'layer:snap', 'interface:nrpe-external-master', 'interface:grafana-source', 'interface:http', 'interface:grafana-dashboard']
2ignore: ['.*.swp' ]2ignore: ['.*.swp' ]
3options:
4 basic:
5 include_system_packages: true
3repo: https://git.launchpad.net/grafana-charm6repo: https://git.launchpad.net/grafana-charm
diff --git a/reactive/grafana.py b/reactive/grafana.py
index ba40c2f..01bfcda 100644
--- a/reactive/grafana.py
+++ b/reactive/grafana.py
@@ -32,6 +32,7 @@ from charms.reactive import (
3232
33from charms.layer import snap33from charms.layer import snap
34from charms.layer.grafana import import_dashboard34from charms.layer.grafana import import_dashboard
35from jinja2 import Environment, FileSystemLoader, exceptions
3536
36SVCNAME = {'snap': 'snap.grafana.grafana',37SVCNAME = {'snap': 'snap.grafana.grafana',
37 'apt': 'grafana-server'}38 'apt': 'grafana-server'}
@@ -499,6 +500,27 @@ def check_datasource(ds):
499 conn.close()500 conn.close()
500501
501502
503# This isn't exposed in charmhelpers: https://github.com/juju/charm-helpers/issues/367
504def render_custom(source, context, **parameters):
505 """
506 Renders a template from the template folder with custom environment
507 parameters.
508 source: template file name to render from
509 context: template context variables
510 parameters: initialization parameters for the jinja Environment
511
512 returns the rendered template content
513 """
514 template_folder = os.path.join(hookenv.charm_dir(), 'templates/dashboards/prometheus')
515 environment = Environment(loader=FileSystemLoader(template_folder), **parameters)
516 try:
517 template = environment.get_template(source)
518 except exceptions.TemplateNotFound as e:
519 hookenv.log('Could not load template {} from {}'.format(source, template_folder))
520 raise e
521 return template.render(context)
522
523
502def generate_prometheus_dashboards(gf_adminpasswd, ds):524def generate_prometheus_dashboards(gf_adminpasswd, ds):
503 # prometheus_host = ds525 # prometheus_host = ds
504 ds_name = '{} - {}'.format(ds['service_name'], ds['description'])526 ds_name = '{} - {}'.format(ds['service_name'], ds['description'])
@@ -517,6 +539,7 @@ def generate_prometheus_dashboards(gf_adminpasswd, ds):
517 'external_network': config['external_network'],539 'external_network': config['external_network'],
518 'bcache_enabled': "bcache_cache_hit_ratio" in prom_metrics,540 'bcache_enabled': "bcache_cache_hit_ratio" in prom_metrics,
519 'bonds_enabled': "bond_status" in prom_metrics,541 'bonds_enabled': "bond_status" in prom_metrics,
542 'conntrack_enabled': "nf_conntrack_max" in prom_metrics,
520 }543 }
521 # we ignore some phrases picked up by the regex because they're not real544 # we ignore some phrases picked up by the regex because they're not real
522 # metric names. Let's add them to the list of metrics to make life easy.545 # metric names. Let's add them to the list of metrics to make life easy.
@@ -527,10 +550,11 @@ def generate_prometheus_dashboards(gf_adminpasswd, ds):
527 'neutron_public_ip_usage']550 'neutron_public_ip_usage']
528 prom_metrics.extend(ignore_metrics)551 prom_metrics.extend(ignore_metrics)
529 for filename in os.listdir(templates_dir):552 for filename in os.listdir(templates_dir):
530 dashboard_str = render(source=filename,553 dashboard_str = render_custom(source=filename,
531 target=None,554 context=context,
532 context=context,555 variable_start_string="<<",
533 templates_dir=templates_dir)556 variable_end_string=">>",
557 )
534 hookenv.log("Checking Dashboard Template: {}".format(filename))558 hookenv.log("Checking Dashboard Template: {}".format(filename))
535 expr = str(re.findall('"expr":(.*),', dashboard_str))559 expr = str(re.findall('"expr":(.*),', dashboard_str))
536 metrics = set(re.findall('[a-zA-Z0-9]*_[a-zA-Z0-9_]*', expr))560 metrics = set(re.findall('[a-zA-Z0-9]*_[a-zA-Z0-9_]*', expr))
diff --git a/templates/dashboards/prometheus/CephCluster.json.j2 b/templates/dashboards/prometheus/CephCluster.json.j2
index 4bd7ef5..f940b40 100644
--- a/templates/dashboards/prometheus/CephCluster.json.j2
+++ b/templates/dashboards/prometheus/CephCluster.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -72,7 +72,7 @@
72 "rgba(237, 129, 40, 0.89)",72 "rgba(237, 129, 40, 0.89)",
73 "rgba(245, 54, 54, 0.9)"73 "rgba(245, 54, 54, 0.9)"
74 ],74 ],
75 "datasource": "{{ datasource }}",75 "datasource": "<< datasource >>",
76 "editable": true,76 "editable": true,
77 "error": false,77 "error": false,
78 "format": "none",78 "format": "none",
@@ -166,7 +166,7 @@
166 "rgba(237, 129, 40, 0.89)",166 "rgba(237, 129, 40, 0.89)",
167 "rgba(50, 172, 45, 0.97)"167 "rgba(50, 172, 45, 0.97)"
168 ],168 ],
169 "datasource": "{{ datasource }}",169 "datasource": "<< datasource >>",
170 "editable": true,170 "editable": true,
171 "error": false,171 "error": false,
172 "format": "none",172 "format": "none",
@@ -246,7 +246,7 @@
246 "rgba(237, 129, 40, 0.89)",246 "rgba(237, 129, 40, 0.89)",
247 "rgba(50, 172, 45, 0.97)"247 "rgba(50, 172, 45, 0.97)"
248 ],248 ],
249 "datasource": "{{ datasource }}",249 "datasource": "<< datasource >>",
250 "editable": true,250 "editable": true,
251 "error": false,251 "error": false,
252 "format": "none",252 "format": "none",
@@ -326,7 +326,7 @@
326 "rgba(237, 129, 40, 0.89)",326 "rgba(237, 129, 40, 0.89)",
327 "rgba(245, 54, 54, 0.9)"327 "rgba(245, 54, 54, 0.9)"
328 ],328 ],
329 "datasource": "{{ datasource }}",329 "datasource": "<< datasource >>",
330 "editable": true,330 "editable": true,
331 "error": false,331 "error": false,
332 "format": "bytes",332 "format": "bytes",
@@ -406,7 +406,7 @@
406 "rgba(237, 129, 40, 0.89)",406 "rgba(237, 129, 40, 0.89)",
407 "rgba(245, 54, 54, 0.9)"407 "rgba(245, 54, 54, 0.9)"
408 ],408 ],
409 "datasource": "{{ datasource }}",409 "datasource": "<< datasource >>",
410 "editable": true,410 "editable": true,
411 "error": false,411 "error": false,
412 "format": "bytes",412 "format": "bytes",
@@ -486,7 +486,7 @@
486 "rgba(237, 129, 40, 0.89)",486 "rgba(237, 129, 40, 0.89)",
487 "rgba(245, 54, 54, 0.9)"487 "rgba(245, 54, 54, 0.9)"
488 ],488 ],
489 "datasource": "{{ datasource }}",489 "datasource": "<< datasource >>",
490 "editable": true,490 "editable": true,
491 "error": false,491 "error": false,
492 "format": "percentunit",492 "format": "percentunit",
@@ -578,7 +578,7 @@
578 "rgba(237, 129, 40, 0.89)",578 "rgba(237, 129, 40, 0.89)",
579 "rgba(50, 172, 45, 0.97)"579 "rgba(50, 172, 45, 0.97)"
580 ],580 ],
581 "datasource": "{{ datasource }}",581 "datasource": "<< datasource >>",
582 "editable": true,582 "editable": true,
583 "error": false,583 "error": false,
584 "format": "none",584 "format": "none",
@@ -657,7 +657,7 @@
657 "rgba(237, 40, 40, 0.89)",657 "rgba(237, 40, 40, 0.89)",
658 "rgba(245, 54, 54, 0.9)"658 "rgba(245, 54, 54, 0.9)"
659 ],659 ],
660 "datasource": "{{ datasource }}",660 "datasource": "<< datasource >>",
661 "editable": true,661 "editable": true,
662 "error": false,662 "error": false,
663 "format": "none",663 "format": "none",
@@ -736,7 +736,7 @@
736 "rgba(237, 129, 40, 0.89)",736 "rgba(237, 129, 40, 0.89)",
737 "rgba(50, 172, 45, 0.97)"737 "rgba(50, 172, 45, 0.97)"
738 ],738 ],
739 "datasource": "{{ datasource }}",739 "datasource": "<< datasource >>",
740 "editable": true,740 "editable": true,
741 "error": false,741 "error": false,
742 "format": "none",742 "format": "none",
@@ -815,7 +815,7 @@
815 "rgba(237, 40, 40, 0.89)",815 "rgba(237, 40, 40, 0.89)",
816 "rgba(245, 54, 54, 0.9)"816 "rgba(245, 54, 54, 0.9)"
817 ],817 ],
818 "datasource": "{{ datasource }}",818 "datasource": "<< datasource >>",
819 "editable": true,819 "editable": true,
820 "error": false,820 "error": false,
821 "format": "none",821 "format": "none",
@@ -894,7 +894,7 @@
894 "rgba(237, 129, 40, 0.89)",894 "rgba(237, 129, 40, 0.89)",
895 "rgba(245, 54, 54, 0.9)"895 "rgba(245, 54, 54, 0.9)"
896 ],896 ],
897 "datasource": "{{ datasource }}",897 "datasource": "<< datasource >>",
898 "editable": true,898 "editable": true,
899 "error": false,899 "error": false,
900 "format": "none",900 "format": "none",
@@ -973,7 +973,7 @@
973 "rgba(237, 129, 40, 0.89)",973 "rgba(237, 129, 40, 0.89)",
974 "rgba(245, 54, 54, 0.9)"974 "rgba(245, 54, 54, 0.9)"
975 ],975 ],
976 "datasource": "{{ datasource }}",976 "datasource": "<< datasource >>",
977 "editable": true,977 "editable": true,
978 "error": false,978 "error": false,
979 "format": "s",979 "format": "s",
@@ -1052,7 +1052,7 @@
1052 "rgba(237, 129, 40, 0.89)",1052 "rgba(237, 129, 40, 0.89)",
1053 "rgba(245, 54, 54, 0.9)"1053 "rgba(245, 54, 54, 0.9)"
1054 ],1054 ],
1055 "datasource": "{{ datasource }}",1055 "datasource": "<< datasource >>",
1056 "editable": true,1056 "editable": true,
1057 "error": false,1057 "error": false,
1058 "format": "s",1058 "format": "s",
@@ -1146,7 +1146,7 @@
1146 "bars": false,1146 "bars": false,
1147 "dashLength": 10,1147 "dashLength": 10,
1148 "dashes": false,1148 "dashes": false,
1149 "datasource": "{{ datasource }}",1149 "datasource": "<< datasource >>",
1150 "editable": true,1150 "editable": true,
1151 "error": false,1151 "error": false,
1152 "fill": 4,1152 "fill": 4,
@@ -1259,7 +1259,7 @@
1259 "bars": false,1259 "bars": false,
1260 "dashLength": 10,1260 "dashLength": 10,
1261 "dashes": false,1261 "dashes": false,
1262 "datasource": "{{ datasource }}",1262 "datasource": "<< datasource >>",
1263 "decimals": 0,1263 "decimals": 0,
1264 "editable": true,1264 "editable": true,
1265 "error": false,1265 "error": false,
@@ -1352,7 +1352,7 @@
1352 "bars": false,1352 "bars": false,
1353 "dashLength": 10,1353 "dashLength": 10,
1354 "dashes": false,1354 "dashes": false,
1355 "datasource": "{{ datasource }}",1355 "datasource": "<< datasource >>",
1356 "editable": true,1356 "editable": true,
1357 "error": false,1357 "error": false,
1358 "fill": 1,1358 "fill": 1,
@@ -1455,7 +1455,7 @@
1455 "bars": false,1455 "bars": false,
1456 "dashLength": 10,1456 "dashLength": 10,
1457 "dashes": false,1457 "dashes": false,
1458 "datasource": "{{ datasource }}",1458 "datasource": "<< datasource >>",
1459 "editable": true,1459 "editable": true,
1460 "error": false,1460 "error": false,
1461 "fill": 1,1461 "fill": 1,
@@ -1558,7 +1558,7 @@
1558 "bars": false,1558 "bars": false,
1559 "dashLength": 10,1559 "dashLength": 10,
1560 "dashes": false,1560 "dashes": false,
1561 "datasource": "{{ datasource }}",1561 "datasource": "<< datasource >>",
1562 "editable": true,1562 "editable": true,
1563 "error": false,1563 "error": false,
1564 "fill": 1,1564 "fill": 1,
@@ -1685,7 +1685,7 @@
1685 "bars": false,1685 "bars": false,
1686 "dashLength": 10,1686 "dashLength": 10,
1687 "dashes": false,1687 "dashes": false,
1688 "datasource": "{{ datasource }}",1688 "datasource": "<< datasource >>",
1689 "editable": true,1689 "editable": true,
1690 "error": false,1690 "error": false,
1691 "fill": 1,1691 "fill": 1,
@@ -1808,7 +1808,7 @@
1808 "bars": false,1808 "bars": false,
1809 "dashLength": 10,1809 "dashLength": 10,
1810 "dashes": false,1810 "dashes": false,
1811 "datasource": "{{ datasource }}",1811 "datasource": "<< datasource >>",
1812 "editable": true,1812 "editable": true,
1813 "error": false,1813 "error": false,
1814 "fill": 1,1814 "fill": 1,
@@ -1888,7 +1888,7 @@
1888 "bars": false,1888 "bars": false,
1889 "dashLength": 10,1889 "dashLength": 10,
1890 "dashes": false,1890 "dashes": false,
1891 "datasource": "{{ datasource }}",1891 "datasource": "<< datasource >>",
1892 "editable": true,1892 "editable": true,
1893 "error": false,1893 "error": false,
1894 "fill": 1,1894 "fill": 1,
@@ -1973,7 +1973,7 @@
1973 "bars": false,1973 "bars": false,
1974 "dashLength": 10,1974 "dashLength": 10,
1975 "dashes": false,1975 "dashes": false,
1976 "datasource": "{{ datasource }}",1976 "datasource": "<< datasource >>",
1977 "editable": true,1977 "editable": true,
1978 "error": false,1978 "error": false,
1979 "fill": 1,1979 "fill": 1,
diff --git a/templates/dashboards/prometheus/CephOSD.json.j2 b/templates/dashboards/prometheus/CephOSD.json.j2
index 010f2a9..edfbd35 100644
--- a/templates/dashboards/prometheus/CephOSD.json.j2
+++ b/templates/dashboards/prometheus/CephOSD.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -72,7 +72,7 @@
72 "rgba(237, 40, 40, 0.89)",72 "rgba(237, 40, 40, 0.89)",
73 "rgba(50, 172, 45, 0.97)"73 "rgba(50, 172, 45, 0.97)"
74 ],74 ],
75 "datasource": "{{ datasource }}",75 "datasource": "<< datasource >>",
76 "editable": true,76 "editable": true,
77 "error": false,77 "error": false,
78 "format": "none",78 "format": "none",
@@ -172,7 +172,7 @@
172 "rgba(237, 40, 40, 0.89)",172 "rgba(237, 40, 40, 0.89)",
173 "rgba(50, 172, 45, 0.97)"173 "rgba(50, 172, 45, 0.97)"
174 ],174 ],
175 "datasource": "{{ datasource }}",175 "datasource": "<< datasource >>",
176 "editable": true,176 "editable": true,
177 "error": false,177 "error": false,
178 "format": "none",178 "format": "none",
@@ -272,7 +272,7 @@
272 "rgba(237, 129, 40, 0.89)",272 "rgba(237, 129, 40, 0.89)",
273 "rgba(50, 172, 45, 0.97)"273 "rgba(50, 172, 45, 0.97)"
274 ],274 ],
275 "datasource": "{{ datasource }}",275 "datasource": "<< datasource >>",
276 "editable": true,276 "editable": true,
277 "error": false,277 "error": false,
278 "format": "none",278 "format": "none",
@@ -370,7 +370,7 @@
370 "bars": false,370 "bars": false,
371 "dashLength": 10,371 "dashLength": 10,
372 "dashes": false,372 "dashes": false,
373 "datasource": "{{ datasource }}",373 "datasource": "<< datasource >>",
374 "decimals": 2,374 "decimals": 2,
375 "editable": true,375 "editable": true,
376 "error": false,376 "error": false,
@@ -486,7 +486,7 @@
486 "rgba(237, 129, 40, 0.89)",486 "rgba(237, 129, 40, 0.89)",
487 "rgba(245, 54, 54, 0.9)"487 "rgba(245, 54, 54, 0.9)"
488 ],488 ],
489 "datasource": "{{ datasource }}",489 "datasource": "<< datasource >>",
490 "editable": true,490 "editable": true,
491 "error": false,491 "error": false,
492 "format": "percent",492 "format": "percent",
@@ -575,7 +575,7 @@
575 "bars": false,575 "bars": false,
576 "dashLength": 10,576 "dashLength": 10,
577 "dashes": false,577 "dashes": false,
578 "datasource": "{{ datasource }}",578 "datasource": "<< datasource >>",
579 "decimals": 2,579 "decimals": 2,
580 "editable": true,580 "editable": true,
581 "error": false,581 "error": false,
@@ -666,7 +666,7 @@
666 "bars": false,666 "bars": false,
667 "dashLength": 10,667 "dashLength": 10,
668 "dashes": false,668 "dashes": false,
669 "datasource": "{{ datasource }}",669 "datasource": "<< datasource >>",
670 "decimals": 2,670 "decimals": 2,
671 "editable": true,671 "editable": true,
672 "error": false,672 "error": false,
@@ -760,7 +760,7 @@
760 "bars": false,760 "bars": false,
761 "dashLength": 10,761 "dashLength": 10,
762 "dashes": false,762 "dashes": false,
763 "datasource": "{{ datasource }}",763 "datasource": "<< datasource >>",
764 "decimals": 5,764 "decimals": 5,
765 "editable": true,765 "editable": true,
766 "error": false,766 "error": false,
@@ -934,7 +934,7 @@
934 {934 {
935 "allValue": null,935 "allValue": null,
936 "current": {},936 "current": {},
937 "datasource": "{{ datasource }}",937 "datasource": "<< datasource >>",
938 "hide": 0,938 "hide": 0,
939 "includeAll": false,939 "includeAll": false,
940 "label": "OSD",940 "label": "OSD",
diff --git a/templates/dashboards/prometheus/CephPools.json.j2 b/templates/dashboards/prometheus/CephPools.json.j2
index c848ae3..ca44642 100644
--- a/templates/dashboards/prometheus/CephPools.json.j2
+++ b/templates/dashboards/prometheus/CephPools.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -68,7 +68,7 @@
68 "bars": false,68 "bars": false,
69 "dashLength": 10,69 "dashLength": 10,
70 "dashes": false,70 "dashes": false,
71 "datasource": "{{ datasource }}",71 "datasource": "<< datasource >>",
72 "decimals": 2,72 "decimals": 2,
73 "editable": true,73 "editable": true,
74 "error": false,74 "error": false,
@@ -198,7 +198,7 @@
198 "rgba(237, 129, 40, 0.89)",198 "rgba(237, 129, 40, 0.89)",
199 "rgba(50, 172, 45, 0.97)"199 "rgba(50, 172, 45, 0.97)"
200 ],200 ],
201 "datasource": "{{ datasource }}",201 "datasource": "<< datasource >>",
202 "decimals": 2,202 "decimals": 2,
203 "editable": true,203 "editable": true,
204 "error": false,204 "error": false,
@@ -285,7 +285,7 @@
285 "bars": false,285 "bars": false,
286 "dashLength": 10,286 "dashLength": 10,
287 "dashes": false,287 "dashes": false,
288 "datasource": "{{ datasource }}",288 "datasource": "<< datasource >>",
289 "editable": true,289 "editable": true,
290 "error": false,290 "error": false,
291 "fill": 1,291 "fill": 1,
@@ -374,7 +374,7 @@
374 "bars": false,374 "bars": false,
375 "dashLength": 10,375 "dashLength": 10,
376 "dashes": false,376 "dashes": false,
377 "datasource": "{{ datasource }}",377 "datasource": "<< datasource >>",
378 "decimals": 2,378 "decimals": 2,
379 "editable": true,379 "editable": true,
380 "error": false,380 "error": false,
@@ -465,7 +465,7 @@
465 "bars": false,465 "bars": false,
466 "dashLength": 10,466 "dashLength": 10,
467 "dashes": false,467 "dashes": false,
468 "datasource": "{{ datasource }}",468 "datasource": "<< datasource >>",
469 "decimals": 2,469 "decimals": 2,
470 "editable": true,470 "editable": true,
471 "error": false,471 "error": false,
@@ -646,7 +646,7 @@
646 {646 {
647 "allValue": null,647 "allValue": null,
648 "current": {},648 "current": {},
649 "datasource": "{{ datasource }}",649 "datasource": "<< datasource >>",
650 "hide": 0,650 "hide": 0,
651 "includeAll": false,651 "includeAll": false,
652 "label": "Pool",652 "label": "Pool",
diff --git a/templates/dashboards/prometheus/OpenStackCloud.json.j2 b/templates/dashboards/prometheus/OpenStackCloud.json.j2
index da319ef..7fc82e0 100644
--- a/templates/dashboards/prometheus/OpenStackCloud.json.j2
+++ b/templates/dashboards/prometheus/OpenStackCloud.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -95,7 +95,7 @@
95 "rgba(237, 129, 40, 0.89)",95 "rgba(237, 129, 40, 0.89)",
96 "rgba(50, 172, 45, 0.97)"96 "rgba(50, 172, 45, 0.97)"
97 ],97 ],
98 "datasource": "{{ datasource }}",98 "datasource": "<< datasource >>",
99 "editable": true,99 "editable": true,
100 "error": false,100 "error": false,
101 "format": "none",101 "format": "none",
@@ -144,7 +144,7 @@
144 "tableColumn": "",144 "tableColumn": "",
145 "targets": [145 "targets": [
146 {146 {
147 "expr": "sum(neutron_net_size{network_name=\"{{ external_network }}\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"{{ external_network }}\",cloud=\"$cloud\"})",147 "expr": "sum(neutron_net_size{network_name=\"<< external_network >>\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"<< external_network >>\",cloud=\"$cloud\"})",
148 "intervalFactor": 2,148 "intervalFactor": 2,
149 "legendFormat": "",149 "legendFormat": "",
150 "metric": "",150 "metric": "",
@@ -153,7 +153,7 @@
153 }153 }
154 ],154 ],
155 "thresholds": "",155 "thresholds": "",
156 "title": "Free IPs ({{ external_network }})",156 "title": "Free IPs (<< external_network >>)",
157 "type": "singlestat",157 "type": "singlestat",
158 "valueFontSize": "100%",158 "valueFontSize": "100%",
159 "valueMaps": [159 "valueMaps": [
@@ -174,7 +174,7 @@
174 "rgba(237, 129, 40, 0.89)",174 "rgba(237, 129, 40, 0.89)",
175 "rgba(50, 172, 45, 0.97)"175 "rgba(50, 172, 45, 0.97)"
176 ],176 ],
177 "datasource": "{{ datasource }}",177 "datasource": "<< datasource >>",
178 "editable": true,178 "editable": true,
179 "error": false,179 "error": false,
180 "format": "none",180 "format": "none",
@@ -223,7 +223,7 @@
223 "tableColumn": "",223 "tableColumn": "",
224 "targets": [224 "targets": [
225 {225 {
226 "expr": "(sum(neutron_net_size{network_name=\"{{ external_network }}\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"{{ external_network }}\",cloud=\"$cloud\",ip_status=\"ACTIVE\"})) - (sum(neutron_net_size{network_name=\"{{ external_network }}\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"{{ external_network }}\",cloud=\"$cloud\"}))",226 "expr": "(sum(neutron_net_size{network_name=\"<< external_network >>\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"<< external_network >>\",cloud=\"$cloud\",ip_status=\"ACTIVE\"})) - (sum(neutron_net_size{network_name=\"<< external_network >>\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"<< external_network >>\",cloud=\"$cloud\"}))",
227 "intervalFactor": 2,227 "intervalFactor": 2,
228 "legendFormat": "",228 "legendFormat": "",
229 "metric": "",229 "metric": "",
@@ -232,7 +232,7 @@
232 }232 }
233 ],233 ],
234 "thresholds": "",234 "thresholds": "",
235 "title": "Unused IPs ({{ external_network }})",235 "title": "Unused IPs (<< external_network >>)",
236 "type": "singlestat",236 "type": "singlestat",
237 "valueFontSize": "100%",237 "valueFontSize": "100%",
238 "valueMaps": [238 "valueMaps": [
@@ -253,7 +253,7 @@
253 "rgba(237, 129, 40, 0.89)",253 "rgba(237, 129, 40, 0.89)",
254 "rgba(50, 172, 45, 0.97)"254 "rgba(50, 172, 45, 0.97)"
255 ],255 ],
256 "datasource": "{{ datasource }}",256 "datasource": "<< datasource >>",
257 "editable": true,257 "editable": true,
258 "error": false,258 "error": false,
259 "format": "none",259 "format": "none",
@@ -340,7 +340,7 @@
340 "bars": false,340 "bars": false,
341 "dashLength": 10,341 "dashLength": 10,
342 "dashes": false,342 "dashes": false,
343 "datasource": "{{ datasource }}",343 "datasource": "<< datasource >>",
344 "editable": true,344 "editable": true,
345 "error": false,345 "error": false,
346 "fill": 4,346 "fill": 4,
@@ -418,7 +418,7 @@
418 "bars": false,418 "bars": false,
419 "dashLength": 10,419 "dashLength": 10,
420 "dashes": false,420 "dashes": false,
421 "datasource": "{{ datasource }}",421 "datasource": "<< datasource >>",
422 "editable": true,422 "editable": true,
423 "error": false,423 "error": false,
424 "fill": 4,424 "fill": 4,
@@ -452,7 +452,7 @@
452 "steppedLine": false,452 "steppedLine": false,
453 "targets": [453 "targets": [
454 {454 {
455 "expr": "sum(neutron_net_size{network_name=\"{{ external_network }}\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"{{ external_network }}\",cloud=\"$cloud\"})",455 "expr": "sum(neutron_net_size{network_name=\"<< external_network >>\",cloud=\"$cloud\"}) - sum(neutron_public_ip_usage{subnet_name=\"<< external_network >>\",cloud=\"$cloud\"})",
456 "intervalFactor": 2,456 "intervalFactor": 2,
457 "legendFormat": "",457 "legendFormat": "",
458 "refId": "A",458 "refId": "A",
@@ -505,7 +505,7 @@
505 "rgba(237, 129, 40, 0.89)",505 "rgba(237, 129, 40, 0.89)",
506 "rgba(50, 172, 45, 0.97)"506 "rgba(50, 172, 45, 0.97)"
507 ],507 ],
508 "datasource": "{{ datasource }}",508 "datasource": "<< datasource >>",
509 "editable": true,509 "editable": true,
510 "error": false,510 "error": false,
511 "format": "s",511 "format": "s",
@@ -580,7 +580,7 @@
580 "value": "current"580 "value": "current"
581 }581 }
582 ],582 ],
583 "datasource": "{{ datasource }}",583 "datasource": "<< datasource >>",
584 "editable": true,584 "editable": true,
585 "error": false,585 "error": false,
586 "fontSize": "100%",586 "fontSize": "100%",
@@ -641,7 +641,7 @@
641 {641 {
642 "aliasColors": {},642 "aliasColors": {},
643 "bars": false,643 "bars": false,
644 "datasource": "{{ datasource }}",644 "datasource": "<< datasource >>",
645 "editable": true,645 "editable": true,
646 "error": false,646 "error": false,
647 "fill": 3,647 "fill": 3,
@@ -747,7 +747,7 @@
747 "value": "current"747 "value": "current"
748 }748 }
749 ],749 ],
750 "datasource": "{{ datasource }}",750 "datasource": "<< datasource >>",
751 "editable": true,751 "editable": true,
752 "error": false,752 "error": false,
753 "fontSize": "80%",753 "fontSize": "80%",
@@ -803,7 +803,7 @@
803 "value": "current"803 "value": "current"
804 }804 }
805 ],805 ],
806 "datasource": "{{ datasource }}",806 "datasource": "<< datasource >>",
807 "editable": true,807 "editable": true,
808 "error": false,808 "error": false,
809 "fontSize": "80%",809 "fontSize": "80%",
@@ -873,7 +873,7 @@
873 "rgba(237, 129, 40, 0.89)",873 "rgba(237, 129, 40, 0.89)",
874 "rgba(50, 172, 45, 0.97)"874 "rgba(50, 172, 45, 0.97)"
875 ],875 ],
876 "datasource": "{{ datasource }}",876 "datasource": "<< datasource >>",
877 "editable": true,877 "editable": true,
878 "error": false,878 "error": false,
879 "format": "mbytes",879 "format": "mbytes",
@@ -952,7 +952,7 @@
952 "rgba(237, 129, 40, 0.89)",952 "rgba(237, 129, 40, 0.89)",
953 "rgba(50, 172, 45, 0.97)"953 "rgba(50, 172, 45, 0.97)"
954 ],954 ],
955 "datasource": "{{ datasource }}",955 "datasource": "<< datasource >>",
956 "editable": true,956 "editable": true,
957 "error": false,957 "error": false,
958 "format": "none",958 "format": "none",
@@ -1032,7 +1032,7 @@
1032 "rgba(237, 129, 40, 0.89)",1032 "rgba(237, 129, 40, 0.89)",
1033 "rgba(50, 172, 45, 0.97)"1033 "rgba(50, 172, 45, 0.97)"
1034 ],1034 ],
1035 "datasource": "{{ datasource }}",1035 "datasource": "<< datasource >>",
1036 "editable": true,1036 "editable": true,
1037 "error": false,1037 "error": false,
1038 "format": "gbytes",1038 "format": "gbytes",
@@ -1112,7 +1112,7 @@
1112 "rgba(237, 129, 40, 0.89)",1112 "rgba(237, 129, 40, 0.89)",
1113 "rgba(50, 172, 45, 0.97)"1113 "rgba(50, 172, 45, 0.97)"
1114 ],1114 ],
1115 "datasource": "{{ datasource }}",1115 "datasource": "<< datasource >>",
1116 "decimals": 1,1116 "decimals": 1,
1117 "editable": true,1117 "editable": true,
1118 "error": false,1118 "error": false,
@@ -1193,7 +1193,7 @@
1193 "rgba(237, 129, 40, 0.89)",1193 "rgba(237, 129, 40, 0.89)",
1194 "rgba(50, 172, 45, 0.97)"1194 "rgba(50, 172, 45, 0.97)"
1195 ],1195 ],
1196 "datasource": "{{ datasource }}",1196 "datasource": "<< datasource >>",
1197 "editable": true,1197 "editable": true,
1198 "error": false,1198 "error": false,
1199 "format": "none",1199 "format": "none",
@@ -1272,7 +1272,7 @@
1272 "rgba(237, 129, 40, 0.89)",1272 "rgba(237, 129, 40, 0.89)",
1273 "rgba(50, 172, 45, 0.97)"1273 "rgba(50, 172, 45, 0.97)"
1274 ],1274 ],
1275 "datasource": "{{ datasource }}",1275 "datasource": "<< datasource >>",
1276 "editable": true,1276 "editable": true,
1277 "error": false,1277 "error": false,
1278 "format": "none",1278 "format": "none",
@@ -1351,7 +1351,7 @@
1351 "rgba(237, 129, 40, 0.89)",1351 "rgba(237, 129, 40, 0.89)",
1352 "rgba(50, 172, 45, 0.97)"1352 "rgba(50, 172, 45, 0.97)"
1353 ],1353 ],
1354 "datasource": "{{ datasource }}",1354 "datasource": "<< datasource >>",
1355 "editable": true,1355 "editable": true,
1356 "error": false,1356 "error": false,
1357 "format": "none",1357 "format": "none",
@@ -1426,7 +1426,7 @@
1426 "bars": false,1426 "bars": false,
1427 "dashLength": 10,1427 "dashLength": 10,
1428 "dashes": false,1428 "dashes": false,
1429 "datasource": "{{ datasource }}",1429 "datasource": "<< datasource >>",
1430 "editable": true,1430 "editable": true,
1431 "error": false,1431 "error": false,
1432 "fill": 1,1432 "fill": 1,
@@ -1506,7 +1506,7 @@
1506 "bars": false,1506 "bars": false,
1507 "dashLength": 10,1507 "dashLength": 10,
1508 "dashes": false,1508 "dashes": false,
1509 "datasource": "{{ datasource }}",1509 "datasource": "<< datasource >>",
1510 "editable": true,1510 "editable": true,
1511 "error": false,1511 "error": false,
1512 "fill": 1,1512 "fill": 1,
@@ -1586,7 +1586,7 @@
1586 "bars": false,1586 "bars": false,
1587 "dashLength": 10,1587 "dashLength": 10,
1588 "dashes": false,1588 "dashes": false,
1589 "datasource": "{{ datasource }}",1589 "datasource": "<< datasource >>",
1590 "editable": true,1590 "editable": true,
1591 "error": false,1591 "error": false,
1592 "fill": 1,1592 "fill": 1,
@@ -1666,7 +1666,7 @@
1666 "bars": false,1666 "bars": false,
1667 "dashLength": 10,1667 "dashLength": 10,
1668 "dashes": false,1668 "dashes": false,
1669 "datasource": "{{ datasource }}",1669 "datasource": "<< datasource >>",
1670 "editable": true,1670 "editable": true,
1671 "error": false,1671 "error": false,
1672 "fill": 1,1672 "fill": 1,
@@ -1746,7 +1746,7 @@
1746 "bars": false,1746 "bars": false,
1747 "dashLength": 10,1747 "dashLength": 10,
1748 "dashes": false,1748 "dashes": false,
1749 "datasource": "{{ datasource }}",1749 "datasource": "<< datasource >>",
1750 "editable": true,1750 "editable": true,
1751 "error": false,1751 "error": false,
1752 "fill": 1,1752 "fill": 1,
@@ -1828,7 +1828,7 @@
1828 "value": "current"1828 "value": "current"
1829 }1829 }
1830 ],1830 ],
1831 "datasource": "{{ datasource }}",1831 "datasource": "<< datasource >>",
1832 "editable": true,1832 "editable": true,
1833 "error": false,1833 "error": false,
1834 "fontSize": "100%",1834 "fontSize": "100%",
@@ -1894,7 +1894,7 @@
1894 "value": "current"1894 "value": "current"
1895 }1895 }
1896 ],1896 ],
1897 "datasource": "{{ datasource }}",1897 "datasource": "<< datasource >>",
1898 "editable": true,1898 "editable": true,
1899 "error": false,1899 "error": false,
1900 "fontSize": "100%",1900 "fontSize": "100%",
@@ -1954,7 +1954,7 @@
1954 "value": "current"1954 "value": "current"
1955 }1955 }
1956 ],1956 ],
1957 "datasource": "{{ datasource }}",1957 "datasource": "<< datasource >>",
1958 "editable": true,1958 "editable": true,
1959 "error": false,1959 "error": false,
1960 "fontSize": "100%",1960 "fontSize": "100%",
@@ -2014,7 +2014,7 @@
2014 "value": "current"2014 "value": "current"
2015 }2015 }
2016 ],2016 ],
2017 "datasource": "{{ datasource }}",2017 "datasource": "<< datasource >>",
2018 "editable": true,2018 "editable": true,
2019 "error": false,2019 "error": false,
2020 "fontSize": "100%",2020 "fontSize": "100%",
@@ -2082,7 +2082,7 @@
2082 {2082 {
2083 "aliasColors": {},2083 "aliasColors": {},
2084 "bars": false,2084 "bars": false,
2085 "datasource": "{{ datasource }}",2085 "datasource": "<< datasource >>",
2086 "decimals": 0,2086 "decimals": 0,
2087 "editable": true,2087 "editable": true,
2088 "error": false,2088 "error": false,
@@ -2160,7 +2160,7 @@
2160 {2160 {
2161 "aliasColors": {},2161 "aliasColors": {},
2162 "bars": false,2162 "bars": false,
2163 "datasource": "{{ datasource }}",2163 "datasource": "<< datasource >>",
2164 "editable": true,2164 "editable": true,
2165 "error": false,2165 "error": false,
2166 "fill": 0,2166 "fill": 0,
@@ -2235,7 +2235,7 @@
2235 {2235 {
2236 "aliasColors": {},2236 "aliasColors": {},
2237 "bars": false,2237 "bars": false,
2238 "datasource": "{{ datasource }}",2238 "datasource": "<< datasource >>",
2239 "editable": true,2239 "editable": true,
2240 "error": false,2240 "error": false,
2241 "fill": 0,2241 "fill": 0,
@@ -2310,7 +2310,7 @@
2310 {2310 {
2311 "aliasColors": {},2311 "aliasColors": {},
2312 "bars": false,2312 "bars": false,
2313 "datasource": "{{ datasource }}",2313 "datasource": "<< datasource >>",
2314 "editable": true,2314 "editable": true,
2315 "error": false,2315 "error": false,
2316 "fill": 0,2316 "fill": 0,
@@ -2385,7 +2385,7 @@
2385 {2385 {
2386 "aliasColors": {},2386 "aliasColors": {},
2387 "bars": false,2387 "bars": false,
2388 "datasource": "{{ datasource }}",2388 "datasource": "<< datasource >>",
2389 "editable": true,2389 "editable": true,
2390 "error": false,2390 "error": false,
2391 "fill": 0,2391 "fill": 0,
@@ -2472,7 +2472,7 @@
2472 {2472 {
2473 "aliasColors": {},2473 "aliasColors": {},
2474 "bars": false,2474 "bars": false,
2475 "datasource": "{{ datasource }}",2475 "datasource": "<< datasource >>",
2476 "editable": true,2476 "editable": true,
2477 "error": false,2477 "error": false,
2478 "fill": 1,2478 "fill": 1,
@@ -2549,7 +2549,7 @@
2549 {2549 {
2550 "aliasColors": {},2550 "aliasColors": {},
2551 "bars": false,2551 "bars": false,
2552 "datasource": "{{ datasource }}",2552 "datasource": "<< datasource >>",
2553 "editable": true,2553 "editable": true,
2554 "error": false,2554 "error": false,
2555 "fill": 1,2555 "fill": 1,
@@ -2627,7 +2627,7 @@
2627 {2627 {
2628 "aliasColors": {},2628 "aliasColors": {},
2629 "bars": false,2629 "bars": false,
2630 "datasource": "{{ datasource }}",2630 "datasource": "<< datasource >>",
2631 "editable": true,2631 "editable": true,
2632 "error": false,2632 "error": false,
2633 "fill": 1,2633 "fill": 1,
@@ -2721,7 +2721,7 @@
2721 {2721 {
2722 "allValue": null,2722 "allValue": null,
2723 "current": {},2723 "current": {},
2724 "datasource": "{{ datasource }}",2724 "datasource": "<< datasource >>",
2725 "hide": 0,2725 "hide": 0,
2726 "includeAll": false,2726 "includeAll": false,
2727 "label": null,2727 "label": null,
@@ -2741,7 +2741,7 @@
2741 {2741 {
2742 "allValue": null,2742 "allValue": null,
2743 "current": {},2743 "current": {},
2744 "datasource": "{{ datasource }}",2744 "datasource": "<< datasource >>",
2745 "hide": 2,2745 "hide": 2,
2746 "includeAll": false,2746 "includeAll": false,
2747 "label": null,2747 "label": null,
@@ -2761,7 +2761,7 @@
2761 {2761 {
2762 "allValue": null,2762 "allValue": null,
2763 "current": {},2763 "current": {},
2764 "datasource": "{{ datasource }}",2764 "datasource": "<< datasource >>",
2765 "hide": 2,2765 "hide": 2,
2766 "includeAll": true,2766 "includeAll": true,
2767 "label": "External networks",2767 "label": "External networks",
@@ -2781,7 +2781,7 @@
2781 {2781 {
2782 "allValue": null,2782 "allValue": null,
2783 "current": {},2783 "current": {},
2784 "datasource": "{{ datasource }}",2784 "datasource": "<< datasource >>",
2785 "hide": 2,2785 "hide": 2,
2786 "includeAll": true,2786 "includeAll": true,
2787 "label": null,2787 "label": null,
@@ -2801,7 +2801,7 @@
2801 {2801 {
2802 "allValue": ".*",2802 "allValue": ".*",
2803 "current": {},2803 "current": {},
2804 "datasource": "{{ datasource }}",2804 "datasource": "<< datasource >>",
2805 "hide": 2,2805 "hide": 2,
2806 "includeAll": true,2806 "includeAll": true,
2807 "label": null,2807 "label": null,
@@ -2821,7 +2821,7 @@
2821 {2821 {
2822 "allValue": ".*",2822 "allValue": ".*",
2823 "current": {},2823 "current": {},
2824 "datasource": "{{ datasource }}",2824 "datasource": "<< datasource >>",
2825 "hide": 0,2825 "hide": 0,
2826 "includeAll": true,2826 "includeAll": true,
2827 "label": "availability zone",2827 "label": "availability zone",
diff --git a/templates/dashboards/prometheus/RabbitMQ.json.j2 b/templates/dashboards/prometheus/RabbitMQ.json.j2
index f0d433e..aa2f706 100644
--- a/templates/dashboards/prometheus/RabbitMQ.json.j2
+++ b/templates/dashboards/prometheus/RabbitMQ.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -60,7 +60,7 @@
60 "bars": false,60 "bars": false,
61 "dashLength": 10,61 "dashLength": 10,
62 "dashes": false,62 "dashes": false,
63 "datasource": "{{ datasource }}",63 "datasource": "<< datasource >>",
64 "fill": 1,64 "fill": 1,
65 "id": 1,65 "id": 1,
66 "legend": {66 "legend": {
@@ -137,7 +137,7 @@
137 "bars": false,137 "bars": false,
138 "dashLength": 10,138 "dashLength": 10,
139 "dashes": false,139 "dashes": false,
140 "datasource": "{{ datasource }}",140 "datasource": "<< datasource >>",
141 "fill": 1,141 "fill": 1,
142 "id": 2,142 "id": 2,
143 "legend": {143 "legend": {
@@ -246,7 +246,7 @@
246 "bars": false,246 "bars": false,
247 "dashLength": 10,247 "dashLength": 10,
248 "dashes": false,248 "dashes": false,
249 "datasource": "{{ datasource }}",249 "datasource": "<< datasource >>",
250 "fill": 1,250 "fill": 1,
251 "id": 3,251 "id": 3,
252 "legend": {252 "legend": {
@@ -323,7 +323,7 @@
323 "bars": false,323 "bars": false,
324 "dashLength": 10,324 "dashLength": 10,
325 "dashes": false,325 "dashes": false,
326 "datasource": "{{ datasource }}",326 "datasource": "<< datasource >>",
327 "fill": 1,327 "fill": 1,
328 "id": 5,328 "id": 5,
329 "legend": {329 "legend": {
@@ -400,7 +400,7 @@
400 "bars": false,400 "bars": false,
401 "dashLength": 10,401 "dashLength": 10,
402 "dashes": false,402 "dashes": false,
403 "datasource": "{{ datasource }}",403 "datasource": "<< datasource >>",
404 "fill": 1,404 "fill": 1,
405 "id": 4,405 "id": 4,
406 "legend": {406 "legend": {
@@ -477,7 +477,7 @@
477 "bars": false,477 "bars": false,
478 "dashLength": 10,478 "dashLength": 10,
479 "dashes": false,479 "dashes": false,
480 "datasource": "{{ datasource }}",480 "datasource": "<< datasource >>",
481 "fill": 1,481 "fill": 1,
482 "id": 6,482 "id": 6,
483 "legend": {483 "legend": {
@@ -566,7 +566,7 @@
566 "bars": false,566 "bars": false,
567 "dashLength": 10,567 "dashLength": 10,
568 "dashes": false,568 "dashes": false,
569 "datasource": "{{ datasource }}",569 "datasource": "<< datasource >>",
570 "fill": 1,570 "fill": 1,
571 "id": 7,571 "id": 7,
572 "legend": {572 "legend": {
@@ -643,7 +643,7 @@
643 "bars": false,643 "bars": false,
644 "dashLength": 10,644 "dashLength": 10,
645 "dashes": false,645 "dashes": false,
646 "datasource": "{{ datasource }}",646 "datasource": "<< datasource >>",
647 "decimals": 2,647 "decimals": 2,
648 "fill": 1,648 "fill": 1,
649 "id": 8,649 "id": 8,
@@ -722,7 +722,7 @@
722 "bars": false,722 "bars": false,
723 "dashLength": 10,723 "dashLength": 10,
724 "dashes": false,724 "dashes": false,
725 "datasource": "{{ datasource }}",725 "datasource": "<< datasource >>",
726 "decimals": 2,726 "decimals": 2,
727 "fill": 1,727 "fill": 1,
728 "id": 9,728 "id": 9,
@@ -801,7 +801,7 @@
801 "bars": false,801 "bars": false,
802 "dashLength": 10,802 "dashLength": 10,
803 "dashes": false,803 "dashes": false,
804 "datasource": "{{ datasource }}",804 "datasource": "<< datasource >>",
805 "decimals": 2,805 "decimals": 2,
806 "fill": 1,806 "fill": 1,
807 "id": 10,807 "id": 10,
diff --git a/templates/dashboards/prometheus/Swift.json.j2 b/templates/dashboards/prometheus/Swift.json.j2
index e9cf9ea..79eaf54 100644
--- a/templates/dashboards/prometheus/Swift.json.j2
+++ b/templates/dashboards/prometheus/Swift.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -61,7 +61,7 @@
61 "bars": false,61 "bars": false,
62 "dashLength": 10,62 "dashLength": 10,
63 "dashes": false,63 "dashes": false,
64 "datasource": "{{ datasource }}",64 "datasource": "<< datasource >>",
65 "fill": 0,65 "fill": 0,
66 "id": 1,66 "id": 1,
67 "legend": {67 "legend": {
@@ -139,7 +139,7 @@
139 "bars": false,139 "bars": false,
140 "dashLength": 10,140 "dashLength": 10,
141 "dashes": false,141 "dashes": false,
142 "datasource": "{{ datasource }}",142 "datasource": "<< datasource >>",
143 "fill": 1,143 "fill": 1,
144 "id": 4,144 "id": 4,
145 "legend": {145 "legend": {
@@ -229,7 +229,7 @@
229 "bars": false,229 "bars": false,
230 "dashLength": 10,230 "dashLength": 10,
231 "dashes": false,231 "dashes": false,
232 "datasource": "{{ datasource }}",232 "datasource": "<< datasource >>",
233 "fill": 4,233 "fill": 4,
234 "id": 2,234 "id": 2,
235 "legend": {235 "legend": {
@@ -308,7 +308,7 @@
308 "bars": false,308 "bars": false,
309 "dashLength": 10,309 "dashLength": 10,
310 "dashes": false,310 "dashes": false,
311 "datasource": "{{ datasource }}",311 "datasource": "<< datasource >>",
312 "description": "Deferred container updates",312 "description": "Deferred container updates",
313 "fill": 1,313 "fill": 1,
314 "id": 3,314 "id": 3,
@@ -398,7 +398,7 @@
398 "bars": false,398 "bars": false,
399 "dashLength": 10,399 "dashLength": 10,
400 "dashes": false,400 "dashes": false,
401 "datasource": "{{ datasource }}",401 "datasource": "<< datasource >>",
402 "fill": 6,402 "fill": 6,
403 "id": 5,403 "id": 5,
404 "legend": {404 "legend": {
@@ -487,7 +487,7 @@
487 "bars": false,487 "bars": false,
488 "dashLength": 10,488 "dashLength": 10,
489 "dashes": false,489 "dashes": false,
490 "datasource": "{{ datasource }}",490 "datasource": "<< datasource >>",
491 "fill": 1,491 "fill": 1,
492 "id": 6,492 "id": 6,
493 "legend": {493 "legend": {
@@ -579,7 +579,7 @@
579 "bars": false,579 "bars": false,
580 "dashLength": 10,580 "dashLength": 10,
581 "dashes": false,581 "dashes": false,
582 "datasource": "{{ datasource }}",582 "datasource": "<< datasource >>",
583 "fill": 6,583 "fill": 6,
584 "id": 9,584 "id": 9,
585 "legend": {585 "legend": {
@@ -668,7 +668,7 @@
668 "bars": false,668 "bars": false,
669 "dashLength": 10,669 "dashLength": 10,
670 "dashes": false,670 "dashes": false,
671 "datasource": "{{ datasource }}",671 "datasource": "<< datasource >>",
672 "fill": 1,672 "fill": 1,
673 "id": 10,673 "id": 10,
674 "legend": {674 "legend": {
@@ -760,7 +760,7 @@
760 "bars": false,760 "bars": false,
761 "dashLength": 10,761 "dashLength": 10,
762 "dashes": false,762 "dashes": false,
763 "datasource": "{{ datasource }}",763 "datasource": "<< datasource >>",
764 "fill": 1,764 "fill": 1,
765 "id": 7,765 "id": 7,
766 "legend": {766 "legend": {
@@ -849,7 +849,7 @@
849 "bars": false,849 "bars": false,
850 "dashLength": 10,850 "dashLength": 10,
851 "dashes": false,851 "dashes": false,
852 "datasource": "{{ datasource }}",852 "datasource": "<< datasource >>",
853 "fill": 1,853 "fill": 1,
854 "id": 8,854 "id": 8,
855 "legend": {855 "legend": {
diff --git a/templates/dashboards/prometheus/Telegraf.json.j2 b/templates/dashboards/prometheus/Telegraf.json.j2
index a58f03e..556149f 100644
--- a/templates/dashboards/prometheus/Telegraf.json.j2
+++ b/templates/dashboards/prometheus/Telegraf.json.j2
@@ -3,7 +3,7 @@
3{3{
4 "__inputs": [4 "__inputs": [
5 {5 {
6 "name": "{{ datasource }}",6 "name": "<< datasource >>",
7 "label": "prometheus - Juju generated source",7 "label": "prometheus - Juju generated source",
8 "description": "",8 "description": "",
9 "type": "datasource",9 "type": "datasource",
@@ -85,7 +85,7 @@
85 "rgba(237, 129, 40, 0.89)",85 "rgba(237, 129, 40, 0.89)",
86 "rgba(245, 54, 54, 0.9)"86 "rgba(245, 54, 54, 0.9)"
87 ],87 ],
88 "datasource": "{{ datasource }}",88 "datasource": "<< datasource >>",
89 "format": "none",89 "format": "none",
90 "gauge": {90 "gauge": {
91 "maxValue": 100,91 "maxValue": 100,
@@ -170,7 +170,7 @@
170 "bars": false,170 "bars": false,
171 "dashLength": 10,171 "dashLength": 10,
172 "dashes": false,172 "dashes": false,
173 "datasource": "{{ datasource }}",173 "datasource": "<< datasource >>",
174 "description": "",174 "description": "",
175 "fill": 1,175 "fill": 1,
176 "id": 1,176 "id": 1,
@@ -264,7 +264,7 @@
264 "bars": false,264 "bars": false,
265 "dashLength": 10,265 "dashLength": 10,
266 "dashes": false,266 "dashes": false,
267 "datasource": "{{ datasource }}",267 "datasource": "<< datasource >>",
268 "description": "",268 "description": "",
269 "fill": 6,269 "fill": 6,
270 "id": 4,270 "id": 4,
@@ -358,7 +358,7 @@
358 "bars": false,358 "bars": false,
359 "dashLength": 10,359 "dashLength": 10,
360 "dashes": false,360 "dashes": false,
361 "datasource": "{{ datasource }}",361 "datasource": "<< datasource >>",
362 "editable": true,362 "editable": true,
363 "error": false,363 "error": false,
364 "fill": 4,364 "fill": 4,
@@ -490,7 +490,7 @@
490 "bars": false,490 "bars": false,
491 "dashLength": 10,491 "dashLength": 10,
492 "dashes": false,492 "dashes": false,
493 "datasource": "{{ datasource }}",493 "datasource": "<< datasource >>",
494 "description": "",494 "description": "",
495 "fill": 1,495 "fill": 1,
496 "id": 14,496 "id": 14,
@@ -568,7 +568,7 @@
568 "bars": false,568 "bars": false,
569 "dashLength": 10,569 "dashLength": 10,
570 "dashes": false,570 "dashes": false,
571 "datasource": "{{ datasource }}",571 "datasource": "<< datasource >>",
572 "description": "",572 "description": "",
573 "fill": 1,573 "fill": 1,
574 "id": 15,574 "id": 15,
@@ -666,7 +666,7 @@
666 "bars": false,666 "bars": false,
667 "dashLength": 10,667 "dashLength": 10,
668 "dashes": false,668 "dashes": false,
669 "datasource": "{{ datasource }}",669 "datasource": "<< datasource >>",
670 "editable": true,670 "editable": true,
671 "error": false,671 "error": false,
672 "fill": 1,672 "fill": 1,
@@ -848,7 +848,7 @@
848 "bars": false,848 "bars": false,
849 "dashLength": 10,849 "dashLength": 10,
850 "dashes": false,850 "dashes": false,
851 "datasource": "{{ datasource }}",851 "datasource": "<< datasource >>",
852 "editable": true,852 "editable": true,
853 "error": false,853 "error": false,
854 "fill": 3,854 "fill": 3,
@@ -955,7 +955,7 @@
955 "bars": false,955 "bars": false,
956 "dashLength": 10,956 "dashLength": 10,
957 "dashes": false,957 "dashes": false,
958 "datasource": "{{ datasource }}",958 "datasource": "<< datasource >>",
959 "editable": true,959 "editable": true,
960 "error": false,960 "error": false,
961 "fill": 0,961 "fill": 0,
@@ -1062,7 +1062,7 @@
1062 "bars": false,1062 "bars": false,
1063 "dashLength": 10,1063 "dashLength": 10,
1064 "dashes": false,1064 "dashes": false,
1065 "datasource": "{{ datasource }}",1065 "datasource": "<< datasource >>",
1066 "fill": 1,1066 "fill": 1,
1067 "id": 16,1067 "id": 16,
1068 "legend": {1068 "legend": {
@@ -1170,7 +1170,7 @@
1170 "bars": false,1170 "bars": false,
1171 "dashLength": 10,1171 "dashLength": 10,
1172 "dashes": false,1172 "dashes": false,
1173 "datasource": "{{ datasource }}",1173 "datasource": "<< datasource >>",
1174 "decimals": null,1174 "decimals": null,
1175 "fill": 1,1175 "fill": 1,
1176 "id": 23,1176 "id": 23,
@@ -1254,7 +1254,7 @@
1254 "bars": true,1254 "bars": true,
1255 "dashLength": 10,1255 "dashLength": 10,
1256 "dashes": false,1256 "dashes": false,
1257 "datasource": "{{ datasource }}",1257 "datasource": "<< datasource >>",
1258 "fill": 1,1258 "fill": 1,
1259 "id": 24,1259 "id": 24,
1260 "legend": {1260 "legend": {
@@ -1333,7 +1333,7 @@
1333 "bars": true,1333 "bars": true,
1334 "dashLength": 10,1334 "dashLength": 10,
1335 "dashes": false,1335 "dashes": false,
1336 "datasource": "{{ datasource }}",1336 "datasource": "<< datasource >>",
1337 "fill": 1,1337 "fill": 1,
1338 "id": 25,1338 "id": 25,
1339 "legend": {1339 "legend": {
@@ -1417,9 +1417,9 @@
1417 "showTitle": true,1417 "showTitle": true,
1418 "title": "Network",1418 "title": "Network",
1419 "titleSize": "h6"1419 "titleSize": "h6"
1420 },1420 }
1421 {% if bcache_enabled %}1421 {% if bcache_enabled %}
1422 {1422 ,{
1423 "collapse": true,1423 "collapse": true,
1424 "height": 250,1424 "height": 250,
1425 "panels": [1425 "panels": [
@@ -1428,7 +1428,7 @@
1428 "bars": false,1428 "bars": false,
1429 "dashLength": 10,1429 "dashLength": 10,
1430 "dashes": false,1430 "dashes": false,
1431 "datasource": "{{ datasource }}",1431 "datasource": "<< datasource >>",
1432 "editable": true,1432 "editable": true,
1433 "error": false,1433 "error": false,
1434 "fill": 0,1434 "fill": 0,
@@ -1509,7 +1509,7 @@
1509 "bars": false,1509 "bars": false,
1510 "dashLength": 10,1510 "dashLength": 10,
1511 "dashes": false,1511 "dashes": false,
1512 "datasource": "{{ datasource }}",1512 "datasource": "<< datasource >>",
1513 "editable": true,1513 "editable": true,
1514 "error": false,1514 "error": false,
1515 "fill": 0,1515 "fill": 0,
@@ -1590,7 +1590,7 @@
1590 "bars": false,1590 "bars": false,
1591 "dashLength": 10,1591 "dashLength": 10,
1592 "dashes": false,1592 "dashes": false,
1593 "datasource": "{{ datasource }}",1593 "datasource": "<< datasource >>",
1594 "editable": true,1594 "editable": true,
1595 "error": false,1595 "error": false,
1596 "fill": 0,1596 "fill": 0,
@@ -1671,7 +1671,7 @@
1671 "bars": false,1671 "bars": false,
1672 "dashLength": 10,1672 "dashLength": 10,
1673 "dashes": false,1673 "dashes": false,
1674 "datasource": "{{ datasource }}",1674 "datasource": "<< datasource >>",
1675 "editable": true,1675 "editable": true,
1676 "error": false,1676 "error": false,
1677 "fill": 0,1677 "fill": 0,
@@ -1764,7 +1764,7 @@
1764 "bars": false,1764 "bars": false,
1765 "dashLength": 10,1765 "dashLength": 10,
1766 "dashes": false,1766 "dashes": false,
1767 "datasource": "{{ datasource }}",1767 "datasource": "<< datasource >>",
1768 "fill": 1,1768 "fill": 1,
1769 "id": 18,1769 "id": 18,
1770 "legend": {1770 "legend": {
@@ -1844,7 +1844,7 @@
1844 "bars": false,1844 "bars": false,
1845 "dashLength": 10,1845 "dashLength": 10,
1846 "dashes": false,1846 "dashes": false,
1847 "datasource": "{{ datasource }}",1847 "datasource": "<< datasource >>",
1848 "fill": 1,1848 "fill": 1,
1849 "id": 19,1849 "id": 19,
1850 "legend": {1850 "legend": {
@@ -1924,7 +1924,7 @@
1924 "bars": false,1924 "bars": false,
1925 "dashLength": 10,1925 "dashLength": 10,
1926 "dashes": false,1926 "dashes": false,
1927 "datasource": "{{ datasource }}",1927 "datasource": "<< datasource >>",
1928 "fill": 1,1928 "fill": 1,
1929 "id": 20,1929 "id": 20,
1930 "legend": {1930 "legend": {
@@ -2005,9 +2005,10 @@
2005 "showTitle": true,2005 "showTitle": true,
2006 "title": "Bcache",2006 "title": "Bcache",
2007 "titleSize": "h6"2007 "titleSize": "h6"
2008 },2008 }
2009 {% endif %}2009 {% endif %}
2010 {2010 {% if conntrack_enabled %}
2011 ,{
2011 "collapse": false,2012 "collapse": false,
2012 "height": 250,2013 "height": 250,
2013 "panels": [2014 "panels": [
@@ -2016,7 +2017,7 @@
2016 "bars": false,2017 "bars": false,
2017 "dashLength": 10,2018 "dashLength": 10,
2018 "dashes": false,2019 "dashes": false,
2019 "datasource": "{{ datasource }}",2020 "datasource": "<< datasource >>",
2020 "fill": 1,2021 "fill": 1,
2021 "id": 21,2022 "id": 21,
2022 "legend": {2023 "legend": {
@@ -2095,7 +2096,7 @@
2095 "bars": false,2096 "bars": false,
2096 "dashLength": 10,2097 "dashLength": 10,
2097 "dashes": false,2098 "dashes": false,
2098 "datasource": "{{ datasource }}",2099 "datasource": "<< datasource >>",
2099 "fill": 1,2100 "fill": 1,
2100 "id": 22,2101 "id": 22,
2101 "legend": {2102 "legend": {
@@ -2177,6 +2178,7 @@
2177 "title": "Kernel",2178 "title": "Kernel",
2178 "titleSize": "h6"2179 "titleSize": "h6"
2179 }2180 }
2181 {% endif %}
2180 ],2182 ],
2181 "schemaVersion": 14,2183 "schemaVersion": 14,
2182 "style": "dark",2184 "style": "dark",
@@ -2186,7 +2188,7 @@
2186 {2188 {
2187 "allValue": ".*",2189 "allValue": ".*",
2188 "current": {},2190 "current": {},
2189 "datasource": "{{ datasource }}",2191 "datasource": "<< datasource >>",
2190 "hide": 0,2192 "hide": 0,
2191 "includeAll": false,2193 "includeAll": false,
2192 "label": "non-juju hosts",2194 "label": "non-juju hosts",

Subscribers

People subscribed via source and target branches