Compare commits
2 Commits
main
...
feature/no
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41589effc1 | ||
|
|
02f44f77ec |
17
debian/changelog
vendored
17
debian/changelog
vendored
@ -1,20 +1,3 @@
|
|||||||
pve-mod (1.0.7) stable; urgency=low
|
|
||||||
|
|
||||||
* 8d70194 fix(nag_screen): Patch typo (#318)
|
|
||||||
* 2a122ef feat(node_info) Add configurable minimum-temperature ignore threshold (#316)
|
|
||||||
* 0476410 fix(node_info): re-show sensor widgets when data becomes valid again after being hidden (#312)
|
|
||||||
* 972c9ae fix(node_info): reap zombie pve_mod_worker and orphaned collector processes (#307)
|
|
||||||
* 69e2d78 feat(node_info): UPS widget: redesign status panel with battery-charge progress bar (#310)
|
|
||||||
* bdb3f9f fix(node_info): normalize UPS data — derive ups.realpower fallback and clean invalid battery.mfr.date (#309)
|
|
||||||
* c768eac fix(nag_screen): Fix nag screen patch webui line offsets (#315)
|
|
||||||
* 8a9b756 fix(node_info): hide GPU Details and GPU Fans when no GPU is present (#311)
|
|
||||||
* f754331 fix(node_info): fix stale worker lock detection for zombie processes (#306)
|
|
||||||
* e46734c fix(node_info): return average and core temps for intel (#302)
|
|
||||||
* cee8d04 feat/fix(node_info): expose temp_unit in graphics API response & fix temperature conversion (#295)
|
|
||||||
* 8ebc2b4 feat(node_info): add GPU utilization display with color-coded thresholds for NVIDIA GPUs (#296)
|
|
||||||
|
|
||||||
-- github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Sat, 22 Aug 2026 23:24:00 +0000
|
|
||||||
|
|
||||||
pve-mod (1.0.6) stable; urgency=low
|
pve-mod (1.0.6) stable; urgency=low
|
||||||
|
|
||||||
* c21b973 remove buildtest file (#288)
|
* c21b973 remove buildtest file (#288)
|
||||||
|
|||||||
1
debian/pve-mod.triggers
vendored
1
debian/pve-mod.triggers
vendored
@ -1,4 +1,3 @@
|
|||||||
interest-noawait /usr/share/pve-manager/js
|
interest-noawait /usr/share/pve-manager/js
|
||||||
interest-noawait /usr/share/perl5/PVE
|
interest-noawait /usr/share/perl5/PVE
|
||||||
interest-noawait /usr/share/pve-yew-mobile-gui
|
interest-noawait /usr/share/pve-yew-mobile-gui
|
||||||
interest-noawait /usr/share/javascript/proxmox-widget-toolkit
|
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
--- /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.orig 2026-08-23 01:17:11.563403975 +0200
|
--- /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.orig 2026-08-22 21:11:30.401400044 +0200
|
||||||
+++ /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 2026-08-23 01:19:00.972084488 +0200
|
+++ /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js 2026-08-22 21:12:57.664635944 +0200
|
||||||
@@ -612,37 +612,8 @@
|
@@ -612,37 +612,8 @@
|
||||||
),
|
),
|
||||||
|
|
||||||
@ -35,8 +35,8 @@
|
|||||||
- }
|
- }
|
||||||
- },
|
- },
|
||||||
- });
|
- });
|
||||||
+ // disable subscription nag screen
|
++ // disable subscription nag screen
|
||||||
+ orig_cmd();
|
++ orig_cmd();
|
||||||
},
|
},
|
||||||
|
|
||||||
assemble_field_data: function (values, data) {
|
assemble_field_data: function (values, data) {
|
||||||
|
|||||||
@ -17,7 +17,7 @@ our @EXPORT_OK = qw(
|
|||||||
# Debug / Version
|
# Debug / Version
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
our $DEBUG_ENABLED = 1;
|
our $DEBUG_ENABLED; # derived from %config{debug}{mod_debug} after ini load, below
|
||||||
our $VERSION = 'version-placeholder';
|
our $VERSION = 'version-placeholder';
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
@ -43,6 +43,7 @@ our %config = (
|
|||||||
gpu_history => 0,
|
gpu_history => 0,
|
||||||
},
|
},
|
||||||
debug => {
|
debug => {
|
||||||
|
mod_debug => 0,
|
||||||
log_enabled => 0,
|
log_enabled => 0,
|
||||||
log_file => '/tmp/pve-mod-debug.log',
|
log_file => '/tmp/pve-mod-debug.log',
|
||||||
lm_sensors_mode => 0,
|
lm_sensors_mode => 0,
|
||||||
@ -159,4 +160,6 @@ sub _load_ini_file {
|
|||||||
_load_ini_file($CONF_FILE);
|
_load_ini_file($CONF_FILE);
|
||||||
_load_ini_file($_) for glob("$CONFD_DIR/*.conf");
|
_load_ini_file($_) for glob("$CONFD_DIR/*.conf");
|
||||||
|
|
||||||
|
$DEBUG_ENABLED = $config{debug}{mod_debug};
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
@ -30,7 +30,11 @@ ignore_temp_below=5
|
|||||||
|
|
||||||
# Debug mode: when a collector's mode is 1, the real tool is not required.
|
# Debug mode: when a collector's mode is 1, the real tool is not required.
|
||||||
# Data is read from the file path instead. Useful for development/testing.
|
# Data is read from the file path instead. Useful for development/testing.
|
||||||
|
# Note: debug settings are only read at pveproxy startup — restart pveproxy
|
||||||
|
# after changing them. Debug output goes to the journal (journalctl -u pveproxy),
|
||||||
|
# plus log_file if log_enabled=1.
|
||||||
[debug]
|
[debug]
|
||||||
|
mod_debug=0
|
||||||
lm_sensors_mode=0
|
lm_sensors_mode=0
|
||||||
lm_sensors_output_file=/tmp/sensors-output.json
|
lm_sensors_output_file=/tmp/sensors-output.json
|
||||||
intel_mode=0
|
intel_mode=0
|
||||||
|
|||||||
@ -78,6 +78,7 @@ node_info_defaults() {
|
|||||||
DEBUG_AMD=0; DEBUG_AMD_FILE="/tmp/amd-gpu-devices.json"
|
DEBUG_AMD=0; DEBUG_AMD_FILE="/tmp/amd-gpu-devices.json"
|
||||||
DEBUG_UPS=0; DEBUG_UPS_FILE="/tmp/ups-output.json"
|
DEBUG_UPS=0; DEBUG_UPS_FILE="/tmp/ups-output.json"
|
||||||
DEBUG_LOG=0; DEBUG_LOG_FILE="/tmp/pve-mod-debug.log"
|
DEBUG_LOG=0; DEBUG_LOG_FILE="/tmp/pve-mod-debug.log"
|
||||||
|
DEBUG_MOD=0
|
||||||
}
|
}
|
||||||
|
|
||||||
node_info_load_conf() {
|
node_info_load_conf() {
|
||||||
@ -124,6 +125,7 @@ node_info_load_conf() {
|
|||||||
debug.ups_output_file) DEBUG_UPS_FILE="$val" ;;
|
debug.ups_output_file) DEBUG_UPS_FILE="$val" ;;
|
||||||
debug.log_enabled) DEBUG_LOG="$val" ;;
|
debug.log_enabled) DEBUG_LOG="$val" ;;
|
||||||
debug.log_file) DEBUG_LOG_FILE="$val" ;;
|
debug.log_file) DEBUG_LOG_FILE="$val" ;;
|
||||||
|
debug.mod_debug) DEBUG_MOD="$val" ;;
|
||||||
esac
|
esac
|
||||||
done < "$NODE_INFO_CONF"
|
done < "$NODE_INFO_CONF"
|
||||||
}
|
}
|
||||||
@ -512,7 +514,11 @@ ignore_temp_below=${IGNORE_TEMP_BELOW}
|
|||||||
|
|
||||||
# Debug mode: when a collector's mode is 1, the real tool is not required.
|
# Debug mode: when a collector's mode is 1, the real tool is not required.
|
||||||
# Data is read from the file path instead. Useful for development/testing.
|
# Data is read from the file path instead. Useful for development/testing.
|
||||||
|
# Note: debug settings are only read at pveproxy startup — restart pveproxy
|
||||||
|
# after changing them. Debug output goes to the journal (journalctl -u pveproxy),
|
||||||
|
# plus log_file if log_enabled=1.
|
||||||
[debug]
|
[debug]
|
||||||
|
mod_debug=${DEBUG_MOD}
|
||||||
lm_sensors_mode=${DEBUG_LM_SENSORS}
|
lm_sensors_mode=${DEBUG_LM_SENSORS}
|
||||||
lm_sensors_output_file=${DEBUG_LM_SENSORS_FILE}
|
lm_sensors_output_file=${DEBUG_LM_SENSORS_FILE}
|
||||||
intel_mode=${DEBUG_INTEL}
|
intel_mode=${DEBUG_INTEL}
|
||||||
|
|||||||
@ -67,3 +67,27 @@ Each feature requires the corresponding tool to be installed on the Proxmox host
|
|||||||
## Debug Mode
|
## Debug Mode
|
||||||
|
|
||||||
Each collector supports a debug mode that reads from a local file instead of executing the real tool. Useful for development and testing without physical hardware.
|
Each collector supports a debug mode that reads from a local file instead of executing the real tool. Useful for development and testing without physical hardware.
|
||||||
|
|
||||||
|
### Per-collector debug files
|
||||||
|
|
||||||
|
Set the collector's `_mode` flag to `1` in the `[debug]` section of `/etc/pve-mod/conf.d/node_info.conf` and populate its file(s) with sample data, captured from a real host via the commands below:
|
||||||
|
|
||||||
|
| Collector | Enable flag | File | Content | Example to generate it |
|
||||||
|
|-----------|-------------|------|---------|-------------------------|
|
||||||
|
| Temperature sensors | `lm_sensors_mode` | `lm_sensors_output_file` | Raw `sensors -j` JSON output | `sensors -j > /tmp/sensors-output.json` |
|
||||||
|
| Intel GPU | `intel_mode` | `intel_devices_file` | Device list, one line per GPU (`intel_gpu_top -L` format) | `intel_gpu_top -L > /tmp/intel-gpu-devices.json` |
|
||||||
|
| | | `intel_output_file` | Continuous `intel_gpu_top` stats output | `intel_gpu_top -d /dev/dri/card0 -s 1000 -l > /tmp/intel-gpu-output.txt` |
|
||||||
|
| NVIDIA GPU | `nvidia_mode` | `nvidia_devices_file` | Device list CSV | `nvidia-smi --query-gpu=index,name --format=csv > /tmp/nvidia-smi-devices.csv` |
|
||||||
|
| | | `nvidia_output_file` | Stats CSV | `nvidia-smi --query-gpu=index,name,temperature.gpu,utilization.gpu,utilization.memory,memory.used,memory.total,power.draw,power.limit,fan.speed --format=csv,nounits > /tmp/nvidia-smi-output.csv` |
|
||||||
|
| AMD GPU | `amd_mode` | `amd_devices_file` | Placeholder — collector not yet implemented | — |
|
||||||
|
| UPS | `ups_mode` | `ups_output_file` | Raw `upsc` key: value output (despite the `.json` name, it's plain text, not JSON) | `upsc ups@192.168.1.50 > /tmp/ups-output.json` |
|
||||||
|
|
||||||
|
### Verbose module logging (mod_debug)
|
||||||
|
|
||||||
|
Set `mod_debug=1` in the `[debug]` section of `/etc/pve-mod/conf.d/node_info.conf`, then restart `pveproxy` (`systemctl restart pveproxy`) — the setting is only read at startup. With it enabled, the mod logs each internal step (collector start/stop, cache hits, file reads, etc.) to the journal, viewable with:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
journalctl -u pveproxy -f
|
||||||
|
```
|
||||||
|
|
||||||
|
Set `log_enabled=1` (and optionally `log_file`) in the same section to also persist this output to a file.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user