(Merci de me Cc les réponses éventuelles, je ne suis pas la liste de près)
Bonsoir, On 24/03/19 at 19:46 +0100, BERTRAND Joël wrote: > Bonsoir à tous, > > Je viens d'avoir un plantage sévère sur un serveur (kernel panic avec > le dernier noyau de testing). Au redémarrage, je m'aperçois que > smokeping ne se lance pas : > > Root rayleigh:[/run] > systemctl status smokeping.service > ● smokeping.service - Latency Logging and Graphing System > Loaded: loaded (/lib/systemd/system/smokeping.service; enabled; > vendor preset: enabled) > Active: failed (Result: timeout) since Sun 2019-03-24 18:06:51 CET; > 1h 32min ago > Docs: man:smokeping(1) > file:/usr/share/doc/smokeping/examples/systemd/slave_mode.conf > > mars 24 18:05:21 rayleigh smokeping[11095]: All probe processes started > successfully. > mars 24 18:05:21 rayleigh smokeping[11097]: FPing: probing 7 targets > with step 300 s and offset 279 s. > mars 24 18:05:21 rayleigh systemd[1]: smokeping.service: Can't open PID > file /run/smokeping/smokeping.pid (yet > mars 24 18:06:51 rayleigh systemd[1]: smokeping.service: Start operation > timed out. Terminating. > mars 24 18:06:51 rayleigh smokeping[11095]: Got TERM signal, terminating > child processes. > mars 24 18:06:51 rayleigh smokeping[11096]: got TERM signal, terminating. > mars 24 18:06:51 rayleigh smokeping[11097]: got TERM signal, terminating. > mars 24 18:06:51 rayleigh smokeping[11095]: All child processes > successfully terminated, exiting. > mars 24 18:06:51 rayleigh systemd[1]: smokeping.service: Failed with > result 'timeout'. > mars 24 18:06:51 rayleigh systemd[1]: Failed to start Latency Logging > and Graphing System. > > Très bien. Donc, systemd démarre smokeping, s'attend à ce qu'il crée un fichier avec son PID (/run/smokeping/smokeping.pid), mais il ne le fait pas, donc systemd décide qu'il n'a pas démarré correctement, et l'arrête. > Un tour dans les logs (les vrais) donne : > > Mar 24 18:05:21 rayleigh smokeping[11086]: Starting syslog logging > Mar 24 18:05:21 rayleigh smokeping[11086]: Note: logging to syslog as > local0/info. > Mar 24 18:05:21 rayleigh smokeping[11086]: Daemonizing > /usr/sbin/smokeping ... > Mar 24 18:05:21 rayleigh smokeping[11086]: creating > /var/run/smokeping.pid: Permission denied > Mar 24 18:05:21 rayleigh smokeping[11095]: Smokeping version 2.007003 > successfully launched. > Mar 24 18:05:21 rayleigh smokeping[11095]: Entering multiprocess mode. > Mar 24 18:05:21 rayleigh smokeping[11095]: Child process 11096 started > for probe FPing6. > Mar 24 18:05:21 rayleigh smokeping[11096]: FPing6: probing 2 targets > with step 300 s and offset 201 s. > Mar 24 18:05:21 rayleigh smokeping[11095]: Child process 11097 started > for probe FPing. > Mar 24 18:05:21 rayleigh smokeping[11095]: All probe processes started > successfully. > Mar 24 18:05:21 rayleigh smokeping[11097]: FPing: probing 7 targets with > step 300 s and offset 279 s. > Mar 24 18:05:21 rayleigh systemd[1]: smokeping.service: Can't open PID > file /run/smokeping/smokeping.pid (yet?) after start: No such file or > directory > Mar 24 18:06:51 rayleigh systemd[1]: smokeping.service: Start operation > timed out. Terminating. > Mar 24 18:06:51 rayleigh smokeping[11095]: Got TERM signal, terminating > child processes. > Mar 24 18:06:51 rayleigh smokeping[11096]: got TERM signal, terminating. > Mar 24 18:06:51 rayleigh smokeping[11097]: got TERM signal, terminating. > Mar 24 18:06:51 rayleigh smokeping[11095]: All child processes > successfully terminated, exiting. > Mar 24 18:06:51 rayleigh systemd[1]: smokeping.service: Failed with > result 'timeout'. > > Ce qui est intéressant, c'est le "creating /var/run/smokeping.pid: > Permission denied". oui. Car du coup, ça veut dire que smokeping essaie de créer un fichier .pid, mais pas à l'endroit attendu dans le fichier .service. Même s'il avait réussi, systemd ne l'aurait pas trouvé et l'aurait tué. > Et là, je ne comprends pas. smokeping se lance en tant que smokeping. > Mais systemd le sait, c'est sans son fichier de configuration : > > [Service] > # It would in theory be simpler to run smokeping with the --nodaemon > option and > # Type=simple, but smokeping does not work properly when in "slave" mode > with > # --nodaemon set. > Type=forking > RuntimeDirectory=smokeping > PIDFile=/run/smokeping/smokeping.pid > User=smokeping > Group=smokeping > StandardError=syslog Qu'as-tu juste après ? Dans le paquet, j'ai: ExecStart=/usr/sbin/smokeping --pid-dir=/run/smokeping qui demande donc à smokeping d'écrire son fichier .pid dans /run/smokeping. Donc, soit: - cette ligne n'est pas présente - cette ligne ne fonctionne pas Lucas