diff options
Diffstat (limited to 'web/gui/registry.html')
-rw-r--r-- | web/gui/registry.html | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/web/gui/registry.html b/web/gui/registry.html new file mode 100644 index 000000000..3be7952e2 --- /dev/null +++ b/web/gui/registry.html @@ -0,0 +1,203 @@ +<!DOCTYPE html> +<!-- SPDX-License-Identifier: GPL-3.0-or-later --> +<html lang="en"> +<head> + <title>NetData Registry Dashboard</title> + <meta name="application-name" content="netdata"> + + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="apple-mobile-web-app-capable" content="yes"> + <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> + + <meta property="og:locale" content="en_US" /> + <meta property="og:image" content="https://cloud.githubusercontent.com/assets/2662304/22945737/e98cd0c6-f2fd-11e6-96f1-5501934b0955.png"/> + <meta property="og:url" content="http://my-netdata.io/"/> + <meta property="og:type" content="website"/> + <meta property="og:site_name" content="netdata"/> + <meta property="og:title" content="netdata - real-time performance monitoring, done right!"/> + <meta property="og:description" content="Stunning real-time dashboards, blazingly fast and extremely interactive. Zero configuration, zero dependencies, zero maintenance." /> + + <style> + .registry-container { + margin-left: 50px; + max-width: 400px; + min-width: 200px; + border: 1px solid #555; + max-height: 80vh; + height: auto; + overflow-x: hidden; + /* background-color: #3a3f44; */ + text-align: center; + } + .registry-server-container { + width: 100%; + height: auto; + overflow-x: hidden; + font-size: 10px; + padding-left: 10px; + padding-right: 10px; + } + .registry-server-container:hover { + color: #f5f5f5; + background-color: #262626; + } + .registry-server-name { + display: block; + text-decoration: none !important; + clear: both; + font-size: 16px; + font-weight: bold; + white-space: normal; + padding-top: 10px; + } + </style> +</head> +<script> +// this section has to appear before loading dashboard.js + +// Select a theme. +// uncomment on of the two themes: + +// var netdataTheme = 'default'; // this is white +var netdataTheme = 'slate'; // this is dark + + +// Set the default netdata server. +// on charts without a 'data-host', this one will be used. +// the default is the server that dashboard.js is downloaded from. + +// var netdataServer = 'http://my.server:19999/'; + +function registryGotoServer(guid) { + console.log('goto server: ' + guid); +} + +function registryAddServer(u) { + return '<div id="registry_server_' + u.guid + '" class="registry-server-container" onClick="registryGotoServer(\'' + u.guid + '\'); return false;">' + + '<div class="registry-server-name">' + u.name + '</div>' + + '<div data-netdata="system.cpu"' + + ' data-host="' + u.url + '"' + + ' data-chart-library="sparkline"' + + ' data-sparkline-chartrangemin="0"' + + ' data-sparkline-chartrangemax="100"' + + ' data-sparkline-chartrangeclip="true"' + + ' data-sparkline-disabletooltips="true"' + + ' data-sparkline-disableinteraction="true"' + + ' data-sparkline-disablehighlight="true"' + + ' data-sparkline-linecolor="#444"' + + ' data-sparkline-spotcolor="disable"' + + ' data-sparkline-minspotcolor="disable"' + + ' data-sparkline-maxspotcolor="disable"' + + ' data-width="100%"' + + ' data-height="20px"' + + ' data-after="-200"' + + '></div>' + + '</div>'; +} + +var netdataRegistryCallback = function(machines_array) { + var el = ''; + var a1 = ''; + var found = 0; + + if(machines_array) { + function name_comparator_desc(a, b) { + if (a.name > b.name) return -1; + if (a.name < b.name) return 1; + return 0; + } + + var machines = machines_array.sort(name_comparator_desc); + var len = machines.length; + while(len--) { + var u = machines[len]; + + //var status = "enabled"; + found++; + + //if(u.guid === NETDATA.registry.machine_guid) + // status = "disabled"; + + el += registryAddServer(u); + a1 += '<li id="registry_action_' + u.guid + '"><a href="#" onclick="deleteRegistryModalHandler(\'' + u.guid + '\',\'' + u.name + '\',\'' + u.url + '\'); return false;"><i class="fa fa-trash-o" aria-hidden="true" style="color: #999;"></i></a></li>'; + } + } + + if(!found) { + if(machines) + el += '<li><a href="https://github.com/netdata/netdata/wiki/mynetdata-menu-item" style="color: #666;" target="_blank">your netdata server list is empty...</a></li>'; + else + el += '<li><a href="https://github.com/netdata/netdata/wiki/mynetdata-menu-item" style="color: #666;" target="_blank">failed to contact the registry...</a></li>'; + + a1 += '<li><a href="#"> </a></li>'; + + el += '<li role="separator" class="divider"></li>' + + '<li><a href="//london.netdata.rocks/default.html">EU - London (DigitalOcean.com)</a></li>' + + '<li><a href="//atlanta.netdata.rocks/default.html">US - Atlanta (CDN77.com)</a></li>' + + '<li><a href="//athens.netdata.rocks/default.html">EU - Athens</a></li>'; + a1 += '<li role="separator" class="divider"></li>' + + '<li><a href="#"> </a></li>' + + '<li><a href="#"> </a></li>'+ + '<li><a href="#"> </a></li>'; + } + + el += '<li role="separator" class="divider"></li>'; + a1 += '<li role="separator" class="divider"></li>'; + + el += '<li><a href="https://github.com/netdata/netdata/wiki/mynetdata-menu-item" style="color: #999;" target="_blank">What is this?</a></li>'; + a1 += '<li><a href="#" style="color: #999;" onclick="switchRegistryModalHandler(); return false;"><i class="fa fa-cog" aria-hidden="true" style="color: #999;"></i></a></li>'; + + document.getElementById('mynetdata_servers').innerHTML = el; + //document.getElementById('mynetdata_servers2').innerHTML = el; + //document.getElementById('mynetdata_actions1').innerHTML = a1; + NETDATA.updatedDom(); +}; +</script> + +<!-- + Load dashboard.js + + to host this HTML file on your web server, + you have to load dashboard.js from the netdata server. + + So, pick one the two below + If you pick the first, set the server name/IP. + + The second assumes you host this file on /usr/share/netdata/web + and that you have chown it to be owned by netdata:netdata +--> +<!-- <script type="text/javascript" src="http://my.server:19999/dashboard.js"></script> --> +<script type="text/javascript" src="dashboard.js?v20170724-7"></script> + +<script> +// Set options for TV operation +// This has to be done, after dashboard.js is loaded + +// destroy charts not shown (lowers memory on the browser) +NETDATA.options.current.destroy_on_hide = true; + +// set this to false, to always show all dimensions +NETDATA.options.current.eliminate_zero_dimensions = true; + +// lower the pressure on this browser +NETDATA.options.current.concurrent_refreshes = true; + +// if the tv browser is too slow (a pi?) +// set this to false +NETDATA.options.current.parallel_refresher = true; + +// always update the charts, even if focus is lost +// NETDATA.options.current.stop_updates_when_focus_is_lost = false; +</script> +<body> + +<div id="mynetdata_servers" class="registry-container" onscroll="NETDATA.onscroll();"> + + Loading.... + +</div> <!-- registry-container --> +</body> +</html> |