# 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`.