diff options
author | Simon Rettberg | 2015-11-19 12:13:36 +0100 |
---|---|---|
committer | Simon Rettberg | 2015-11-19 12:13:36 +0100 |
commit | 66aac2e67e35bd987bc3750b63f2734e47d0d57d (patch) | |
tree | b9881051c3587a00fa56972c6b449731689cdd68 /templates | |
parent | [request.inc.php] Add optional parameter to control variable type (diff) | |
download | slx-admin-66aac2e67e35bd987bc3750b63f2734e47d0d57d.tar.gz slx-admin-66aac2e67e35bd987bc3750b63f2734e47d0d57d.tar.xz slx-admin-66aac2e67e35bd987bc3750b63f2734e47d0d57d.zip |
Implement statistics logging
DB scheme update is still missing, might still change a little...
Diffstat (limited to 'templates')
-rw-r--r-- | templates/main-menu.html | 4 | ||||
-rw-r--r-- | templates/statistics/clientlist.html | 26 | ||||
-rw-r--r-- | templates/statistics/cpumodels.html | 49 | ||||
-rw-r--r-- | templates/statistics/id44.html | 48 | ||||
-rw-r--r-- | templates/statistics/kvmstate.html | 47 | ||||
-rw-r--r-- | templates/statistics/machine-hdds.html | 55 | ||||
-rw-r--r-- | templates/statistics/machine-main.html | 79 | ||||
-rw-r--r-- | templates/statistics/memory.html | 47 |
8 files changed, 354 insertions, 1 deletions
diff --git a/templates/main-menu.html b/templates/main-menu.html index 57576fd7..3e3a1d90 100644 --- a/templates/main-menu.html +++ b/templates/main-menu.html @@ -32,8 +32,10 @@ <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{lang_status}}<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="?do=SystemStatus">{{lang_serverStatus}}</a></li> - <li><a href="?do=SysLog">{{lang_clientLog}}</a></li> <li><a href="?do=EventLog">{{lang_eventLog}}</a></li> + <li class="divider"></li> + <li><a href="?do=SysLog">{{lang_clientLog}}</a></li> + <li><a href="?do=Statistics">{{lang_clientStats}}</a></li> </ul> </li> <li> diff --git a/templates/statistics/clientlist.html b/templates/statistics/clientlist.html new file mode 100644 index 00000000..e5f91493 --- /dev/null +++ b/templates/statistics/clientlist.html @@ -0,0 +1,26 @@ +<h1>{{lang_clientList}}</h1> +<div class="pull-right">{{filter}} ~= {{argument}}</div> +<div class="clearfix"></div> + +<table class="table table-condensed table-striped"> + <tr> + <th>{{lang_machine}}</th> + <th>{{lang_address}}</th> + <th class="text-right">{{lang_lastBoot}}</th> + <th>{{lang_kvmSupport}}</th> + <th class="text-right">{{lang_gbRam}}</th> + <th class="text-right">{{lang_tmpGb}}</th> + <th>{{lang_cpuModel}}</th> + </tr> + {{#rows}} + <tr> + <td class="slx-nowrap"><a href="?do=Statistics&uuid={{machineuuid}}"><b>{{hostname}}</b></a><div class="small">{{machineuuid}}</div></td> + <td><b><a href="?do=Statistics&filter=subnet&argument={{subnet}}">{{subnet}}</a>{{lastoctet}}</b><br>{{macaddr}}</td> + <td class="text-right">{{lastboot}}</td> + <td class="{{kvmclass}}">{{kvmstate}}</td> + <td class="text-right {{ramclass}}">{{gbram}} GiB</td> + <td class="text-right {{hddclass}}">{{gbtmp}} GiB</td> + <td>{{lang_realCores}}: {{realcores}}<div class="small">{{cpumodel}}</div></td> + </tr> + {{/rows}} +</table>
\ No newline at end of file diff --git a/templates/statistics/cpumodels.html b/templates/statistics/cpumodels.html new file mode 100644 index 00000000..c3d43aa4 --- /dev/null +++ b/templates/statistics/cpumodels.html @@ -0,0 +1,49 @@ +<div class="col-md-12"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_cpuStats}} + </div> + <div class="panel-body"> + <div class="row"> + <div class="col-md-8"> + <table class="table table-condensed table-striped"> + <tr> + <th>{{lang_cpuName}}</th> + <th class="text-right">{{lang_cpuCores}}</th> + <th class="text-right">{{lang_cpuCount}}</th> + </tr> + {{#rows}} + <tr id="{{id}}"> + <td class="text-left slx-nowrap"><a href="?do=Statistics&filter=cpumodel&argument={{urlcpumodel}}">{{cpumodel}}</a></td> + <td class="text-right"><a href="?do=Statistics&filter=realcores&argument={{realcores}}">{{realcores}}</a></td> + <td class="text-right">{{count}}</td> + </tr> + {{/rows}} + </table> + </div> + <div class="col-md-4"> + <canvas id="cpumodelchart" style="width:100%;height:380px"></canvas> + <script type="text/javascript"> + document.addEventListener("DOMContentLoaded", function() { + var data = {{{json}}}; + var sel = false; + new Chart(document.getElementById('cpumodelchart').getContext('2d')).Pie(data, { + animation: false, + tooltipTemplate: "<%if (label){%><%=label%><%}%>", + customTooltips: function(tooltip) { + if (!tooltip) { + if (sel !== false) sel.removeClass('info'); + sel = false; + return; + } + sel = $('#' + tooltip.text); + sel.addClass('info'); + } + }); + }, false); + </script> + </div> + </div> + </div> + </div> +</div>
\ No newline at end of file diff --git a/templates/statistics/id44.html b/templates/statistics/id44.html new file mode 100644 index 00000000..cd4e32d7 --- /dev/null +++ b/templates/statistics/id44.html @@ -0,0 +1,48 @@ +<div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_tempPartStats}} + </div> + <div class="panel-body"> + <div class="row"> + <div class="col-md-6"> + <table class="table table-condensed table-striped"> + <tr> + <th>{{lang_partitionSize}}</th> + <th class="text-right">{{lang_machineCount}}</th> + </tr> + {{#rows}} + <tr id="tmpid{{gb}}"> + <td class="text-left slx-nowrap"><a href="?do=Statistics&filter=hddgb&argument={{gb}}">{{gb}} GiB</td> + <td class="text-right">{{count}}</td> + </tr> + {{/rows}} + </table> + </div> + <div class="col-md-6"> + <canvas id="temppartchart" style="width:100%;height:250px"></canvas> + <script type="text/javascript"> + document.addEventListener("DOMContentLoaded", function() { + var data = {{{json}}}; + var sel = false; + new Chart(document.getElementById('temppartchart').getContext('2d')).Pie(data, { + animation: false, + tooltipTemplate: "<%if (label){%><%=label%><%}%>", + customTooltips: function(tooltip) { + if (!tooltip) { + if (sel !== false) sel.removeClass('info'); + sel = false; + return; + } + sel = $('#tmpid' + String(tooltip.text)); + console.log('#tmpid' + String(tooltip.text)); + sel.addClass('info'); + } + }); + }, false); + </script> + </div> + </div> + </div> + </div> +</div>
\ No newline at end of file diff --git a/templates/statistics/kvmstate.html b/templates/statistics/kvmstate.html new file mode 100644 index 00000000..ea95df4e --- /dev/null +++ b/templates/statistics/kvmstate.html @@ -0,0 +1,47 @@ +<div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_kvmStats}} + </div> + <div class="panel-body"> + <div class="row"> + <div class="col-md-6"> + <table class="table table-condensed table-striped"> + <tr> + <th>{{lang_kvmState}}</th> + <th class="text-right">{{lang_machineCount}}</th> + </tr> + {{#rows}} + <tr id="kvm{{kvmstate}}"> + <td class="text-left slx-nowrap"><a href="?do=Statistics&filter=kvmstate&argument={{kvmstate}}">{{kvmstate}}</a></td> + <td class="text-right">{{count}}</td> + </tr> + {{/rows}} + </table> + </div> + <div class="col-md-6"> + <canvas id="kvmchart" style="width:100%;height:250px"></canvas> + <script type="text/javascript"> + document.addEventListener("DOMContentLoaded", function() { + var data = {{{json}}}; + var sel = false; + new Chart(document.getElementById('kvmchart').getContext('2d')).Pie(data, { + animation: false, + tooltipTemplate: "<%if (label){%><%=label%><%}%>", + customTooltips: function(tooltip) { + if (!tooltip) { + if (sel !== false) sel.removeClass('info'); + sel = false; + return; + } + sel = $('#kvm' + tooltip.text); + sel.addClass('info'); + } + }); + }, false); + </script> + </div> + </div> + </div> + </div> +</div>
\ No newline at end of file diff --git a/templates/statistics/machine-hdds.html b/templates/statistics/machine-hdds.html new file mode 100644 index 00000000..98cf65c5 --- /dev/null +++ b/templates/statistics/machine-hdds.html @@ -0,0 +1,55 @@ +<h3>{{lang_hdds}}</h3> +<div class="row"> + {{#hdds}} + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{dev}} + </div> + <div class="panel-body"> + <div class="row"> + <div class="col-sm-6"> + <table class="table table-condensed table-striped table-responsive"> + <tr> + <th>{{lang_partName}}</th> + <th class="text-right">{{lang_partSize}}</th> + <th>{{lang_partType}}</th> + </tr> + {{#partitions}} + <tr id="{{id}}"> + <td>{{name}}</td> + <td class="text-right">{{size}} GiB</td> + <td>{{type}}</td> + </tr> + {{/partitions}} + </table> + <div class="slx-bold">{{lang_total}}: {{size}} GiB</div> + </div> + <div class="col-sm-6"> + <canvas id="{{devid}}-chart" style="width:100%;height:250px"></canvas> + <script type="text/javascript"> + document.addEventListener("DOMContentLoaded", function() { + var data = {{{json}}}; + var sel = false; + new Chart(document.getElementById('{{devid}}-chart').getContext('2d')).Pie(data, { + animation: false, + tooltipTemplate: "<%if (label){%><%=label%><%}%>", + customTooltips: function(tooltip) { + if (!tooltip) { + if (sel !== false) sel.removeClass('info'); + sel = false; + return; + } + sel = $('#' + tooltip.text); + sel.addClass('info'); + } + }); + }, false); + </script> + </div> + </div> + </div> + </div> + </div> + {{/hdds}} +</div>
\ No newline at end of file diff --git a/templates/statistics/machine-main.html b/templates/statistics/machine-main.html new file mode 100644 index 00000000..ac8b8001 --- /dev/null +++ b/templates/statistics/machine-main.html @@ -0,0 +1,79 @@ +<h1>{{hostname}} {{#hostname}}–{{/hostname}} {{clientip}}</h1> + +<div class="row"> + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_machineSummary}} + </div> + <div class="panel-body"> + <table class="table table-condensed"> + <tr> + <td>{{lang_uuid}}</td> + <td>{{machineuuid}}</td> + </tr> + <tr> + <td>{{lang_macAddr}}</td> + <td>{{macaddr}}</td> + </tr> + <tr> + <td>{{lang_ip}}</td> + <td>{{clientip}}</td> + </tr> + {{#hostname}} + <tr> + <td>{{lang_hostname}}</td> + <td>{{hostname}}</td> + </tr> + {{/hostname}} + <tr> + <td>{{lang_firstSeen}}</td> + <td>{{firstseen}}</td> + </tr> + <tr> + <td>{{lang_lastBoot}}</td> + <td>{{lastboot}}</td> + </tr> + <tr> + <td>{{lang_lastSeen}}</td> + <td>{{lastseen}}</td> + </tr> + </table> + </div> + </div> + </div> + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_hardwareSummary}} + </div> + <div class="panel-body"> + <table class="table table-condensed"> + <tr> + <td>{{lang_cpuModel}}</td> + <td> + {{cpumodel}} + {{#Sockets}} + <div class="small"> + {{lang_sockets}}: {{Sockets}}, {{lang_cores}}: {{Realcores}}, {{lang_virtualCores}}: {{Virtualcores}} + </div> + {{/Sockets}} + </td> + </tr> + <tr class="{{ramclass}}"> + <td>{{lang_ram}}</td> + <td>{{gbram}} GiB</td> + </tr> + <tr class="{{hddclass}}"> + <td>{{lang_tempPart}}</td> + <td>{{gbtmp}} GiB</td> + </tr> + <tr class="{{kvmclass}}"> + <td>{{lang_64bitSupport}}</td> + <td>{{kvmstate}}</td> + </tr> + </table> + </div> + </div> + </div> +</div>
\ No newline at end of file diff --git a/templates/statistics/memory.html b/templates/statistics/memory.html new file mode 100644 index 00000000..b9ee77fb --- /dev/null +++ b/templates/statistics/memory.html @@ -0,0 +1,47 @@ +<div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_memoryStats}} + </div> + <div class="panel-body"> + <div class="row"> + <div class="col-md-6"> + <table class="table table-condensed table-striped"> + <tr> + <th>{{lang_ramSize}}</th> + <th class="text-right">{{lang_machineCount}}</th> + </tr> + {{#rows}} + <tr id="ramid{{gb}}"> + <td class="text-left slx-nowrap"><a href="?do=Statistics&filter=gbram&argument={{gb}}">{{gb}} GiB</a></td> + <td class="text-right">{{count}}</td> + </tr> + {{/rows}} + </table> + </div> + <div class="col-md-6"> + <canvas id="ramsizechart" style="width:100%;height:250px"></canvas> + <script type="text/javascript"> + document.addEventListener("DOMContentLoaded", function() { + var data = {{{json}}}; + var sel = false; + new Chart(document.getElementById('ramsizechart').getContext('2d')).Pie(data, { + animation: false, + tooltipTemplate: "<%if (label){%><%=label%><%}%>", + customTooltips: function(tooltip) { + if (!tooltip) { + if (sel !== false) sel.removeClass('info'); + sel = false; + return; + } + sel = $('#ramid' + tooltip.text); + sel.addClass('info'); + } + }); + }, false); + </script> + </div> + </div> + </div> + </div> +</div>
\ No newline at end of file |