Files
vps-docs/hestiacp/chapitres/12-supervision.md
Zana 2e18724685 Ajout du guide PDF HestiaCP réutilisable (HestiaCP 1.10.4)
- 14 chapitres + annexe en Markdown (chapitres/), 99 étapes
- Générateur WeasyPrint (build/build.py) : PDF générique ou
  personnalisé via --vars fichier.conf
- PDF générique + PDF personnalisé srv1.skglobalinstitute.com
- Commandes v-* vérifiées contre le code source HestiaCP 1.10.4
- 03-bis-hestiacp.md pointe vers le nouveau guide

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018J2PsVQ28oW4xEkWJpcU9G
2026-09-10 20:01:59 +02:00

87 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Supervision
Trois niveaux, du plus simple au plus complet :
1. les outils intégrés à HestiaCP ;
2. **Uptime Kuma**, qui vérifie que vos sites répondent et vous alerte ;
3. **Netdata**, qui affiche en temps réel le processeur, la mémoire, le disque et les services.
## Utiliser les outils intégrés à HestiaCP
- **Roue dentée** (page des services) : l'état de chaque service (Nginx, Apache, PHP-FPM, MariaDB, Exim, Dovecot, Bind…), avec redémarrage en un clic.
- **Roue dentée › Moniteur de tâches** : graphiques de charge, mémoire, réseau, web, mail et bases de données.
- **Statistiques** : bande passante et espace disque par utilisateur.
En ligne de commande :
```bash
sudo v-list-sys-services
sudo v-list-sys-info
df -h / && free -h
```
## Installer Uptime Kuma (disponibilité et alertes)
Uptime Kuma teste vos sites, vos certificats SSL, vos ports et vos DNS toutes les minutes. Il vous alerte par e-mail, Telegram, Discord…
```bash
docker run -d --name uptime-kuma --restart=always \
-p 127.0.0.1:3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:2
```
Publiez-le sur `status.{{DOMAINE}}` (chapitre 11) :
```bash
sudo hestia-proxy-tpl 3001
sudo v-add-dns-record {{CLIENT}} {{DOMAINE}} status A {{IP}}
sudo v-add-web-domain {{CLIENT}} status.{{DOMAINE}}
sudo v-change-web-domain-proxy-tpl {{CLIENT}} status.{{DOMAINE}} proxy-3001
sudo v-add-letsencrypt-domain {{CLIENT}} status.{{DOMAINE}}
sudo v-add-web-domain-ssl-force {{CLIENT}} status.{{DOMAINE}}
```
Ouvrez `https://status.{{DOMAINE}}` et créez le compte administrateur. Ajoutez ensuite une sonde **HTTP(s)** pour chaque site, en cochant l'option d'alerte d'expiration du certificat.
Configurez les notifications, par exemple en SMTP avec la boîte `noreply@{{DOMAINE}}` : serveur `mail.{{DOMAINE}}`, port 465, sécurité SSL/TLS.
> [!TIP] Une sonde externe en plus
> Si le serveur tombe, Uptime Kuma tombe avec lui et ne peut plus alerter. Ajoutez une surveillance **externe** gratuite, par exemple UptimeRobot ou Better Stack, au moins sur {{SITE}}.
## Installer Netdata (métriques en temps réel)
Netdata détecte seul Nginx, Apache, PHP-FPM, MariaDB, Exim, Docker…
```bash
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sudo sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry --non-interactive
rm /tmp/netdata-kickstart.sh
```
Netdata écoute sur le port 19999, qui reste **fermé** par le pare-feu de HestiaCP (IPv4) et par le pare-feu IPv6 (chapitre 4). Son tableau de bord n'a pas de mot de passe : on y accède par un **tunnel SSH**, sans rien exposer.
Depuis votre ordinateur :
```bash
ssh -N -L 19999:127.0.0.1:19999 {{HOST}}
```
Laissez ce terminal ouvert et ouvrez `http://localhost:19999` dans votre navigateur.
> [!CHECK]
> Depuis l'extérieur, `curl -m 5 http://{{IP}}:19999` doit échouer (délai dépassé), alors que le tableau de bord s'affiche via le tunnel.
> [!NOTE]
> Netdata propose un compte « Cloud » facultatif : le tableau de bord local fonctionne sans. Il utilise environ 150 à 300 Mo de RAM ; pour l'arrêter, `sudo systemctl disable --now netdata`.
## Recevoir les alertes du serveur
HestiaCP envoie ses notifications (mises à jour, sauvegardes, erreurs) à l'adresse de {{ADMIN}}. Vérifiez qu'elle est correcte :
```bash
sudo v-list-user {{ADMIN}} | grep EMAIL
```
Pour la changer : `sudo v-change-user-contact {{ADMIN}} nouvelle@adresse.com`.