# Supervision

Rediacc fournit des commandes de supervision intégrées pour inspecter la santé des machines, les conteneurs en cours d'exécution, les services, le statut des dépôts et les diagnostics système.

## Santé de la machine

Obtenez un rapport de santé complet pour une machine :

```bash
rdc machine health server-1
```

Ce rapport inclut :
- **Système** : temps de fonctionnement, utilisation du disque, utilisation du datastore
- **Conteneurs** : nombre en cours d'exécution, sains, défaillants
- **Stockage** : santé SMART
- **Problèmes** : problèmes identifiés

Utilisez `--output json` pour une sortie lisible par les machines.

## Lister les conteneurs

Affichez tous les conteneurs en cours d'exécution sur tous les dépôts d'une machine :

```bash
rdc machine containers server-1
```

| Colonne | Description |
|---------|-------------|
| Name | Nom du conteneur |
| Status | Temps de fonctionnement ou raison de l'arrêt |
| State | En cours d'exécution, arrêté, etc. |
| Health | Sain, défaillant, aucun |
| CPU | Pourcentage d'utilisation du processeur |
| Memory | Utilisation de la mémoire / limite |
| Repository | Dépôt propriétaire du conteneur |

Options :
- `--health-check`, Effectuer des vérifications de santé actives sur les conteneurs
- `--output json`, Sortie JSON lisible par les machines

La sortie JSON inclut les détails complets des conteneurs (`labels`, `port_mappings`, `image`, `id`) ainsi que `repository` (nom résolu), `repository_guid` (GUID d'origine), `domain` et `autoRoute`.

## Lister les services

Affichez les services systemd liés à Rediacc sur une machine :

```bash
rdc machine services server-1
```

| Colonne | Description |
|---------|-------------|
| Name | Nom du service |
| State | Actif, inactif, en échec |
| Sub-state | En cours d'exécution, arrêté, etc. |
| Restarts | Nombre de redémarrages |
| Memory | Utilisation de la mémoire du service |
| Repository | Dépôt associé |

Options :
- `--stability-check`, Signaler les services instables (en échec, >3 redémarrages, redémarrage automatique)
- `--output json`, Sortie JSON lisible par les machines

La sortie JSON inclut les détails complets des services avec `repository` (nom résolu) et `repository_guid` (GUID d'origine).

## Lister les dépôts

Affichez les dépôts sur une machine avec des statistiques détaillées :

```bash
rdc machine repos server-1
```

| Colonne | Description |
|---------|-------------|
| Name | Nom du dépôt |
| Size | Taille de l'image disque |
| Mount | Monté ou démonté |
| Docker | Démon Docker en cours d'exécution ou arrêté |
| Containers | Nombre de conteneurs |
| Disk Usage | Utilisation réelle du disque au sein du dépôt |
| Modified | Date de dernière modification |

Options :
- `--search <text>`, Filtrer par nom ou chemin de montage
- `--output json`, Sortie JSON lisible par les machines

La sortie JSON inclut `name` (résolu) et `guid` (GUID d'origine), et imbrique pour chaque dépôt les tableaux `containers` (avec `domain`, `autoRoute`, `repository`/`repository_guid`) et `services`.

## Statut du coffre

Obtenez un aperçu complet d'une machine incluant les informations de déploiement :

```bash
rdc machine vault-status --name server-1
```

Ceci fournit :
- Nom d'hôte et temps de fonctionnement
- Utilisation de la mémoire, du disque et du datastore
- Nombre total de dépôts, nombre de montés, nombre de démons Docker actifs
- Informations détaillées par dépôt

Utilisez `--output json` pour une sortie lisible par les machines.

## Tester la connexion

> **Adaptateur cloud uniquement.** En mode local, utilisez `rdc term connect -m server-1 -c "hostname"` pour vérifier la connectivité.

Vérifiez la connectivité SSH vers une machine :

```bash
rdc machine test-connection --ip 203.0.113.50 --user deploy
```

Ce rapport inclut :
- Statut de la connexion (succès/échec)
- Méthode d'authentification utilisée
- Configuration de la clé SSH
- Statut de déploiement de la clé publique
- Entrée des clés d'hôte connues

Options :
- `--port <number>`, Port SSH (par défaut : 22)
- `--save -m server-1`, Enregistrer la clé d'hôte vérifiée dans la configuration de la machine

## Diagnostics (doctor)

Exécutez une vérification diagnostique complète de votre environnement Rediacc :

```bash
rdc doctor
```

| Catégorie | Vérifications |
|-----------|---------------|
| **Environnement** | Version de Node.js, version du CLI, mode SEA, installation de Go, disponibilité de Docker |
| **Renet** | Emplacement du binaire, version, CRIU, rsync, ressources SEA embarquées |
| **Paramètres** | Profil actif, adaptateur, machines, clé SSH |
| **Virtualisation** | Vérifie si votre système peut exécuter des machines virtuelles locales (`rdc ops`) |

Chaque vérification indique **OK**, **Avertissement** ou **Erreur**. Utilisez cette commande comme première étape lors du dépannage de tout problème.

Codes de sortie : `0` = tout réussi, `1` = avertissements, `2` = erreurs.