Files
wiki/Catalogue-Self-Hosted/apps/app-scrutiny.md
T
2026-06-09 18:40:21 +02:00

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

  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

Pages Liées