Je ne connais pas de distribution Linux grand public qui enregistre ce type d'informations par défaut. La plupart des distributions Linux courantes incluent divers packages qui peuvent enregistrer les températures, et certains de ces packages sont configurés pour enregistrer par défaut.
En prenant Debian comme exemple, sensord
enregistrera périodiquement toutes les informations dont il a connaissance (températures du système, tensions, etc.) dans le journal système, mais il doit être configuré manuellement avant de pouvoir enregistrer quoi que ce soit d'utile ; hddtemp
peut être configuré pour consigner périodiquement les températures du disque dur. De nombreux autres outils peuvent récupérer ce type d'informations (via IPMI, SNMP, etc.) mais encore une fois dans la plupart des cas, ils doivent être configurés, soit pour pouvoir accéder à l'information dans un premier temps, soit pour pouvoir l'interpréter, ou les deux.
Cette exigence de configuration signifie qu'il serait difficile de mettre en place une distribution générique qui enregistre les températures par défaut de manière significative. (La plupart des systèmes que j'ai vus ont au moins une entrée de surveillance non valide qui déclencherait des alarmes si elle était configurée automatiquement !) Bien sûr, il est tout à fait possible de configurer une image d'installation pour vos propres systèmes puisque vous savez ce que ils sont et comment ils sont configurés ... Une fois que vous avez configuré les différents outils nécessaires pour extraire les informations de température, vous feriez mieux d'utiliser un outil de surveillance approprié (tel que Munin) pour enregistrer les températures au lieu de compter sur le journaux système. De cette façon, vous pouvez également configurer des alertes pour être averti lorsque les choses commencent à mal tourner.
Extension sur le sensord
exemple, vous pouvez trouver sa sortie dans le journal système, avec sensord
comme nom de processus ; donc soit chercher sensord
en /var/log/syslog
(par défaut), ou exécutez journalctl -u sensord
. Vous verrez des journaux périodiques comme celui-ci (j'ai supprimé la date et le nom d'hôte) :
sensord[2489]: Chip: acpitz-virtual-0
sensord[2489]: Adapter: Virtual device
sensord[2489]: temp1: 27.8 C
sensord[2489]: temp2: 29.8 C
sensord[2489]: Chip: coretemp-isa-0000
sensord[2489]: Adapter: ISA adapter
sensord[2489]: Physical id 0: 33.0 C
sensord[2489]: Core 0: 29.0 C
sensord[2489]: Core 1: 30.0 C
sensord[2489]: Core 2: 26.0 C
sensord[2489]: Core 3: 29.0 C
sensord[2489]: Chip: nct6776-isa-0a30
sensord[2489]: Adapter: ISA adapter
sensord[2489]: in0: +1.80 V (min = +1.60 V, max = +2.00 V)
sensord[2489]: in1: +1.86 V (min = +1.55 V, max = +2.02 V)
sensord[2489]: in2: +3.41 V (min = +2.90 V, max = +3.66 V)
sensord[2489]: in3: +3.39 V (min = +2.83 V, max = +3.66 V)
sensord[2489]: in4: +1.50 V (min = +1.12 V, max = +1.72 V)
sensord[2489]: in5: +1.26 V (min = +1.07 V, max = +1.39 V)
sensord[2489]: in6: +1.04 V (min = +0.80 V, max = +1.20 V)
sensord[2489]: in7: +3.31 V (min = +2.90 V, max = +3.66 V)
sensord[2489]: in8: +3.22 V (min = +2.50 V, max = +3.60 V)
sensord[2489]: fan1: 1251 RPM (min = 200 RPM)
sensord[2489]: fan2: 0 RPM (min = 0 RPM)
sensord[2489]: fan3: 299 RPM (min = 200 RPM)
sensord[2489]: fan4: 1315 RPM (min = 0 RPM)
sensord[2489]: fan5: 628 RPM (min = 200 RPM)
sensord[2489]: SYSTIN: 32.0 C (limit = 80.0 C, hysteresis = 70.0 C)
sensord[2489]: CPUTIN: 33.0 C (limit = 85.0 C, hysteresis = 80.0 C)
sensord[2489]: AUXTIN: 24.0 C (limit = 80.0 C, hysteresis = 75.0 C)
sensord[2489]: PECI Agent 0: 31.0 C (limit = 95.0 C, hysteresis = 92.0 C)
sensord[2489]: PCH_CHIP_CPU_MAX_TEMP: 57.0 C (limit = 95.0 C, hysteresis = 90.0 C)
sensord[2489]: PCH_CHIP_TEMP: 0.0 C
sensord[2489]: PCH_CPU_TEMP: 0.0 C
sensord[2489]: beep_enable: Sound alarm enabled
sensord[2489]: Chip: jc42-i2c-9-18
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 32.8 C (min = 0.0 C, max = 60.0 C)
sensord[2489]: Chip: jc42-i2c-9-19
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 33.5 C (min = 0.0 C, max = 60.0 C)
sensord[2489]: Chip: jc42-i2c-9-1a
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 34.0 C (min = 0.0 C, max = 60.0 C)
sensord[2489]: Chip: jc42-i2c-9-1b
sensord[2489]: Adapter: SMBus I801 adapter at 0580
sensord[2489]: temp1: 33.2 C (min = 0.0 C, max = 60.0 C)
Pour obtenir cela, j'ai dû déterminer quels modules étaient nécessaires (en utilisant sensors-detect
) :par défaut, le système ne connaissait que les températures signalées par l'ACPI, qui ne correspondent en fait à rien (elles ne varient jamais). coretemp
donne les températures du cœur du processeur sur les processeurs Intel, nct6776
est le moniteur matériel de la carte mère, et jc42
est le moniteur de température sur les modules DIMM. Pour le rendre utile pour la surveillance automatisée, je devrais au moins désactiver les valeurs ACPI et ré-étiqueter les ventilateurs, et corriger fan4
la valeur minimale. Il existe de nombreuses autres possibilités de configuration, lm_sensors
' exemple de fichier de configuration donne une idée.
Certains disques durs conservent automatiquement un historique des températures récentes. À partir de man smartctl
:
scttemp, scttempsts, scttemphist - [ATA uniquement] imprime les informations de température du disque fournies par les commandes SMART Command Transport (SCT). L'option « scttempsts » imprime la température actuelle et les plages de température renvoyées par la commande SCT Status, « scttemphist » imprime les limites de température et le tableau d'historique des températures renvoyées par la commande SCT Data Table, et « scttemp » imprime les deux. Les valeurs de température sont conservées à travers les cycles d'alimentation. L'intervalle de journalisation peut être configuré avec l'option ´-l scttempint,N[,p]´, voir ci-dessous. Les commandes SCT ont été introduites dans ATA8-ACS et étaient également prises en charge par de nombreux disques ATA-7.
Une commande comme smartctl -data -l scttemphist /dev/sda
vous donnera un historique de température si le lecteur le prend en charge. Par exemple :
Index Estimated Time Temperature Celsius
103 2017-06-27 11:10 31 ************
... ..( 24 skipped). .. ************
0 2017-06-27 15:20 31 ************
1 2017-06-27 15:30 30 ***********
... ..( 9 skipped). .. ***********
11 2017-06-27 17:10 30 ***********
12 2017-06-27 17:20 31 ************
13 2017-06-27 17:30 30 ***********
... ..( 51 skipped). .. ***********
65 2017-06-28 02:10 30 ***********
66 2017-06-28 02:20 31 ************
67 2017-06-28 02:30 32 *************
68 2017-06-28 02:40 31 ************
69 2017-06-28 02:50 30 ***********
70 2017-06-28 03:00 31 ************
71 2017-06-28 03:10 30 ***********
72 2017-06-28 03:20 30 ***********
73 2017-06-28 03:30 31 ************
74 2017-06-28 03:40 30 ***********
75 2017-06-28 03:50 31 ************
76 2017-06-28 04:00 31 ************
77 2017-06-28 04:10 30 ***********
... ..( 22 skipped). .. ***********
100 2017-06-28 08:00 30 ***********
101 2017-06-28 08:10 31 ************
102 2017-06-28 08:20 30 ***********
En dehors de cela, vous devrez configurer/installer un outil (voir la réponse de Stephen Kitt).