- L'examen nécessite un accès explicite aux appareils physiques de l'hôte.
- Les disques SATA nécessitent généralement SYS_RAWIO ; les disques NVMe peuvent également nécessiter SYS_ADMIN.
- Pour NVMe, c'est /dev/nvme0 qui est passé, et non /dev/nvme0n1.
- La configuration et InfluxDB doivent toutes deux être préservées.
Si vous possédez un serveur domestique, un NAS ou plusieurs disques durs sur lesquels vous stockez des informations importantes, attendre qu'un disque commence à faire des bruits étranges n'est pas une bonne stratégie. Des pannes peuvent survenir sans prévenir.Par conséquent, il est recommandé surveiller périodiquement l'état des disques et observer si certains indicateurs se détériorent avec le temps.
Examen minutieux Cette tâche est facilitée par un Panneau Web permettant de collecter les données SMART des disques durs, SSD et disques NVMeEn installant Scrutiny avec Docker, vous pouvez consulter les températures, les attributs critiques et les données historiques depuis votre navigateur, tout en maintenant l'application et ses données séparées du reste du système.
Qu’est-ce que le contrôle de conformité et quelles informations révèle-t-il ?

Scrutiny est un outil de surveillance de disque qui utilise smartctlIntégré à Smartmontools, cet outil permet de consulter les informations SMART fournies par les appareils. Il enregistre ensuite les mesures et les affiche via une interface web, permettant ainsi de vérifier non seulement la valeur actuelle, mais aussi son évolution.
Les informations disponibles comprennent la température, les secteurs réaffectés, les secteurs en attente, les erreurs non corrigibles et d'autres attributs qui dépendent du type et du fabricant de l'unité. L'analyse compare également certaines valeurs avec les données de défaillance réelles afin de mettre en évidence les signaux potentiellement préoccupants.
Cela ne signifie pas qu'il peut anticiper toutes les pannes. Une unité peut tomber en panne subitement sans que SMART n'ait préalablement enregistré de dégradation manifeste. Par conséquent, Scrutiny est un outil de surveillance et de diagnostic, mais Cela ne remplace pas une stratégie de sauvegarde.
Ce dont vous avez besoin pour installer Scrutiny avec Docker

Cette installation est principalement destinée à un serveur Linux ou à un NAS permettant l'exécution de conteneurs et la fourniture de périphériques physiques à ces conteneurs. Vous aurez besoin de :
- Docker Engine et Docker Compose : l'ordre utilisé dans ce guide est
docker compose, correspondant à Compose V2. - Accès administratif au serveur : Il est nécessaire d'identifier les unités et d'autoriser Docker à y accéder.
- Un itinéraire persistant : Il conservera la configuration et l'historique stockés dans InfluxDB.
- Noms corrects des périphériques : Par exemple,
/dev/sdapour un disque SATA ou/dev/nvme0pour un contrôleur NVMe.
Docker Desktop pour Windows ou macOS n'offre pas le même accès direct aux appareils /dev Il est préférable d'exécuter le collecteur depuis le système hôte plutôt que depuis une installation Linux native. Si les disques sont physiquement connectés à un serveur Linux ou à un NAS, il est recommandé d'y exécuter le collecteur.
Comment identifier les disques que Scrutiny doit lire
Avant de créer le conteneur, vérifiez comment Linux nomme chaque lecteur. Vous pouvez obtenir une liste simple avec :
lsblk -d -o NAME,MODEL,SIZE,TYPE,TRAN
Si vous avez installé Smartmontools, vous pouvez également lui demander de rechercher les appareils compatibles :
sudo smartctl --scan
Le résultat peut afficher des itinéraires comme ceux-ci :
/dev/sda
/dev/sdb
/dev/nvme0
N'indiquez que les lecteurs que vous souhaitez surveiller. Ne confondez pas un disque entier avec un seul lecteur. /dev/sda avec ses partitions, par exemple /dev/sda1Dans le cas de NVMe, Scrutiny nécessite généralement le pilote /dev/nvme0pas l'espace de noms de stockage /dev/nvme0n1.
Comment préparer des dossiers persistants
Créez un dossier pour le projet et deux sous-dossiers. L'un contiendra la configuration et la base de données interne de Scrutiny, tandis que l'autre contiendra les séries de données historiques d'InfluxDB.
mkdir -p ~/scrutiny/config
mkdir -p ~/scrutiny/influxdb
cd ~/scrutiny
Ces répertoires vous permettent de recréer ou de mettre à jour le conteneur sans perdre l'historique des températures ni les attributs SMART.
Comment créer le fichier Docker Compose de Scrutiny
Dans le dossier précédent, créez un fichier appelé compose.yaml avec cette configuration initiale :
services:
scrutiny:
image: ghcr.io/analogj/scrutiny:v0.9.3-omnibus
container_name: scrutiny
restart: unless-stopped
cap_add:
- SYS_RAWIO
ports:
- "8080:8080"
volumes:
- /run/udev:/run/udev:ro
- ./config:/opt/scrutiny/config
- ./influxdb:/opt/scrutiny/influxdb
devices:
- "/dev/sda"
- "/dev/sdb"
Remplacez les périphériques de l'exemple par ceux présents sur votre serveur. N'ajoutez pas de lecteur inexistant, car Docker ne pourra pas démarrer correctement le conteneur.
La capacité SYS_RAWIO permet cela smartctl Consultez les informations SMART. L'assemblage de /run/udev Il fournit les métadonnées que Scrutiny utilise pour reconnaître correctement le matériel.
L'image Omnibus inclut l'interface web, l'API, le collecteur de données et la base de données de métriques. C'est pourquoi elle constitue l'option la plus simple lorsque tous les disques sont connectés au même serveur.
Bien que certains exemples exposent également le port 8086 d'InfluxDB, il n'est pas nécessaire de l'ouvrir pour utiliser Scrutiny normalement. Le fait de le garder fermé réduit les accès réseau inutiles aux services.
Comment ajouter un disque NVMe
Les disques NVMe nécessitent généralement une capacité supplémentaire SYS_ADMINDans ce cas, modifiez les sections correspondantes comme suit :
cap_add:
- SYS_RAWIO
- SYS_ADMIN
devices:
- "/dev/sda"
- "/dev/nvme0"
Ne pas ajouter SYS_ADMIN si vous ne surveillez que les disques SATA ou SAS qui fonctionnent correctement avec SYS_RAWIOChaque capacité augmente les autorisations du conteneur ; il est donc préférable de n'utiliser que celles dont vous avez besoin.
Comment démarrer Scrutiny et accéder au tableau de bord
Avant de démarrer le service, vérifiez que la syntaxe du fichier est valide :
docker compose config
Si aucune erreur ne s'affiche, téléchargez l'image et démarrez le conteneur :
docker compose pull
docker compose up -d
Vérifiez son statut avec :
docker compose ps
Ouvrez ensuite l'adresse IP du serveur suivie du port 8080 dans votre navigateur :
http://IP_DEL_SERVIDOR:8080
L'image Omnibus exécute le collecteur au démarrage. Si le panneau reste vide, vous pouvez forcer un ramassage manuel :
docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run
Rechargez la page une fois le processus terminé. Les unités, leur état général, leur température et leurs attributs disponibles devraient s'afficher.
Comment vérifier que Scrutiny fonctionne correctement
Commencez par consulter les journaux du conteneur :
docker compose logs --tail=100 scrutiny
Vous pouvez également consulter le point de terminaison de santé de l'application :
curl -fsS http://localhost:8080/api/health
Enfin, exécutez manuellement le collecteur et vérifiez qu'il n'affiche aucune erreur lors de l'ouverture des périphériques :
docker exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run
Scrutiny exécute le collecteur à intervalles réguliers. Cette planification peut être modifiée à l'aide de la variable correspondante. COLLECTOR_CRON_SCHEDULEToutefois, pour une installation initiale, il est généralement suffisant de conserver le forfait par défaut.
Que se passe-t-il avec les disques durs USB et les contrôleurs RAID ?
Certains boîtiers USB-SATA ne transmettent pas correctement les informations SMART. smartctl Il ne peut pas non plus lire le disque depuis l'hôte lui-même ; accorder davantage d'autorisations au conteneur ne résoudra pas le problème. Sur certaines cartes réseau, il peut être nécessaire de spécifier manuellement un type tel que : sat dans collector.yaml.
Les contrôleurs RAID peuvent également masquer les disques physiques derrière un périphérique virtuel. Scrutiny prend en charge les contrôleurs compatibles. smartctlmais il peut être nécessaire d'emprunter un itinéraire situé dans /dev/bus/ et définissez le type de contrôleur dans le fichier collecteur.
Ces situations méritent un guide distinct. Que faire lorsque Scrutiny ne détecte pas les disques ?car elles dépendent du pont USB, du contrôleur et de la manière dont le noyau expose chaque périphérique.
Erreurs courantes lors de l'installation de Scrutiny avec Docker

Le panneau est vide.
Vérifiez que les disques sont inclus dans devices et exécutez manuellement le collecteur. Il est également conseillé de consulter les journaux pour vérifier si smartctl a pu ouvrir chaque unité.
Le conteneur ne peut pas interroger les données SMART.
Vérifiez que vous avez ajouté SYS_RAWIO et assemblé /run/udev en mode lecture seule. Évitez de recourir directement à privileged: truecar il accorde au conteneur un accès quasi complet à l'hôte.
Le disque NVMe n'apparaît pas.
Canard SYS_ADMIN et transmet le contrôleur, par exemple /dev/nvme0. Utiliser /dev/nvme0n1 C'est l'une des erreurs les plus fréquentes.
Smartctl renvoie le code de sortie 2
Ce code peut indiquer que le périphérique n'a pas pu être ouvert ou identifié. Il peut également apparaître pour les disques suspendus. Cela ne signifie pas automatiquement que le disque a subi une panne physique.
La clé USB apparaît sans aucune information.
Essayez-le d'abord smartctl directement à l'hôte. Certains adaptateurs et modes UAS ne permettent pas la transmission des commandes SMART nécessaires.
Le port 8080 est déjà occupé
Modifiez uniquement le port situé à gauche :
ports:
- "8090:8080"
Dans ce cas, le panneau sera disponible en http://IP_DEL_SERVIDOR:8090.
Comment mettre à jour Scrutiny sans perdre l'historique
Avant la mise à jour, faites une copie des dossiers. config e influxdbVérifiez ensuite les versions publiées, modifiez la balise image dans compose.yaml et exécuter :
docker compose pull
docker compose up -d
En utilisant des volumes persistants, Docker remplace le conteneur tout en préservant la configuration et les métriques. Évitez d'automatiser les mises à jour à l'aide de balises comme nightly sur un serveur contenant des informations importantes.
Une fois le déploiement terminé, vous disposerez d'un panneau web vous permettant de consulter l'état SMART et les performances thermiques de vos unités. L'étape suivante pourrait être : Configurer les alertes dans Scrutiny pour éviter d'avoir à se connecter manuellement au panneau, mais cette configuration doit être traitée séparément pour expliquer correctement les URL Shoutrrr, les identifiants et les tests pour chaque canal.
Je suis un passionné de technologie qui a fait de ses intérêts de « geek » un métier. J'ai passé plus de 10 ans de ma vie à utiliser des technologies de pointe et à bricoler toutes sortes de programmes par pure curiosité. Aujourd'hui, je me spécialise dans l'informatique et les jeux vidéo. En effet, depuis plus de 5 ans, j'écris pour différents sites Web sur la technologie et les jeux vidéo, créant des articles qui cherchent à vous donner les informations dont vous avez besoin dans un langage compréhensible par tous.
Si vous avez des questions, mes connaissances s'étendent de tout ce qui concerne le système d'exploitation Windows ainsi qu'Android pour les téléphones mobiles. Et mon engagement est envers vous, je suis toujours prêt à consacrer quelques minutes et à vous aider à résoudre toutes les questions que vous pourriez avoir dans ce monde Internet.