From 5053b1c137d1d22678a416abbaf4dd4cce3e5285 Mon Sep 17 00:00:00 2001 From: Rutuja Surve Date: Tue, 30 Jan 2018 16:52:33 +0000 Subject: 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 --- monitor/custom-dashboard.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 monitor/custom-dashboard.py (limited to 'monitor/custom-dashboard.py') 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") + -- cgit 1.2.3-korg