Comprendre F5 · NGINX

NGINX : logs et diagnostic des erreurs HTTP

Construire des traces utiles et distinguer erreur de sélection HTTP, refus local, réponse upstream et timeout dans NGINX.

Thomas SAUTIER · Publié le · Révisions de certification

Références et objectifs de certification (3)

Ce guide concerne NGINX Open Source. Vérifiez la version, les modules compilés ou chargés et les particularités de votre paquet.

Associer accès et erreurs

Le journal d’accès décrit les requêtes selon son format ; le journal d’erreur décrit les événements et leur sévérité. Une réponse 502, 504 ou 403 peut nécessiter les deux. Choisissez une requête de référence avec une heure, un hôte et une URI, puis recherchez son chemin plutôt que toutes les erreurs du système.

La durée totale observée et les durées upstream ne mesurent pas la même chose. Le statut retourné au client et celui observé upstream peuvent aussi différer. Une requête ayant eu plusieurs tentatives upstream mérite une lecture de la liste des valeurs, pas un rapprochement avec un seul serveur.

Comprendre en imagelogs et diagnostic des erreurs HTTP
logs et diagnostic des erreurs HTTP Les journaux d’accès et d’erreur sont rapprochés avec l’upstream et la configuration pour construire une hypothèse vérifiable. Objets, conditions et comparaisons du guide Requête hôte, URI, heure Access log statut et durées Error log cause locale observée Upstream adresse et tentatives Comparaison configuration et traces Hypothèse test qui départage Associer accès et erreurs Le journal d’accès décrit les requêtes selon sonformat ; le journal d’erreur décrit les événementset leur sévérité. Une réponse 502, 504 ou 403peut nécessiter les deux. Choisissez une requêtede référence avec une heure, un hôte et une URI,puis recherchez son chemin plutôt que toutes leserreurs du système. Construire un format orienté diagnostic Le format suivant appartient au contexte http. Ilévite les corps, credentials et cookies ; lapolitique réelle de journaux doit également traiterles identifiants et données présentes dans lesURI. La durée de conservation et le contrôled’accès sont à définir selon votre contexte.

Les journaux d’accès et d’erreur sont rapprochés avec l’upstream et la configuration pour construire une hypothèse vérifiable.

Télécharger le schéma en SVG · version claire

Sources : NGINX / F5, Module ngx_http_log_module ; NGINX / F5, Module ngx_http_upstream_module ; NGINX / F5, Module ngx_http_proxy_module.

Construire un format orienté diagnostic

Le format suivant appartient au contexte http. Il évite les corps, credentials et cookies ; la politique réelle de journaux doit également traiter les identifiants et données présentes dans les URI. La durée de conservation et le contrôle d’accès sont à définir selon votre contexte.

L’adresse upstream, les statuts et les durées permettent de séparer sélection du serveur et lenteur applicative. Ce format est un point de départ : nom du service, corrélation et architecture de collecte doivent être adaptés sans enregistrer plus de données que nécessaire.

Trace pédagogique sans arguments d’URI ni credentialsConfiguration NGINX · contexte http
log_format revision
    "$time_iso8601 host=$host method=$request_method uri=$uri "
    "status=$status upstream=$upstream_addr "
    "upstream_status=$upstream_status total=$request_time "
    "upstream_time=$upstream_response_time";

access_log /var/log/nginx/revision-access.log revision;

Sources : NGINX / F5, Module ngx_http_log_module ; NGINX / F5, Module ngx_http_upstream_module.

Choisir une vérification selon le symptôme

Pour un 404, vérifiez server, location et chemin ou URI upstream. Pour un refus local, examinez règles et permissions. Pour une erreur de connexion upstream, examinez adresse, port et écoute. Un timeout impose de distinguer établissement de connexion, transmission et attente de données.

Ne rendez pas une vérification TLS moins stricte ou une politique d’accès plus ouverte pour faire disparaître le symptôme. Préparez une comparaison contrôlée : même Host, même chemin et même backend. Une réponse directe du backend aide au diagnostic mais ne reproduit pas toutes les transformations du proxy.

Sources : NGINX / F5, Module ngx_http_core_module ; NGINX / F5, Module ngx_http_proxy_module ; NGINX / F5, Module ngx_http_ssl_module.

Exercice : lire une erreur intermittente

Un service réussit certaines requêtes et en échoue d’autres. Établissez si les erreurs correspondent à un backend, à une route ou à une période de charge. Relevez les tentatives upstream et comparez-les à la configuration de répartition ; une panne d’un seul serveur ne doit pas être attribuée à tous.

Votre conclusion doit citer les observations qui excluent les autres hypothèses. Si elles manquent, formulez le prochain test au lieu d’inventer une cause. Continuez avec la répartition upstream et le diagnostic TLS selon le côté concerné.

Sources : NGINX / F5, Module ngx_http_log_module ; NGINX / F5, Module ngx_http_upstream_module.

Sources et portée

Les dates de consultation et les versions applicables sont précisées pour chaque référence ci-dessous. Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 NGINX

Continuer la série F5

Explorer tous les guides du parcours F5 NGINX

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et vos services applicatifs.