Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+146
View File
@@ -0,0 +1,146 @@
---
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