6.9 KiB
title: Scrutiny created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, monitoring, hdd, smart, nas, go, ssd] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Monitoring, https://github.com/AnalogJ/scrutiny]
📊 Scrutiny
Le médecin de vos disques durs et SSD : interface web moderne pour les données SMART, avec alerting avant panne. La référence pour surveiller la santé de votre NAS ou serveur de fichiers.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | github.com/AnalogJ/scrutiny |
| GitHub | AnalogJ/scrutiny |
| License | MIT |
| Langage | Go + TypeScript (Svelte) |
| Étoiles GitHub | 7 858 ⭐ |
| Dernière MAJ | 2026-06-06 |
| Catégorie | [[cat-monitoring |
📝 Description
Scrutiny est un dashboard de monitoring de disques durs et SSD qui collecte, historise et alerte sur les données SMART de tous vos périphériques de stockage. C'est l'outil qu'il vous faut si vous gérez un NAS, un serveur de fichiers, ou un homelab avec plusieurs disques.
Les données SMART (Self-Monitoring, Analysis, and Reporting Technology) sont des métriques internes remontées par chaque disque : température, heures de fonctionnement, secteurs réalloués, erreurs CRC, etc. Ces infos sont cruciales pour prédire une panne avant qu'elle ne survienne. Le problème : les outils natifs (smartctl) ne sont qu'en CLI, et il n'existait pas de bonne UI moderne pour suivre l'évolution dans le temps. C'est précisément ce que Scrutiny résout.
Contrairement à app-netdata ou app-uptime-kuma qui surveillent l'uptime, Scrutiny est verticalisé sur le stockage : il ne monitore pas le CPU, mais il est imbattable pour la santé disque.
- ✅ Collecte SMART : température, heures de fonctionnement, reallocated sectors, pending sectors, UDMA CRC errors
- ✅ Web UI moderne : Svelte, responsive, dark mode natif
- ✅ Historique : InfluxDB en backend, graphs de tendances sur la durée de vie du disque
- ✅ Alertes : seuils dynamiques, notifications (Discord, Slack, Telegram, Email, Gotify, Pushover, ntfy, Pushbullet)
- ✅ Multi-hôtes : un seul dashboard peut monitorer N serveurs (via agents locaux)
- ✅ Auto-détection : trouve tous les disques (SATA, NVMe, SAS)
- ✅ Vendor-specific attributes : gère les attributs propriétaires (WD, Seagate, Samsung, etc.)
- ✅ Collecteur en Go : binaire statique, faible empreinte
- ✅ Docker : OCI + Docker Compose
Public cible : toute personne avec un serveur à disques multiples (NAS, médiaserver, infra Proxmox, TrueNAS bare-metal). Si vous avez juste un VPS avec 1 SSD, Scrutiny est overkill — partez sur app-uptime-kuma.
🚀 Installation
Option 1 : Docker Compose (stand-alone)
# docker-compose.yml
version: '3.8'
services:
scrutiny:
image: ghcr.io/analogj/scrutiny:master-omnibus
container_name: scrutiny
restart: unless-stopped
ports:
- "8080:8080" # Web UI
volumes:
- /run/udev:/run/udev:ro
- /dev/disk:/dev/disk:ro
- scrutiny-config:/opt/scrutiny/config
- scrutiny-influxdb:/opt/scrutiny/influxdb
labels:
- "traefik.enable=true"
- "traefik.http.routers.scrutiny.rule=Host(`scrutiny.example.com`)"
- "traefik.http.routers.scrutiny.entrypoints=websecure"
- "traefik.http.routers.scrutiny.tls.certresolver=letsencrypt"
- "traefik.http.services.scrutiny.loadbalancer.server.port=8080"
volumes:
scrutiny-config:
scrutiny-influxdb:
⚠️ Sur Synology, TrueNAS, Unraid, le conteneur doit être lancé en privileged ou avec les bons device mappings. Voir la doc.
Option 2 : Binaire natif (collector sur hôte distant)
# Sur la machine à monitorer (envoyée par SSH)
wget https://github.com/AnalogJ/scrutiny/releases/latest/download/scrutiny-collector-linux-amd64
chmod +x scrutiny-collector-linux-amd64
sudo ./scrutiny-collector-linux-amd64 run --api-endpoint http://scrutiny.example.com:8080
⚙️ Configuration Initiale
- Accéder à l'UI :
https://scrutiny.example.com(via app-traefik) - Vérifier la détection : la page « Devices » liste tous les disques du serveur
- Lancer un scan manuel :
docker compose exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run - Configurer les notifications : Settings > Notifications (Discord/Slack/Email)
- Définir la fréquence : par défaut 1h ; cron possible (
*/30 * * * *) - Pour monitorer d'autres hôtes : installer le collector sur chaque machine, pointer vers l'API centrale
🔄 Alternatives
Open Source
- smartd (smartmontools) — Le daemon SMART natif Linux, mais CLI et notifications mail basiques
- Grafana + Telegraf + InfluxDB — DIY possible mais lourd pour juste le SMART
- NAS vendors built-in (Synology, QNAP) — Limité au NAS lui-même
- Zabbix — Peut faire SMART via scripts, mais bien plus complexe
Comparaison Scrutiny vs autres
| Critère | Scrutiny | smartd natif | Zabbix | Telegraf+Influx |
|---|---|---|---|---|
| Self-hosted | ✅ | ✅ | ✅ | ✅ |
| Web UI moderne | ✅ | ❌ | ✅ | ⚠️ (Grafana) |
| Historique long terme | ✅ InfluxDB | ⚠️ logs | ✅ | ✅ |
| Alertes | ✅ | ✅✅ | ⚠️ (Alerta) | |
| Setup | 5 min | 10 min | 1h+ | 1h+ |
| Multi-host | ✅ | ❌ | ✅ | ✅ |
| Cible | Disques | Disques | Tout infra | Tout infra |
Verdict : Scrutiny est le seul outil qui fait JUSTE le SMART, BIEN, et avec une UI moderne. Si vous voulez surveiller la santé disque en complément d'app-uptime-kuma ou app-netdata, c'est l'addition parfaite.
Propriétaires (ce que Scrutiny remplace)
- CrystalDiskInfo — Windows only, pas de remote
- Hard Disk Sentinel — Windows only, payant
- Backblaze Personal Drive Stats — Public, mais pas self-host
- Datadog Disk Monitoring — Inclus dans Datadog (cher)
🔐 Sécurité
- Auth intégrée depuis 2023 : login/password (bcrypt) en cookie de session
- HTTPS obligatoire via app-traefik (l'API expose l'historique disque)
- Pas d'API publique : le collector est l'unique client qui push les métriques
- Permissions devices :
/dev/disket/run/udeven lecture seule dans le conteneur
📚 Ressources
Pages Liées
- cat-monitoring — Catégorie Monitoring
- app-uptime-kuma — Monitoring uptime
- app-netdata — Métriques système
- app-traefik — Reverse proxy HTTPS
- observabilite — Concept d'observabilité
- checklist-monitoring-minimal — Checklist de démarrage