X-Git-Url: https://arthur.barton.de/gitweb/?p=netdata.git;a=blobdiff_plain;f=web%2Findex.html;h=b62306a2655ae56069a26e1bb909d0a1b94ee4e1;hp=a0c155e26b65d67c68619a71fd32b146340aa5d4;hb=8679670bdbe3c5928ec2e266d9c72e1a758fdf37;hpb=40647ad1863655da5c42e0cac539a29468456d01 diff --git a/web/index.html b/web/index.html index a0c155e2..b62306a2 100644 --- a/web/index.html +++ b/web/index.html @@ -601,6 +601,8 @@ var len, i, url, hostname, icon; if(options.hosts.length > 1) { + // there are mirrored hosts here + el += '
  • databases available on this host
  • '; a1 += '
  • '; @@ -611,11 +613,19 @@ if(base.endsWith("/")) base = base.substring(0, base.length - 1); + var master = options.hosts[0].hostname; + var sorted = options.hosts.sort(function(a, b) { + if(a.hostname === master) return -1; + if(a.hostname === b.hostname) return 0; + else if(a.hostname > b.hostname) return 1; + return -1; + }); + i = 0; - len = options.hosts.length; + len = sorted.length; while(len--) { - hostname = options.hosts[i].hostname; - if(i == 0) { + hostname = sorted[i].hostname; + if(hostname == master) { url = base + "/"; icon = "home"; } @@ -982,6 +992,14 @@ // ---------------------------------------------------------------------------- + // user editable information + var customDashboard = { + menu: {}, + submenu: {}, + context: {} + }; + + // netdata standard information var netdataDashboard = { sparklines_registry: {}, os: 'unknown', @@ -1153,12 +1171,16 @@ chart.menu = chart.type; if(parts.length > 2 && parts[1] === 'cache') chart.menu_pattern = tmp + '_' + parts[1]; + else if(parts.length > 1) + chart.menu_pattern = tmp; break; case 'bind': chart.menu = chart.type; if(parts.length > 2 && parts[1] === 'rndc') chart.menu_pattern = tmp + '_' + parts[1]; + else if(parts.length > 1) + chart.menu_pattern = tmp; break; case 'cgroup': @@ -1173,12 +1195,16 @@ chart.menu = chart.type; if(parts.length > 2 && parts[1] === 'dhcpd') chart.menu_pattern = tmp + '_' + parts[1]; + else if(parts.length > 1) + chart.menu_pattern = tmp; break; case 'ovpn': chart.menu = chart.type; if(parts.length > 3 && parts[1] === 'status' && parts[2] === 'log') chart.menu_pattern = tmp + '_' + parts[1]; + else if(parts.length > 1) + chart.menu_pattern = tmp; break; case 'smartd': @@ -1186,28 +1212,8 @@ chart.menu = chart.type; if(parts.length > 2 && parts[1] === 'log') chart.menu_pattern = tmp + '_' + parts[1]; - break; - - case 'dovecot': - case 'exim': - case 'hddtemp': - case 'ipfs': - case 'memcached': - case 'mysql': - case 'named': - case 'nginx': - case 'nut': - case 'phpfpm': - case 'postfix': - case 'postgres': - case 'redis': - case 'retroshare': - case 'smawebbox': - case 'snmp': - case 'squid': - case 'tomcat': - chart.menu = chart.type; - chart.menu_pattern = tmp; + else if(parts.length > 1) + chart.menu_pattern = tmp; break; case 'tc': @@ -1238,6 +1244,8 @@ default: chart.menu = chart.type; + if(parts.length > 1) + chart.menu_pattern = tmp; break; } @@ -2278,6 +2286,43 @@ document.getElementById('alarms_count_badge').innerHTML = ''; } + function initializeDynamicDashboardWithData(data) { + if(data !== null) { + options.hostname = data.hostname; + options.data = data; + options.version = data.version; + netdataDashboard.os = data.os; + + if(typeof data.hosts != 'undefined') + options.hosts = data.hosts; + + // update the dashboard hostname + document.getElementById('hostname').innerHTML = options.hostname; + document.getElementById('hostname').href = NETDATA.serverDefault; + document.getElementById('netdataVersion').innerHTML = options.version; + + // update the dashboard title + document.title = options.hostname + ' netdata dashboard'; + + // close the splash screen + $("#loadOverlay").css("display","none"); + + // create a chart_by_name index + data.charts_by_name = {}; + var charts = data.charts; + var x; + for(x in charts) { + if(!charts.hasOwnProperty(x)) continue; + + var chart = charts[x]; + data.charts_by_name[chart.name] = chart; + } + + // render all charts + renderChartsAndMenu(data); + } + } + function initializeDynamicDashboard(netdata_url) { if(typeof netdata_url === 'undefined' || netdata_url === null) netdata_url = NETDATA.serverDefault; @@ -2292,39 +2337,16 @@ // download all the charts the server knows NETDATA.chartRegistry.downloadAll(netdata_url, function(data) { - if(data !== null) { - options.hostname = data.hostname; - options.data = data; - options.version = data.version; - netdataDashboard.os = data.os; - - if(typeof data.hosts != 'undefined') - options.hosts = data.hosts; - - // update the dashboard hostname - document.getElementById('hostname').innerHTML = options.hostname; - document.getElementById('hostname').href = NETDATA.serverDefault; - document.getElementById('netdataVersion').innerHTML = options.version; - - // update the dashboard title - document.title = options.hostname + ' netdata dashboard'; - - // close the splash screen - $("#loadOverlay").css("display","none"); - - // create a chart_by_name index - data.charts_by_name = {}; - var charts = data.charts; - var x; - for(x in charts) { - if(!charts.hasOwnProperty(x)) continue; - - var chart = charts[x]; - data.charts_by_name[chart.name] = chart; + if(data != null) { + if(typeof data.custom_info !== 'undefined' && data.custom_info !== "") { + loadJs(data.custom_info, function () { + $.extend(true, netdataDashboard, customDashboard); + initializeDynamicDashboardWithData(data); + }); + } + else { + initializeDynamicDashboardWithData(data); } - - // render all charts - renderChartsAndMenu(data); } }); });