in-famous-raccoon / proxmox-snmp

SNMP Scripts to monitor Proxmox with PRTG
GNU General Public License v3.0
54 stars 12 forks source link

Update for 8.1 Proxmox Support #7

Closed 641i130 closed 1 month ago

641i130 commented 6 months ago

Doesn't seem to support the newest release of Proxmox. All the scripts seem to return nothing (I'm assuming the path to some of these sensors has changed).

in-famous-raccoon commented 6 months ago

Hi,

still works fine with PVE 8.2.2 Do you get values when you ran the script in terminal? like: /opt/snmp-cpu-temp.sh -g

callumfieldingwoodmass-dynes commented 4 months ago

Hi, not the original poster, but had run into a similar issue. After taking your advice, and running the scripts, they returned some errors, such as "/sys/class/thermal/thermal_zone2/ directory doesn't exist". After manually looking at the directory, I found that for myself, thermal_zone0 was the directory instead. Same for the ZFS, as our pool has a different name, so once I replaced "rpool" to "DataPool" in the appropriate script.

I am using Proxmox Version 8.1.4

mashbrno commented 1 month ago

I've tried to switch to sensors package, that returns value, but no luck to visualize it in PRTG. Temperature monitoring is crucial in my small business environment.

in-famous-raccoon commented 1 month ago

Hi,

do you get any values when you run this command? cat /sys/class/thermal/thermal_zone*/temp

then your computer use a different thermal_zone, you can also find your thermal zones with the help of the tree command:

tree /sys/class/thermal/ | grep "thermal_zone"

├── thermal_zone0 -> ../../devices/virtual/thermal/thermal_zone0
├── thermal_zone1 -> ../../devices/virtual/thermal/thermal_zone1
├── thermal_zone2 -> ../../devices/virtual/thermal/thermal_zone2
├── thermal_zone3 -> ../../devices/virtual/thermal/thermal_zone3
├── thermal_zone4 -> ../../devices/virtual/thermal/thermal_zone4
├── thermal_zone5 -> ../../devices/virtual/thermal/thermal_zone5
├── thermal_zone6 -> ../../devices/virtual/thermal/thermal_zone6
├── thermal_zone7 -> ../../devices/virtual/thermal/thermal_zone7
└── thermal_zone8 -> ../../devices/virtual/thermal/thermal_zone8

you can output the device type with this command: cat /sys/class/thermal/thermal_zone*/type

mashbrno commented 1 month ago

Nope, in /sys/class/thermal/ there are just cooling_deviceXX. Maybe due to a Supermicro server?

While sensors output:

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +66.4°C
Tccd1:        +59.0°C
Tccd2:        +55.9°C

nvme-pci-0e00
Adapter: PCI adapter
Composite:    +29.9°C  (low  = -273.1°C, high = +76.8°C)
                       (crit = +84.8°C)
Sensor 1:     +29.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +45.9°C  (low  = -273.1°C, high = +65261.8°C)

amdgpu-pci-0f00
Adapter: PCI adapter
vddgfx:        1.31 V
vddnb:         1.02 V
edge:         +60.0°C
PPT:          35.11 W

nvme-pci-0200
Adapter: PCI adapter
Composite:    +31.9°C  (low  = -273.1°C, high = +76.8°C)
                       (crit = +84.8°C)
Sensor 1:     +31.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +46.9°C  (low  = -273.1°C, high = +65261.8°C)

so sensors -u | grep temp1_input -m 1 | awk '{print $2}' returns the expected value, but not read by PRTG.

in-famous-raccoon commented 1 month ago

hm strange, but sensors -u gives 45.000 maybe PRTG wants only one 0. could you try this: sensors -u | grep temp1_input -m 1 | awk '{print $2}' | sed 's/00$//'

my Output is this 47.0 which is exactly the same value that i get from the thermal zone

mashbrno commented 1 month ago

The final error was in PRTG configuration. It is now working even with 3 digits (your sed part have to contain [0-9][0-9] anyway to clear all decimals). Thank you for a great repo - do you want me to create a PR?

in-famous-raccoon commented 1 month ago

I thought 3 decimal places would be too much and wanted to reduce it to just one decimal place, but I'm glad it works now. I think you have already submitted the PR, haven't you? If not, you are welcome to do one. I'm sure it will help someone ;)