« LINUX:Systemd-Paramétrage personnalisé » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 18 : Ligne 18 :
* Enfin il faut activer cette modification dans "Systemd" avec la commande déjà vue:
* Enfin il faut activer cette modification dans "Systemd" avec la commande déjà vue:
  systemctl daemon-reload
  systemctl daemon-reload
=Exemples=
J'ai été forcé de passer à cette étape dans le cadre de la suite Wazuh". Il faut dire que ma machine est vielle et poussive. J'ai mis les services suivants sur la même machine:
* wazuh-manager.service
* filebeat.service
* wazuh-indexer.service
* wazuh-dashboard
Les plus gros problèmes surviennent au démarrage de la machine, d'autre de nuit.
Cette machine héberge de nombreux services dont certains très gourmand en ressources et en temps de démarrage. Comme ils veulent tous démarrer en même temps, certains dépassent le temps imparti ("timeout").
==FILEBEAT==
Ce service est programmé pour redémarrer automatiquement en cas d'arrêt intempestif mais si ces essais de démarrages infructueux sont trop nombreux et trop rapprochés, ce système se bloque et le service ne démarre plus sauf par quelques opérations manuelles.
Pour résoudre ce problème, il existe une option qui permet d'allonger la durée entre deux essais de démarrage. On crée un fichier dans le répertoire "/etc/systemd/system/filebeat.service.d" nouvellement créé, que l'on nomme "restart.conf". Voici son contenu:
----
[Service]
RestartSec=5s
----
Nous l'avons mis à 5 secondes, à ajuster à l'avenir.
Le second problème est le temps de démarrage en liaison avec les autres modules la suite de Wazuh ("timeout").
Pour résoudre ce problème mineur dans ce cas, nous avons augmenté le temps limite de démarrage en créant dans ce même répertoire, le fichier que l'on a nommé "startup-timeout.conf". Voici son contenu:
---
[Service]
TimeoutStartSec=600
---
Nous l'avons mis à 10 minutes, à ajuster à l'avenir.
Remarquons que le contenu de ces deux fichiers peut être réuni en un seul.





Version du 2 août 2022 à 16:43


retour au menu de Systemd


But

Chaque service géré par Systemd nécessite un paramétrage spécifique fourni par la distribution. Dans certains cas, on est amené à en modifier ou ajouter certains.


Méthode

Il est toujours déconseillé de modifier directement un fichier de la configuration d'un service fourni avec la distribution car en cas de mise-à-jour de ce fichier par la distribution, soit vos modifications sont perdues, soit la mise-à-jour, souvent nécessaire, n'est pas effectuée.

Nous concentrerons sur les services lancés au niveau global (system). Leurs définitions se trouvent dans le répertoire "/usr/lib/systemd/system" et un service activé consiste, dans la très grande majorité des cas, à effectuer un lien symbolique vers le fichier se trouvant dans le répertoire de référence "/usr/lib/systemd/system". Ce lien se retrouve sous le répertoire "/etc/systemd/system".

Il existe une façon de contourner ce problème. Elle nécessite quelques étapes:

  • En premier lieu, on crée un répertoire du nom du service auquel on ajoute l'extension ".d" sous le répertoire "/etc/systemd/system". Par exemple, pour le service "wazuh-manager.service" on crée le sous-répertoire ""/etc/systemd/system/wazuh-manager.service.d".
  • En second lieu, on crée un fichier au nom évocateur de votre cru mais dont l'extension est ".conf" dans ce répertoire créé ci-dessus.
  • Dans ce fichier, on ajoute la section concernée par l'option à adapter; elle est reconnaissable par un mot mis entre crochets ("[...]"). Dans cette section, on ajoute la ou les options à adapter suivie, après le signe égal ("="), sa valeur.
  • Enfin il faut activer cette modification dans "Systemd" avec la commande déjà vue:
systemctl daemon-reload


Exemples

J'ai été forcé de passer à cette étape dans le cadre de la suite Wazuh". Il faut dire que ma machine est vielle et poussive. J'ai mis les services suivants sur la même machine:

  • wazuh-manager.service
  • filebeat.service
  • wazuh-indexer.service
  • wazuh-dashboard

Les plus gros problèmes surviennent au démarrage de la machine, d'autre de nuit. Cette machine héberge de nombreux services dont certains très gourmand en ressources et en temps de démarrage. Comme ils veulent tous démarrer en même temps, certains dépassent le temps imparti ("timeout").


FILEBEAT

Ce service est programmé pour redémarrer automatiquement en cas d'arrêt intempestif mais si ces essais de démarrages infructueux sont trop nombreux et trop rapprochés, ce système se bloque et le service ne démarre plus sauf par quelques opérations manuelles.

Pour résoudre ce problème, il existe une option qui permet d'allonger la durée entre deux essais de démarrage. On crée un fichier dans le répertoire "/etc/systemd/system/filebeat.service.d" nouvellement créé, que l'on nomme "restart.conf". Voici son contenu:


[Service]
RestartSec=5s

Nous l'avons mis à 5 secondes, à ajuster à l'avenir.


Le second problème est le temps de démarrage en liaison avec les autres modules la suite de Wazuh ("timeout").

Pour résoudre ce problème mineur dans ce cas, nous avons augmenté le temps limite de démarrage en créant dans ce même répertoire, le fichier que l'on a nommé "startup-timeout.conf". Voici son contenu: ---

[Service]
TimeoutStartSec=600

--- Nous l'avons mis à 10 minutes, à ajuster à l'avenir.


Remarquons que le contenu de ces deux fichiers peut être réuni en un seul.








retour au menu de Systemd