--- 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](https://github.com/AnalogJ/scrutiny) | | **GitHub** | [AnalogJ/scrutiny](https://github.com/AnalogJ/scrutiny) | | **License** | MIT | | **Langage** | Go + TypeScript (Svelte) | | **Étoiles GitHub** | 7 858 ⭐ | | **Dernière MAJ** | 2026-06-06 | | **Catégorie** | [[cat-monitoring|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) ```yaml # 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) ```bash # 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 1. **Accéder à l'UI** : `https://scrutiny.example.com` (via [[app-traefik]]) 2. **Vérifier la détection** : la page « Devices » liste tous les disques du serveur 3. **Lancer un scan manuel** : `docker compose exec scrutiny /opt/scrutiny/bin/scrutiny-collector-metrics run` 4. **Configurer les notifications** : Settings > Notifications (Discord/Slack/Email) 5. **Définir la fréquence** : par défaut 1h ; cron possible (`*/30 * * * *`) 6. **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 | ✅ | ⚠️ mail | ✅✅ | ⚠️ (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/disk` et `/run/udev` en lecture seule dans le conteneur ## 📚 Ressources - [GitHub AnalogJ/scrutiny](https://github.com/AnalogJ/scrutiny) - [Wiki / FAQ](https://github.com/AnalogJ/scrutiny/wiki) - [Release notes](https://github.com/AnalogJ/scrutiny/releases) - [Docker Hub](https://hub.docker.com/r/analogj/scrutiny) ## 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