Administrer les services
Ce fichier a pour but de donner des idées générales sur comment administrer les services, notamment quand ils ont des problèmes.
Systemd
La plupart des services sont implémentés par un ou plusieurs services Systemd. Par exemple,
- NGINX :
nginx.service - Overleaf :
sandboxed-runner.servicepour les compilations etpodman-overleaf.servicepour l'application web.
La liste des units (dont les services) peut être affichée à l'aide de la commande :
systemctl
[!note]
La liste inclut l'état des services. Elle peut être utile pour trouver rapidement les services qui sont failed.
Il est possible de voir l'état d'un service avec la commande :
systemctl status nginx.service
Les commandes systemctl start, systemctl stop et systemctl restart
permettent de démarrer et arrêter un service.
Certains services sont socket-activated, c'est à dire que le service Systemd est initialement arrêté et est démarré automatiquement par Systemd dès la première connexion au socket.
Afficher les logs d'un service
Tous les logs du système sont stockés avec systemd-journald. Ils peuvent être vus avec la commande :
journalctl
La commande journalctl peut filtrer les logs pour un service avec le drapeau
--unit (ou -u). Par exemple pour afficher les logs de NGINX :
journalctl --unit nginx.service
Pour n'afficher que les logs récents, il est possible d'utiliser le drapeau
--since (-S) avec une durée négative. Par exemple, pour afficher les logs de
NGINX depuis 1 heure :
journalctl --unit nginx.service --since -1h
Le drapeau --follow permet de suivre les logs en continu.
Machines virtuelles
Certains services tournent dans des machines virtuelles (VM). À chaque VM
correspond un service Systemd nommé run-<service>-vm.service responsable du
démarrage et de l'extinction douce de sa machine virtuelle.
Chaque machine virtuelle possède une IP locale du sous-réseau 10.10.10.0/24.
<service>.vms.aliens-lyon.fr est un hostname alias local de l'adresse IP de la
VM.
L'administration des machines virtuelles se fait en s'y connectant via SSH. La
configuration SSH des utilisateurices sysadmin de « Protomolecule » spécifie une
clef SSH à utiliser lors de la connexion pour des hostnames de la forme
*.vms.aliens-lyon.fr. Alors, pour se connecter à une VM :
ssh aliens@<service>.vms.aliens-lyon.fr
Le username pour l'authentification dépend des VM : aliens ou debian.