diff --git a/bin/monit-dashboard.py b/bin/monit-dashboard.py index 779b941..8549c9a 100755 --- a/bin/monit-dashboard.py +++ b/bin/monit-dashboard.py @@ -25,6 +25,20 @@ output = [] # Functions +def calculate_percentage(data): + perc = {} + ls = data.values() + z, nz = 0,0 + for v in ls: + if v == 0: + z += 1 + else: + nz += 1 + perc['green'] = (float(z)*100)/len(ls) + perc['red'] = (float(nz)*100)/len(ls) + return perc + + def getMonit(): output = [] xmlQuery = "/_status?format=xml" @@ -51,7 +65,9 @@ def getMonit(): sorted_checks = OrderedDict() sorted_checks = OrderedDict(sorted(checks.iteritems(), key=itemgetter(1), reverse=True)) - server = dict(name=site, url=s['url'], result=sorted_checks) + perc = calculate_percentage(sorted_checks) + print perc + server = dict(name=site, url=s['url'], result=sorted_checks, s_rate=perc) output.append(server) diff --git a/static/monit-dashboard.js b/static/monit-dashboard.js index 9f116f4..4ee5d14 100644 --- a/static/monit-dashboard.js +++ b/static/monit-dashboard.js @@ -8,12 +8,15 @@ for (i = 0; i < acc.length; i++) { } } -function draw(data) { +function draw(rate) { + console.log(rate) + var green = (rate['green']*2)/100; + var red = (rate['red']*2)/100; var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var colors = ['#40ff00', '#ff0000']; - var angles = [Math.PI * 1.5, Math.PI * data]; + var angles = [Math.PI * green, Math.PI * red]; var offset = 0; var beginAngle = 0; var endAngle = 0; diff --git a/templates/index.html b/templates/index.html index 06f9e5d..174c06a 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,7 +1,6 @@ $def with (output, now) -$ data = 0.4 - + $ errors = 0 $ color = "green" $for server in range(len(output)):