Proxmox V8 info température CPU

Bonjour à tous,

Il est possible d’afficher/récupérer la/les températures des CPU de la machine physique PROXMOX.

2 Supers tutos de EVOTk :
Proxmox V 7 :

Proxmox VE 8 :

Aux développeurs des plugins : seraient-ils envisageable de rajouter la/les informations de température Proxmox ? :wink: :wink:

Pour le plugin monitoring, Gsxrnoir2001 a modifié son fichier « Monitoring.class.php » :
Suite du sujet Erreur sur Monitoring

@Gsxrnoir2001 : te serait-il possible de partager la modif que tu as faite ? Cela m’intéresse fortement.

Screen de ma vu résumé Proxmox :

Screen du plugin monitoring :
image

Par contre, je ne sais pas pourquoi je n’ai pas l’info du trafic réseau. :thinking: :thinking:
Si vous avez une idée ? Faut-il une adresse fixe ?

Si cela peut intéresser d’autres personnes. :smiley: :smiley:

Voici le script avec les modification pour le monitoring de proxmox V8 et Synology

ATTENTION, la température n’est pas remontée sur le monitoring des VMs

Proxmox V8 : Core+Frequence CPU, Trafic réseau & Température (sans « lm-sensors ») => OK

Synology : Version DSM => OK

Monitoring.class.txt (59,6 Ko)

Pour info :

AVANT
ko

APRES
ok

1 « J'aime »

Comment tu fais pour récupérer les infos températures de ton Proxmox sans avoir installer lm-sensors sur ton proxmox ?

Merci pour ton fichier, je vais tester.

On est d’accord que ton proxmox est installer sur une machine physique sous debian 12 ?

Edit 2 :
Voila le résultat avec ton code :
image

Juste le CPU qui est devenu correcte.

Je monitore bien une machine physique proxmoxV8, et tout va bien.
sur ma vm jeedom, j’ai le même résultat que toi, pas de retour temp.

et je confirme « lm-sensors » non installé, c’est peut être lui qui coince ???

je suis en IP statique.

Pour le trafic réseau,

dans les paramètres de ton équipement :

Carte réseau : Autre
Non de la carte réseau : enp2s0 (pour moi)

tu trouvera le nom de ta carte sous « proxmox => Réseau » dans ton interface de gestion PVE (recopie celle qui est Active).

pour la température,

que donne cette commande dans un shell proxmox ( pas sous une VM) ?

cat /sys/devices/virtual/thermal/thermal_zone1/temp

si tu n’as pas de retour, remplace « zone1 » par « zone0 », ou « zone2 »

Je confirme ce que dit Gsxrnoir2001, il faut bien allez check le nom de ta carte réseau de ton noeud pve et bien l’indiquer dans la config de ton équipement sous jeedom en choisissant autre.

De mon côté la température s’affiche bien mais c’est un proc intel, et en récupérant la bonne zone thermal, puis l’indiquer dans la ligne 741 du script Monitoring.class.php si necessaire.
Par contre pour un AMD il se peut qu’il y ait besoin d’adapter votre script Monitoring.class.php à la ligne 750.

image

voici le retour des 3 commandes sur mon proxmox :

root@pve:~# cat /sys/devices/virtual/thermal/thermal_zone1/temp
cat: /sys/devices/virtual/thermal/thermal_zone1/temp: No such file or directory
root@pve:~# cat /sys/devices/virtual/thermal/thermal_zone0/temp
cat: /sys/devices/virtual/thermal/thermal_zone0/temp: No data available
root@pve:~# cat /sys/devices/virtual/thermal/thermal_zone2/temp
cat: /sys/devices/virtual/thermal/thermal_zone2/temp: No such file or directory
root@pve:~# 

J’ai un proc AMD Ryzen 5 5560U, je vais cherché et vous dis car je pense que c’est la zone0.

Pour le réseau :
Effectivement je n’avais jamais vu l’option Carte Réseau Autre sur l’équipement.
Merci à vous deux pour cette option. Le réseau de la machine Proxmox remonte bien.

Bonjour,

Pour voir ce qui est accessible chez vous, faites :
ls /sys/devices/virtual/thermal/

Bonjour,

Merci pour la ligne de code.
Voici le résultat :

root@pve:~# ls /sys/devices/virtual/thermal/
cooling_device0  cooling_device10  cooling_device2  cooling_device4  cooling_device6  cooling_device8  thermal_zone0
cooling_device1  cooling_device11  cooling_device3  cooling_device5  cooling_device7  cooling_device9

J’ai bien modifié la linge 750 de mon fichier :

  • Avant :
if ($cputemp0 == '') {
								$cputemp0AMDcmd = "cat /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon0/temp1_input";	// OK AMD Ryzen
								$cputemp0output = $sshconnection->exec($cputemp0AMDcmd);
								$cputemp0 = $cputemp0output;
							}
  • Après modification :
if ($cputemp0 == '') {
								$cputemp0AMDcmd = "cat /sys/devices/virtual/thermal/thermal_zone0/temp";	// OK AMD Ryzen
								$cputemp0output = $sshconnection->exec($cputemp0AMDcmd);
								$cputemp0 = $cputemp0output;
							}

Toujours 0°C :
image

Je pense que le problème ne vient pas du code du plugin mais je suppose de mon proxmox.

non a la ligne 750 c’était juste si selon ton système tes capteurs de températures sont géré ainsi et donc adapter le bon.
si c’est pour remettre le même en thermal qu’il y a en ligne 741 alors oui tu n’aura pas mieux.

Ouvre un shell sur ton pve est exécute la commande :
cat /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon0/temp1_input
Si pas de resultat, aller constater dans tes répertoires et changeant si nécessaire pci:0000…
Idem exécute
cat /sys/devices/virtual/thermal/thermal_zone0/temp
Perso de mon côté sur un proc intel ce fichier existe, il ne faut pas que j’aille chercher thermal_zone1

image

Ce qui me donne 36°C

Mais la il n’y a que toi qui peut regarder dans ton proxmox les répertoires / fichiers existants contenant ta température.
Selon le résultat tu adapte la commande en ligne 741 ou 750.

Ne pas oublier de lancer le cron 'Monitoring" dans « Système => Moteur de tâches » pour rafraichir après chaque modification du script

POUR MOI :

thermal_zone0 me retourne 23000 = 23°
thermal_zone1 me retourne 40000 = 40° qui, pour moi est plus réaliste pour une température CPU en fonctionnement.

Attention, suite à la mise a jour du plugin en beta du 16-10-2023 11:10:26,

il y a ‹ erreur › au lancement du cron.

j’ai du reprendre le script
Monitoring.class.txt (59,6 Ko)
pour réparer l’erreur.

Attention, suite à la mise a jour du plugin en beta du 19-10-2023 13:42:48,

toujours ‹ erreur › au lancement du cron.

Pour ceux qui veulent monitorer un Synology avec un HDD USB :

Sans titre

Voila le script :Monitoring.class.php.txt (59,8 Ko)

Bonne continuation à tous.

Salut @Gsxrnoir2001,

Pourquoi ne proposerais-tu pas la modif de l’ajout du monitoring d’un HDD USB sur un Syno à @TiTidom ?
sujet : Erreur sur monitoring

Si nous sommes peut-être plusieurs intéressé. :wink: :wink:

1 « J'aime »

Salut,

Voici :

root@pve:~# ls /sys/devices/virtual/thermal/
cooling_device0  cooling_device10  cooling_device2  cooling_device4  cooling_device6  cooling_device8  thermal_zone0
cooling_device1  cooling_device11  cooling_device3  cooling_device5  cooling_device7  cooling_device9
root@pve:~# cat /sys/devices/virtual/thermal/thermal_zone0/temp
cat: /sys/devices/virtual/thermal/thermal_zone0/temp: No data available

Mon dossier /sys/devices/virtual/thermal/thermal_zone0 :

Ils ont fait pas mal de modifications dans le script monitoring.
Je t’invite à installer le nouveau et voir ce que cela donne désormais.

Oui je sais, je suis le sujet.

Même après la dernière mise à jour. Toujours pas de température de ma machine proxmox. :upside_down_face: :upside_down_face:

De mémoire tu va chercher sous proxmox avec lm-sensors et tu va récupérer

`sensors k10temp-pci-00c3`

donc au niveau du script monitoring tu devrais chercher du côté de la ligne 714 qui va récupérer les sensors si il ne trouve pas de valeur dans les zones thermal ou même pour amd le hwmon.

$cputemp_cmd = $this->getCmd(null,'cpu_temp');
if (is_object($cputemp_cmd) && $cputemp_cmd->getIsVisible() == 1) {
	$cputemp0_cmd = "cat /sys/devices/virtual/thermal/thermal_zone0/temp 2>/dev/null";	// OK Dell WYSE
	$cputemp0 = $sshconnection->exec($cputemp0_cmd);

	if ($cputemp0 == '') {
		$cputemp0_cmd = "cat /sys/devices/platform/coretemp.0/hwmon/hwmon0/temp?_input 2>/dev/null";	// OK AOpen DE2700
		$cputemp0 = $sshconnection->exec($cputemp0_cmd);
		
	}
	if ($cputemp0 == '') {
		$cputemp0AMD_cmd = "cat /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon0/temp1_input 2>/dev/null";	// OK AMD Ryzen
		$cputemp0 = $sshconnection->exec($cputemp0AMD_cmd);
	}
	if ($cputemp0 == '') {
		$cputemp0sensors_cmd = "sensors 2>/dev/null | awk '{if (match($0, \"MB Temperature\")){printf(\"%f\",$3);} }'"; // OK by sensors
		$cputemp0 = $sshconnection->exec($cputemp0sensors_cmd);
	}
}

Maintenant seul toi par commande en ssh ou en direct sur ta console proxmox peut voir ce que te rends les répertoires ‹ hwmon › ou la commande ‹ sensors ›.
Pour le sensors le script va chercher le champ « MB température », mais tu peux l’adapter pour aller chercher ton champ.
Du moins je chercherai de ces 2 côtés la.

Bonjour,
le plugin plugin-monitoring vient d’être repris et est maintenu, c’est une grande nouvelle. :slight_smile:

J’aimerais proposer au repreneur un bout de code concernant Proxmox et la température.

Voici les commandes que je passe chez moi et leur résultat.
La 1ʳᵉ qui me donne la température CPU m’intéresse et serait celle que je proposerai.

sensors 2>/dev/null | awk '{if (match($0, "Package")){printf("%f",$4);} }'
47.000000

cat /sys/devices/virtual/thermal/thermal_zone0/temp
27800

cat /sys/devices/virtual/thermal/thermal_zone1/temp
29800

cat /sys/devices/virtual/thermal/thermal_zone2/temp
47000

sensors 2>/dev/null | awk '{if (match($0, "MB Temperature")){printf("%f",$3);} }'
<RIEN>

en complément :

sensors
acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +119.0°C)
temp2:        +29.8°C  (crit = +119.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +48.0°C  (high = +74.0°C, crit = +80.0°C)
Core 0:        +45.0°C  (high = +74.0°C, crit = +80.0°C)
Core 1:        +44.0°C  (high = +74.0°C, crit = +80.0°C)
Core 2:        +44.0°C  (high = +74.0°C, crit = +80.0°C)
Core 3:        +48.0°C  (high = +74.0°C, crit = +80.0°C)

J’ai un Core i5-7500T et cela pourrait être différent sur d’autres CPU.

EDIT : Pouvez vous tester au moins la 1re commande et me dire si c’est ok ou pas ?
Cela me rassurerait pour une proposition qui fonctionne ailleurs que chez moi :blush:

1 « J'aime »

Sur un Core I5 6500 le script le fait déjà.
Donc si cela n’impact pas ceux qui marche :wink:

image

sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +34.0°C  (high = +84.0°C, crit = +100.0°C)
Core 0:        +32.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:        +33.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:        +32.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:        +34.0°C  (high = +84.0°C, crit = +100.0°C)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +37.9°C  (low  =  -0.1°C, high = +84.8°C)
                       (crit = +94.8°C)
Sensor 1:     +37.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +42.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 8:     +37.9°C  (low  = -273.1°C, high = +65261.8°C)
 cat /sys/devices/virtual/thermal/thermal_zone0/temp
35000