diff options
author | Simon Rettberg | 2016-05-03 19:03:09 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-05-03 19:03:09 +0200 |
commit | 50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66 (patch) | |
tree | 05e99fdffa696434960d7c77966c0bc36d6339e8 /modules-available/systemstatus/templates | |
parent | Second half of merge.... (diff) | |
download | slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.gz slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.xz slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.zip |
WIP
Diffstat (limited to 'modules-available/systemstatus/templates')
5 files changed, 321 insertions, 0 deletions
diff --git a/modules-available/systemstatus/templates/_page.html b/modules-available/systemstatus/templates/_page.html new file mode 100644 index 00000000..51aa5b55 --- /dev/null +++ b/modules-available/systemstatus/templates/_page.html @@ -0,0 +1,129 @@ +{{#rebootTask}} +<div data-tm-id="{{rebootTask}}" data-tm-log="messages">Reboot...</div> +{{/rebootTask}} + +<div class="row"> + + <div class="col-sm-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_space}} + </div> + <div class="panel-body" id="diskstat"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> + </div> + </div> + + <div class="col-sm-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_services}} + </div> + <div class="panel-body" id="services"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> + </div> + </div> + +</div> + + +<div class="row"> + + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_addressConfiguration}} + </div> + <div class="panel-body" id="addresses"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> + </div> + </div> + + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_system}} + </div> + <div class="panel-body" id="systeminfo"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> + </div> + </div> + +</div> + +<div class="row"> + + <div class="col-md-6"> + <div class="panel panel-default"> + <div class="panel-heading"> + {{lang_maintenance}} + </div> + <div class="panel-body"> + <form class="form-adduser" action="?do=SystemStatus" method="post"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="reboot"> + <div>Server Reboot</div> + <label><input type="checkbox" name="confirm" value="yep"> {{lang_iAmSure}}</label> + <button class="btn btn-warning btn-xs" type="submit">Reboot</button> + </form> + <div id="dmsd-users"></div> + </div> + </div> + </div> + +</div> + +<h3>{{lang_advanced}}</h3> + +<div class="panel panel-default"> + <div class="panel-heading"> + {{lang_dmsdLog}} + </div> + <div class="panel-body" id="dmsd-log"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> +</div> +<div class="panel panel-default"> + <div class="panel-heading"> + {{lang_ldadpLog}} + </div> + <div class="panel-body" id="ldadp-log"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> +</div> +<div class="panel panel-default"> + <div class="panel-heading"> + netstat -tulpn + </div> + <div class="panel-body" id="netstat"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> +</div> +<div class="panel panel-default"> + <div class="panel-heading"> + ps auxf + </div> + <div class="panel-body" id="pslist"> + <span class="glyphicon glyphicon-refresh slx-rotation"></span> + </div> +</div> + +<script type="text/javascript"> + document.addEventListener("DOMContentLoaded", function() { + $('#diskstat').load('?do=SystemStatus&action=DiskStat'); + $('#addresses').load('?do=SystemStatus&action=AddressList'); + $('#systeminfo').load('?do=SystemStatus&action=SystemInfo'); + $('#services').load('?do=SystemStatus&action=Services'); + $('#dmsd-users').load('?do=SystemStatus&action=DmsdUsers'); + setTimeout(function() { + $('#dmsd-log').load('?do=SystemStatus&action=DmsdLog'); + $('#netstat').load('?do=SystemStatus&action=Netstat'); + $('#pslist').load('?do=SystemStatus&action=PsList'); + $('#ldadp-log').load('?do=SystemStatus&action=LdadpLog'); + }, 300); + }, false); +</script> diff --git a/modules-available/systemstatus/templates/addresses.html b/modules-available/systemstatus/templates/addresses.html new file mode 100644 index 00000000..ce92c4d5 --- /dev/null +++ b/modules-available/systemstatus/templates/addresses.html @@ -0,0 +1,8 @@ +<table class="slx-table"> + {{#addresses}} + <tr {{#primary}} class="slx-bold" {{/primary}}> + <td>{{ip}}</td> + <td>({{iface}})</td> + </tr> + {{/addresses}} +</table>
\ No newline at end of file diff --git a/modules-available/systemstatus/templates/diskstat.html b/modules-available/systemstatus/templates/diskstat.html new file mode 100644 index 00000000..528d9792 --- /dev/null +++ b/modules-available/systemstatus/templates/diskstat.html @@ -0,0 +1,63 @@ +<div class="slx-storechart"> + {{#system}} + <b>{{lang_systemPartition}}</b> + <div id="circles-system"></div> + <div>{{lang_capacity}}: {{size}}</div> + <div>{{lang_free}}: {{free}}</div> + {{/system}} + {{^system}} + <b>{{lang_systemStoreError}}</b> + {{/system}} +</div> +<div class="slx-storechart"> + {{#store}} + <b>{{lang_vmStore}}</b> + <div id="circles-store"></div> + <div>{{lang_capacity}}: {{size}}</div> + <div>{{lang_free}}: {{free}}</div> + {{/store}} + {{^store}} + <b>{{lang_vmStoreError}}</b> + {{/store}} +</div> +<div class="clearfix"></div> +{{#notConfigured}} +<div>{{lang_storeNotConfigured}}</div> +{{/notConfigured}} +{{#storeMissing}} +<div>{{lang_storeMissingExpected}} {{storeMissing}}</div> +{{/storeMissing}} +{{#wrongStore}} +<div>{{lang_foundStore}} {{wrongStore}}</div> +{{/wrongStore}} +<a href="?do=VmStore">{{lang_goToStoreConf}}</a> +<script type="text/javascript"> + {{#store}} + Circles.create({ + id: 'circles-store', + radius: 60, + value: {{{percent}}}, + maxValue: 100, + width: 10, + text: function(value){return value + '%'; }, + colors: ['#D3B6C6', '#{{color}}'], + duration: 400, + wrpClass: 'circles-wrp', + textClass: 'circles-text' + }); + {{/store}} + {{#system}} + Circles.create({ + id: 'circles-system', + radius: 60, + value: {{{percent}}}, + maxValue: 100, + width: 10, + text: function(value){return value + '%'; }, + colors: ['#D3B6C6', '#{{color}}'], + duration: 400, + wrpClass: 'circles-wrp', + textClass: 'circles-text' + }); + {{/system}} +</script> diff --git a/modules-available/systemstatus/templates/services.html b/modules-available/systemstatus/templates/services.html new file mode 100644 index 00000000..6c4f0b93 --- /dev/null +++ b/modules-available/systemstatus/templates/services.html @@ -0,0 +1,6 @@ +{{#ldadpError}} +<pre>{{ldadpError}}</pre> +{{/ldadpError}} +{{^ldadpError}} +<div class="alert alert-success">LDAP-AD-Proxy: OK</div> +{{/ldadpError}} diff --git a/modules-available/systemstatus/templates/systeminfo.html b/modules-available/systemstatus/templates/systeminfo.html new file mode 100644 index 00000000..ed4a1532 --- /dev/null +++ b/modules-available/systemstatus/templates/systeminfo.html @@ -0,0 +1,115 @@ +<div> + {{lang_uptimeOS}}: {{uptime}} +</div> + +<div class="slx-storechart"> + <b>{{lang_cpuLoad}}</b> + {{#cpuLoadOk}} + <div id="circles-cpuload"></div> + <div>{{lang_average}}: {{cpuLoad}}%</div> + <div>{{lang_onlyOS}}: {{cpuSystem}}%</div> + <div>{{lang_logicCPUs}}: {{cpuCount}}</div> + {{/cpuLoadOk}} + {{^cpuLoadOk}} + {{lang_notDetermined}} + {{/cpuLoadOk}} +</div> + +<div class="slx-storechart"> + <b>{{lang_ramUsage}}</b> + {{#memTotal}} + <div id="circles-mem"></div> + <div>{{lang_total}}: {{memTotal}}</div> + <div>{{lang_free}}: {{memFree}}</div> + {{/memTotal}} + {{^memTotal}} + {{lang_notDetermined}} + {{/memTotal}} +</div> + +<div class="slx-storechart"> + <b>{{lang_swapUsage}}</b> + {{#memTotal}} + <div id="circles-swap"></div> + <div>{{lang_total}}: {{swapTotal}}</div> + <div>{{lang_occupied}}: {{swapUsed}}</div> + {{/memTotal}} + {{^memTotal}} + {{lang_notDetermined}} + {{/memTotal}} +</div> + +<div class="clearfix"></div> + +{{#swapWarning}} +<div> + <b>{{lang_attention}}</b> {{lang_swapWarning}} +</div> +{{/swapWarning}} + +<script type="text/javascript"> + {{#cpuLoadOk}} + var cpuCircle = Circles.create({ + id: 'circles-cpuload', + radius: 60, + value: {{{cpuLoad}}}, + maxValue: 100, + width: 10, + text: function(value){return value + '%'; }, + colors: ['#dbc', '#33f'], + duration: 400, + wrpClass: 'circles-wrp', + textClass: 'circles-text' + }); + var lastCpuTotal = {{CpuTotal}}; + var lastCpuIdle = {{CpuIdle}}; + var lastCpuPercent = {{cpuLoad}}; + {{/cpuLoadOk}} + {{#memTotal}} + var memCircle = Circles.create({ + id: 'circles-mem', + radius: 60, + value: {{{memPercent}}}, + maxValue: 100, + width: 10, + text: function(value){return value + '%'; }, + colors: ['#dbc', '#33f'], + duration: 400, + wrpClass: 'circles-wrp', + textClass: 'circles-text' + }); + var swapCircle = Circles.create({ + id: 'circles-swap', + radius: 60, + value: {{{swapPercent}}}, + maxValue: 100, + width: 10, + text: function(value){return value + '%'; }, + colors: ['#dbc', '#f33'], + duration: 400, + wrpClass: 'circles-wrp', + textClass: 'circles-text' + }); + {{/memTotal}} + function updateSystem() { + if (!cpuCircle && !memCircle) return; + $.post('?do=SystemStatus&action=SysPoll', { token: TOKEN }, function(data) { + if (memCircle && data.MemPercent) memCircle.update(data.MemPercent); + if (swapCircle && data.SwapPercent) swapCircle.update(data.SwapPercent); + if (cpuCircle && data.CpuIdle) { + var total = data.CpuTotal - lastCpuTotal; + var load = total - (data.CpuIdle - lastCpuIdle); + var percent = Math.round(100 * load / total); + cpuCircle.update(percent, Math.abs(percent - lastCpuPercent) < 5 ? 0 : 250); + lastCpuTotal = data.CpuTotal; + lastCpuIdle = data.CpuIdle; + lastCpuPercent = percent; + } + }, 'json').fail(function(data) { + console.log(data); + }).always(function() { + setTimeout(updateSystem, 1200); + }); + } + setTimeout(updateSystem, 1000); +</script> |