1 votes

php_network_getaddresses : échec de getaddrinfo : Échec temporaire de la résolution de nom

Je reçois très souvent cette erreur :

Severity: Warning --> mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

Ce problème n'est résolu qu'après le redémarrage du serveur. Si l'on considère que ce problème se produit sur un serveur live qui reçoit des millions de requêtes par jour, le redémarrage n'est pas la meilleure option.

[MODIFIE]

J'utilise Ubuntu 18.04 et je me connecte à un cluster Aurora sur AWS et le code backend réside sur EC2.

@matigo sur Askubuntu semble penser que je pourrais atteindre la limite :

https://askubuntu.com/a/1363447/135086

J'ai donc fait un peu de débogage pour comprendre si j'atteignais réellement la limite de 1024 PPS. Heureusement, il y a un article d'AWS qui semble m'aider à comprendre cela,

https://aws.amazon.com/premiumsupport/knowledge-center/vpc-find-cause-of-failed-dns-queries/

J'ai essayé les commandes pour comprendre le PPS que j'obtiens en ce moment et j'ai surveillé jusqu'à ce que je trouve l'erreur.

ERROR - 2021-09-20 12:14:31.547863 --> Severity: Warning --> mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

À ma grande surprise, voici le résultat de la commande mentionnée dans l'article d'AWS

tcpdump  -r <file_name.pcap> -nn dst port 53 | awk -F " " '{ print $1 }' | cut -d"." -f1 | uniq -c

  2 06:44:22
  6 06:44:24
  4 06:44:26
  2 06:44:28
  4 06:44:30
  7 06:44:34
  2 06:44:38
  7 06:44:39
  9 06:44:44
  6 06:44:46
  4 06:44:49
  6 06:44:50

Si l'on considère que le fuseau horaire est +05:30, une erreur à 12:14:31 IST devrait avoir une entrée pour dns à 06:44:31 UTC.

Si nous considérons que la taille moyenne des paquets est de 4 paquets par appel, en référence à la réponse de @matigo, je ne suis pas en train de faire 22 appels dns par seconde. J'ai donc continué à regarder dans les logs,

  4 06:39:06
 26 06:39:09
  4 06:39:10
  2 06:39:13
  6 06:39:16
 16 06:39:17

Certaines entrées ont dépassé la limite de 22 appels dns par seconde et nous n'avons pas rencontré l'erreur php_network_getaddresses.

Je ne vois donc pas très bien où est le problème.

Quelqu'un a également dit que cela pouvait être dû à un serveur DHCP malveillant dans le réseau local, mais je ne suis pas sûr de savoir comment l'identifier, ou serait-ce possible sur un EC2 lorsque le seul DNS configuré est le résolveur AWS Route53.

À ce stade, je ne sais pas s'il s'agit d'un problème de limite de PPS ou d'autre chose.

0voto

Grey Vugrin Points 1

J'ai eu la même erreur avec une instance qui n'atteignait pas la limite. Après un certain temps, je suis tombé sur un fil de discussion du support AWS indiquant qu'il pouvait s'agir d'un problème matériel.

L'hôte physique sous-jacent de votre instance (i-3d124c6d) semble avoir eu des problèmes intermittents, dont certains auraient certainement causé une interruption de service.

Pourriez-vous essayer d'arrêter et de démarrer cette instance ? Nous pourrons alors utiliser votre service pingdom pour vérifier si d'autres problèmes surviennent.

de : https://forums.aws.amazon.com/thread.jspa?threadID=171805 .

L'arrêt et le redémarrage de l'instance ont permis de résoudre le problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X