Je suis un habitué du site depuis longtemps, mais c'est ma première question. Alors, s'il vous plaît, faites-moi savoir s'il y a des problèmes avec mon message.
Deux des serveurs de notre ferme de serveurs Ubuntu (25+ machines) prennent beaucoup de temps (10+ mins) pour redémarrer le service syslog-ng. Toutes les machines ont la même version de syslog-ng (3.5.3). Après avoir fait un strace sur le service, le syscall suivant est celui où le processus se bloque (les lignes avant et après ont été ajoutées pour le contexte) :
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 2, 4294967295) = 1 ([{fd=3, revents=POLLIN|POLLHUP}]) <0.000248>
recvfrom(3, "", 8, MSG_WAITALL, NULL, NULL) = 0 <0.000005>
poll([{fd=4, events=POLLIN}], 1, 4294967295 * Starting system logging syslog-ng [ OK ]) = ? ERESTART_RESTARTBLOCK (Interrompu par un signal) <841.792219>
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=24591, si_status=0, si_utime=0, si_stime=0} --- write(5, " \21 ", 1) = 1 <0.000008>
rt_sigreturn() = -1 EINTR (Appel système interrompu) <0.000005>
poll([{fd=4, events=POLLIN}], 1, 4294967295) = 1 ([{fd=4, revents=POLLIN}]) <0.000008>
C'est le résultat d'un simple "sudo service syslog-ng restart", sans autre drapeau ni option. Je ne suis pas sûr du signal qui interrompt le poll(). Toutes les autres machines redémarrent le service en quelques secondes.
Je n'arrive pas à déterminer s'il s'agit d'un problème avec syslog-ng ou d'un élément de la configuration de ces machines. La recherche habituelle sur Google ne m'a mené nulle part. Quelqu'un peut-il m'éclairer sur la manière de résoudre ce problème ?
Merci d'avance !
0 votes
Avez-vous effectué une surveillance des ressources/des tendances pendant que cela se passe ?
0 votes
Les ressources semblent correctes. Le haut de la page ne montre pas d'utilisation anormale du processeur, et la mémoire vive reste constante.
0 votes
Je pense que la sortie que vous avez montrée est un mélange de sortie strace et de sortie du script de démarrage. Pourriez-vous essayer à nouveau d'envoyer la sortie de strace vers un fichier ? Qu'y a-t-il sur le descripteur de fichier 4 ? Ma première hypothèse serait un problème de résolution DNS.
0 votes
@PaulHaldane J'ai séparé la sortie de strace de celle du script mais le résultat ne m'a pas donné de nouvelles informations (c'est essentiellement ce qui précède moins le bit "Starting syslog-ng..."). Ce qui est encore plus étrange, c'est le fait que, comme par magie, pendant le week-end, cela a commencé à fonctionner. Cela n'a aucun sens, hah. Je sais que personne d'autre n'a travaillé sur ces serveurs parce qu'ils ne sont pas des serveurs de production et que les deux autres gestionnaires de systèmes sont en vacances. Mais après 2 semaines de mauvais comportement, ça s'est résolu comme par magie. Je vais devoir faire un peu de stress testing, voir si je peux le reproduire à nouveau.