summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu Yang (Gabriel) <Gabriel.yuyang@huawei.com>2018-04-02 04:08:13 +0000
committerGerrit Code Review <gerrit@opnfv.org>2018-04-02 04:08:14 +0000
commitc4a33d033497629b5e0b2ef1b269742eb26b0502 (patch)
tree351b35616cc50ac2eaf4d412846c7c639be3a2ac
parentd10c4644d44f707998c7f05dc72ec4913576b752 (diff)
parent5053b1c137d1d22678a416abbaf4dd4cce3e5285 (diff)
Merge "Grafana Dashboard customization script"
-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 0000000..48173f8
--- /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 0000000..8ee8357
--- /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
+ }
+ ]
+}