====== Smart ======
====== Personnalisation des seuils d'alerte SMART par disque sous Zabbix ======
Par défaut, le modèle SMART de Zabbix applique un seuil global (ex: 50°C) à l'ensemble des disques durs et SSD découverts. Pour appliquer un seuil spécifique à un disque particulier (comme un disque dur externe USB qui chauffe différemment), il faut adapter le prototype de trigger pour qu'il accepte les **contextes de macros**.
===== 1. Modification du Prototype de Trigger =====
Les triggers générés par la découverte automatique doivent inclure explicitement la macro de découverte ''{#NAME}'' au sein de la macro de seuil.
Dans l'interface Zabbix, aller dans :
* **Data collection** > **Templates** (ou **Hosts**) > ''SMART by Zabbix agent 2''
* Cliquer sur **Discovery rules** puis sur **Trigger prototypes**
* Modifier le trigger de température existant avec l'expression suivante :
avg(/proxmoxhome/smart.disk.temperature[{#NAME}],5m)>{$SMART.TEMPERATURE.MAX.WARN:"{#NAME}"}
^ Ancienne syntaxe ^ Nouvelle syntaxe (Avec contexte) ^
| ''{$SMART.TEMPERATURE.MAX.WARN}'' | ''{$SMART.TEMPERATURE.MAX.WARN:"{#NAME}"}'' |
===== 2. Mécanisme de résolution de Zabbix =====
Lors de l'évaluation du déclencheur pour le disque ''sdb sat'', Zabbix va chercher la valeur du seuil en respectant cet ordre de priorité (du plus spécifique au plus global) :
+ 1. Macro définie sur l'**Hôte** avec le contexte exact : ''{$SMART.TEMPERATURE.MAX.WARN:"sdb sat"}''
+ 2. Macro définie sur le **Template** avec le contexte exact (si existante)
+ 3. Macro globale de l'**Hôte** sans contexte : ''{$SMART.TEMPERATURE.MAX.WARN}''
+ 4. Macro globale du **Template** sans contexte (Valeur d'usine par défaut)
===== 3. Déclaration de l'exception sur l'Hôte =====
Pour appliquer la dérogation sur votre machine :
- Aller sur la fiche de l'hôte ''proxmoxhome'' > Onglet **Macros** > Sous-onglet **Inherited and template macros**
- Chercher ''{$SMART.TEMPERATURE.MAX.WARN}'' et cliquer sur **Change** tout à droite.
- Modifier le champ de gauche pour y ajouter le nom exact de votre disque renvoyé par la découverte :
{$SMART.TEMPERATURE.MAX.WARN:"sdb sat"} => Valeur : 40
Les autres disques (comme ''sda'') n'ayant pas de macro à leur nom hériteront automatiquement du seuil par défaut du template.