add some notes
This commit is contained in:
156
readme.md
Normal file
156
readme.md
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
# Nag notice
|
||||||
|
## manual steps
|
||||||
|
|
||||||
|
- `cd /usr/share/javascript/proxmox-widget-toolkit`
|
||||||
|
- `cp proxmoxlib.js proxmoxlib.js.bak`
|
||||||
|
- `nano proxmoxlib.js`
|
||||||
|
- search for "function(orig_cmd) {" and add "orig_cmd();" and "return;" just after it
|
||||||
|
- `systemctl restart pveproxy.service`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Sensor data
|
||||||
|
|
||||||
|
## 1) Lets install lm-sensors to show us the information we need. Type the following in the proxmox shell
|
||||||
|
|
||||||
|
apt-get install lm-sensors
|
||||||
|
|
||||||
|
Next we can check if its working. To do this we can type `sensors`
|
||||||
|
|
||||||
|
The main part we are interested in is:
|
||||||
|
|
||||||
|
root@pve:~# sensors
|
||||||
|
|
||||||
|
coretemp-isa-0000
|
||||||
|
Adapter: ISA adapter
|
||||||
|
Package id 0: +23.0°C (high = +84.0°C, crit = +100.0°C)
|
||||||
|
Core 0: +21.0°C (high = +84.0°C, crit = +100.0°C)
|
||||||
|
Core 1: +21.0°C (high = +84.0°C, crit = +100.0°C)
|
||||||
|
Core 2: +22.0°C (high = +84.0°C, crit = +100.0°C)
|
||||||
|
Core 3: +19.0°C (high = +84.0°C, crit = +100.0°C)
|
||||||
|
|
||||||
|
If you see this you are good to go!
|
||||||
|
|
||||||
|
## 2) Adding the output of sensors to information
|
||||||
|
|
||||||
|
Here we will use `Nano` to edit some files. In your shell, type the following:
|
||||||
|
|
||||||
|
nano /usr/share/perl5/PVE/API2/Nodes.pm
|
||||||
|
|
||||||
|
Next, you can press **F6** to search for `my $dinfo` and press **Enter**
|
||||||
|
|
||||||
|
The code should look like this:
|
||||||
|
|
||||||
|
$res->{pveversion} = PVE::pvecfg::package() . "/" .
|
||||||
|
PVE::pvecfg::version_text();
|
||||||
|
|
||||||
|
my $dinfo = df('/', 1); # output is bytes
|
||||||
|
|
||||||
|
We are going to add the following line of code in between: `$res->{thermalstate} = \sensors\;`
|
||||||
|
|
||||||
|
So the final result should look like this:
|
||||||
|
|
||||||
|
$res->{pveversion} = PVE::pvecfg::package() . "/" .
|
||||||
|
PVE::pvecfg::version_text();
|
||||||
|
|
||||||
|
$res->{thermalstate} = `sensors`;
|
||||||
|
|
||||||
|
my $dinfo = df('/', 1); # output is bytes
|
||||||
|
|
||||||
|
Now press **Ctrl+O** to save and **Ctrl+X** to exit.
|
||||||
|
|
||||||
|
## 3) Making space for the new information
|
||||||
|
|
||||||
|
Next we will need to edit another file, So once again we will use `Nano`
|
||||||
|
|
||||||
|
Type the following command into your shell: `nano /usr/share/pve-manager/js/pvemanagerlib.js`
|
||||||
|
|
||||||
|
Once in press **F6** to search for my `widget.pveNodeStatus` and press **Enter**
|
||||||
|
|
||||||
|
You will get a snippit of code that looks like this:
|
||||||
|
|
||||||
|
Ext.define('PVE.node.StatusView', {
|
||||||
|
extend: 'PVE.panel.StatusView',
|
||||||
|
alias: 'widget.pveNodeStatus',
|
||||||
|
|
||||||
|
height: 300,
|
||||||
|
bodyPadding: '5 15 5 15',
|
||||||
|
|
||||||
|
layout: {
|
||||||
|
type: 'table',
|
||||||
|
columns: 2,
|
||||||
|
tableAttrs: {
|
||||||
|
style: {
|
||||||
|
width: '100%'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
Next change the `bodyPadding: '5 15 5 15',` to `bodyPadding: '20 15 20 15',`
|
||||||
|
|
||||||
|
As well as `height: 300,` to `height: 360,`
|
||||||
|
|
||||||
|
**Dont close the file this time!**
|
||||||
|
|
||||||
|
## 4) Final part to edit
|
||||||
|
|
||||||
|
Ok so you know the drill by now press **F6** to search for `PVE Manager Version` and press **Enter**
|
||||||
|
|
||||||
|
You will see a section of code like this:
|
||||||
|
|
||||||
|
{
|
||||||
|
itemId: 'version',
|
||||||
|
colspan: 2,
|
||||||
|
printBar: false,
|
||||||
|
title: gettext('PVE Manager Version'),
|
||||||
|
textField: 'pveversion',
|
||||||
|
value: ''
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok now we need to add some code after this part. The code is:
|
||||||
|
|
||||||
|
{
|
||||||
|
itemId: 'thermal',
|
||||||
|
colspan: 2,
|
||||||
|
printBar: false,
|
||||||
|
title: gettext('CPU Thermal State'),
|
||||||
|
textField: 'thermalstate',
|
||||||
|
renderer:function(value){
|
||||||
|
const c0 = value.match(/Core 0.*?\+([\d\.]+)Â/)[1];
|
||||||
|
const c1 = value.match(/Core 1.*?\+([\d\.]+)Â/)[1];
|
||||||
|
const c2 = value.match(/Core 2.*?\+([\d\.]+)Â/)[1];
|
||||||
|
const c3 = value.match(/Core 3.*?\+([\d\.]+)Â/)[1];
|
||||||
|
return `Core 0: ${c0} ℃ | Core 1: ${c1} ℃ | Core 2: ${c2} ℃ | Core 3: ${c3} ℃`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Therefore your final result should look something like this:
|
||||||
|
|
||||||
|
{
|
||||||
|
itemId: 'version',
|
||||||
|
colspan: 2,
|
||||||
|
printBar: false,
|
||||||
|
title: gettext('PVE Manager Version'),
|
||||||
|
textField: 'pveversion',
|
||||||
|
value: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
itemId: 'thermal',
|
||||||
|
colspan: 2,
|
||||||
|
printBar: false,
|
||||||
|
title: gettext('CPU Thermal State'),
|
||||||
|
textField: 'thermalstate',
|
||||||
|
renderer:function(value){
|
||||||
|
const c0 = value.match(/Core 0.*?\+([\d\.]+)Â/)[1];
|
||||||
|
const c1 = value.match(/Core 1.*?\+([\d\.]+)Â/)[1];
|
||||||
|
const c2 = value.match(/Core 2.*?\+([\d\.]+)Â/)[1];
|
||||||
|
const c3 = value.match(/Core 3.*?\+([\d\.]+)Â/)[1];
|
||||||
|
return `Core 0: ${c0} ℃ | Core 1: ${c1} ℃ | Core 2: ${c2} ℃ | Core 3: ${c3} ℃`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Now we can finally press **Ctrl+O** to save and **Ctrl+X** to exit.
|
||||||
|
|
||||||
|
## 5)Restart the summery page
|
||||||
|
|
||||||
|
To do this you will have to type in the following command: `systemctl restart pveproxy`
|
||||||
Reference in New Issue
Block a user