summaryrefslogtreecommitdiffstats
path: root/web/registry.html
blob: 74c676228aff63a04d6f0b1b38db2e4f8ef9830c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<!DOCTYPE html>
<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://my-netdata.io/images/seo-performance-512.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." />
    
    <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/firehol/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/firehol/netdata/wiki/mynetdata-menu-item" style="color: #666;" target="_blank">failed to contact the registry...</a></li>';

            a1 += '<li><a href="#">&nbsp;</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="#">&nbsp;</a></li>' +
                    '<li><a href="#">&nbsp;</a></li>'+
                    '<li><a href="#">&nbsp;</a></li>';
        }

        el += '<li role="separator" class="divider"></li>';
        a1 += '<li role="separator" class="divider"></li>';

        el += '<li><a href="https://github.com/firehol/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?v42"></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>

    <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>
<body>
&nbsp;
<div id="mynetdata_servers" class="registry-container" onscroll="NETDATA.onscroll();">

    Loading....

</div> <!-- registry-container -->
</body>
</html>