summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRutuja Surve <rutuja.r.surve@gmail.com>2018-01-30 16:52:33 +0000
committerRutuja Surve <rutuja.r.surve@gmail.com>2018-02-21 14:04:29 +0000
commit5053b1c137d1d22678a416abbaf4dd4cce3e5285 (patch)
treed94dc623804b8d20d80586361d4cf56eacb3ad18
parentc9dc6c5ff980c32f82b0533e5a25eabebfbd0c6a (diff)
Grafana Dashboard customization script
JIRA: BOTTLENECK-182 Customization of dashboard with respect to query for a particular panel Change-Id: Ic8730c2fc1540fc41d1206b4610beb7b304825ae Signed-off-by: Rutuja Surve <rutuja.r.surve@gmail.com>
-rw-r--r--monitor/custom-dashboard.py31
-rw-r--r--monitor/custom-query-dashboard.json36
2 files changed, 67 insertions, 0 deletions
diff --git a/monitor/custom-dashboard.py b/monitor/custom-dashboard.py
new file mode 100644
index 00000000..48173f8e
--- /dev/null
+++ b/monitor/custom-dashboard.py
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2018 Huawei Tech and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+import json
+
+def customize_query(filename, rowtitle, panelname, expr):
+ with open(filename, 'r+') as f:
+ data = json.load(f)
+ x = data['rows'] #this is an array of the rows of the dashboard
+ for y in x:
+ if y['title'] == rowtitle:
+ pan = y['panels']
+ for i in range(len(pan)-1) :
+ z = pan[i]
+ if z['title'] == panelname:
+ tar = z['targets']
+ for a in tar:
+ a['expr'] = expr
+ f.seek(0) # <--- reset file position to start
+ json.dump(data, f, indent=4)
+ f.truncate()
+
+customize_query("/home/opnfv/bottlenecks/monitor/custom-query-dashboard.json",
+ "Dashboard Row", "Memory Usage per Container", "Sample Prometheus Query")
+
diff --git a/monitor/custom-query-dashboard.json b/monitor/custom-query-dashboard.json
new file mode 100644
index 00000000..8ee83570
--- /dev/null
+++ b/monitor/custom-query-dashboard.json
@@ -0,0 +1,36 @@
+{
+ "rows": [
+ {
+ "repeat": null,
+ "titleSize": "h6",
+ "repeatIteration": null,
+ "title": "Dashboard Row",
+ "height": 150,
+ "repeatRowId": null,
+ "panels": [
+ {
+ "title": "Memory Usage per Container",
+ "aliasColors": {},
+ "id": 31,
+ "cacheTimeout": null,
+ "valueName": "current",
+ "targets": [
+ {
+ "hide": false,
+ "expr": "Pre-existing Query",
+ "step": 1800,
+ "legendFormat": "",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ]
+ },
+ {
+ "content": "Sample Content"
+ }
+ ],
+ "showTitle": false,
+ "collapse": true
+ }
+ ]
+}