]>
git.proxmox.com Git - proxmox-backup.git/blob - www/ServerStatus.js
1 Ext
.define('pve-rrd-node', {
2 extend
: 'Ext.data.Model',
7 convert: function(value
) {
14 convert: function(value
) {
32 name
: 'io_delay', calculate: function(data
) {
34 if (data
.read_ios
!== undefined) { ios
+= data
.read_ios
; }
35 if (data
.write_ios
!== undefined) { ios
+= data
.write_ios
; }
36 if (ios
== 0 || data
.io_ticks
=== undefined) {
39 return (data
.io_ticks
*1000.0)/ios
;
43 { type
: 'date', dateFormat
: 'timestamp', name
: 'time' }
46 Ext
.define('PBS.ServerStatus', {
47 extend
: 'Ext.panel.Panel',
48 alias
: 'widget.pbsServerStatus',
50 title
: gettext('ServerStatus'),
54 initComponent: function() {
57 var node_command = function(cmd
) {
58 Proxmox
.Utils
.API2Request({
59 params
: { command
: cmd
},
60 url
: '/nodes/localhost/status',
63 failure: function(response
, opts
) {
64 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
69 var restartBtn
= Ext
.create('Proxmox.button.Button', {
70 text
: gettext('Reboot'),
72 confirmMsg
: gettext("Reboot backup server?"),
74 node_command('reboot');
79 var shutdownBtn
= Ext
.create('Proxmox.button.Button', {
80 text
: gettext('Shutdown'),
82 confirmMsg
: gettext("Shutdown backup server?"),
84 node_command('shutdown');
86 iconCls
: 'fa fa-power-off'
89 var consoleBtn
= Ext
.create('Proxmox.button.Button', {
90 text
: gettext('Console'),
91 iconCls
: 'fa fa-terminal',
93 Proxmox
.Utils
.openXtermJsViewer('shell', 0, Proxmox
.NodeName
);
97 me
.tbar
= [ consoleBtn
, restartBtn
, shutdownBtn
, '->', { xtype
: 'proxmoxRRDTypeSelector' } ];
99 var rrdstore
= Ext
.create('Proxmox.data.RRDStore', {
100 rrdurl
: "/api2/json/nodes/localhost/rrd",
101 model
: 'pve-rrd-node'
106 itemId
: 'itemcontainer',
116 xtype
: 'proxmoxRRDChart',
117 title
: gettext('CPU usage'),
118 fields
: ['cpu','iowait'],
119 fieldTitles
: [gettext('CPU usage'), gettext('IO wait')],
123 xtype
: 'proxmoxRRDChart',
124 title
: gettext('Server load'),
126 fieldTitles
: [gettext('Load average')],
130 xtype
: 'proxmoxRRDChart',
131 title
: gettext('Memory usage'),
132 fields
: ['memtotal','memused'],
133 fieldTitles
: [gettext('Total'), gettext('RAM usage')],
137 xtype
: 'proxmoxRRDChart',
138 title
: gettext('Swap usage'),
139 fields
: ['swaptotal','swapused'],
140 fieldTitles
: [gettext('Total'), gettext('Swap usage')],
144 xtype
: 'proxmoxRRDChart',
145 title
: gettext('Network traffic'),
146 fields
: ['netin','netout'],
150 xtype
: 'proxmoxRRDChart',
151 title
: gettext('Root Disk usage'),
152 fields
: ['total','used'],
153 fieldTitles
: [gettext('Total'), gettext('Disk usage')],
157 xtype
: 'proxmoxRRDChart',
158 title
: gettext('Root Disk Transfer Rate (bytes/second)'),
159 fields
: ['read_bytes','write_bytes'],
160 fieldTitles
: [gettext('Read'), gettext('Write')],
164 xtype
: 'proxmoxRRDChart',
165 title
: gettext('Root Disk Input/Output Operations per Second (IOPS)'),
166 fields
: ['read_ios','write_ios'],
167 fieldTitles
: [gettext('Read'), gettext('Write')],
171 xtype
: 'proxmoxRRDChart',
172 title
: gettext('Root Disk IO Delay (ms)'),
173 fields
: ['io_delay'],
174 fieldTitles
: [gettext('IO Delay')],
181 activate: function() {
182 rrdstore
.startUpdate();
184 destroy: function() {
185 rrdstore
.stopUpdate();