# 6.4 - Surveillance, journaux et contrôles

## État des conteneurs

Docker Compose :

```bash
docker compose ps
docker compose logs --tail=100
docker stats --no-stream
```

TrueNAS :

```bash
sudo docker ps --format 'table {{.Names}}\t{{.Status}}'
sudo docker stats --no-stream
```

## Version et schéma

```bash
docker exec -it immich_server immich-admin version
docker exec -it immich_server immich-admin schema-check
```

Adapter le nom du conteneur.

## Santé de PostgreSQL

```bash
docker exec immich_postgres pg_isready -U postgres -d immich
docker logs --tail 100 immich_postgres
```

## Ressources hôte

```bash
uptime
free -h
df -hT
df -i
lsblk -f
```

TrueNAS :

```bash
sudo zpool status
sudo zpool list
sudo zfs list
```

GPU :

```bash
nvidia-smi
```

## Interface Immich

- `Administration > Server Stats` pour les actifs et quotas ;
- `Administration > Jobs` pour les files ;
- `Administration > Maintenance` pour l'intégrité ;
- `Administration > Settings > Backup` pour les dumps ;
- `Administration > External Libraries` pour les scans.

## Collecte de diagnostic

Le pack contient `scripts/diagnostic_immich.sh`. Exemple :

```bash
IMMICH_COMPOSE_DIR=/srv/immich/app \
  ./scripts/diagnostic_immich.sh
```

Le script n'effectue aucune modification. Examiner le rapport avant de le partager, car il peut contenir noms de conteneurs, chemins, versions et adresses.

## Alertes utiles

- espace libre faible ;
- pool ZFS dégradé ;
- conteneur en redémarrage ;
- sauvegarde PostgreSQL absente ou ancienne ;
- files d'attente bloquées ;
- erreurs d'intégrité ;
- certificat proche de l'expiration ;
- GPU absent après mise à jour.

Ne pas attendre un incident pour tester les commandes de diagnostic et la restauration.