Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.service pour les compilations et podman-overleaf.service pour 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.