Position actuelle: Accueil> Derniers articles> Comment réaliser la journalisation et l'analyse des demandes sur le Web via Nginx pour améliorer les performances du système

Comment réaliser la journalisation et l'analyse des demandes sur le Web via Nginx pour améliorer les performances du système

M66 2025-06-15

Comment réaliser la journalisation et l'analyse des demandes sur le Web via Nginx pour améliorer les performances du système

Nginx est un serveur Web open source haute performance et un serveur proxy inversé, largement utilisé dans les architectures de site Web à grande échelle. Afin d'assurer le fonctionnement stable et l'optimisation des performances du système, nous devons généralement enregistrer et analyser le journal de demande du service Web. Cet article introduira en détail comment enregistrer et analyser les journaux de demande via le serveur proxy Nginx et comment effectuer une analyse de journal via certains outils courants.

Activer la fonction de journalisation de la demande Nginx

Tout d'abord, nous devons activer la fonction de journalisation de la demande dans le fichier de configuration Nginx. Ouvrez le fichier de configuration Nginx `/ etc / nginx / nginx.conf` et ajoutez la configuration suivante dans le bloc HTTP:

http {
    ...
    LOG_FORMAT MAIN '$ Remote_Addr - $ Remote_User [$ time_local] "$ demande"'
                      '$ status $ body_bytes_sent "$ http_referer"'
                      '"$ http_user_agent" "$ http_x_forwarded_for"';
    Access_log /var/log/nginx/access.log main;
    ...
}

La configuration ci-dessus utilise l'instruction `log_format` pour définir le format de journal principal, qui inclut des informations courantes telles que le client IP, le temps de demande, la méthode de la demande, le code d'état, etc. Ensuite, utilisez la directive` Access_log` pour publier les informations de journal dans le fichier spécifié `/ var / log / nginx / access.log`.

Configurer le proxy inversé Nginx

Ensuite, nous devons configurer la fonction proxy inverse de Nginx pour proxyer la demande au service Web backend. Ouvrez le fichier de configuration Nginx et ajoutez la configuration suivante dans le bloc serveur:

serveur {
    ...
    emplacement / {
        proxy_pass http: // backend;
        proxy_set_header host $ host;
        proxy_set_header x-real-ip $ Remote_addr;
        ...
    }
    ...
}

Dans cette configuration, l'emplacement / `signifie que toutes les demandes seront proxy du service Web backend (par exemple,` http: // backend`). `proxy_set_header` est utilisé pour définir des en-têtes de demande, tels que Host et X-Real-IP, pour s'assurer que le serveur backend reçoit les informations de demande correctes.

Analyse des journaux

Afin d'analyser le journal de demande, nous pouvons utiliser des outils de ligne de commande tels que `awk`,` grep` et `tri` pour effectuer des statistiques de journal. Voici un exemple simple pour compter le nombre de visites à différents IP dans une certaine plage de temps:

$ awk -v de = "2022-01-01 00:00:00" -v à = "2022-01-01 23:59:59" \
    &#39;$ 4> = de && $ $ <= to {print $ 1}&#39; /var/log/nginx/access.log | \
    Trier | Uniq -C | tri -rn

Dans cette commande, `awk` est utilisé pour filtrer les journaux en fonction de la plage de temps et extraire les informations IP. Ensuite, les adresses IP sont triées à l'aide de `Tri`,` Uniq -C` est utilisée pour compter le nombre de visites par IP, et enfin `Tri -rn` est trié par ordre décroissant en fonction du nombre de visites.

Résumer

Grâce aux étapes ci-dessus, nous pouvons implémenter avec succès les fonctions de journalisation et d'analyse de la demande Web du serveur proxy NGINX. En configurant rationnellement les fonctions de journalisation et de proxy inverse de Nginx, combinées avec des outils d'analyse de journaux, nous pouvons mieux surveiller et optimiser les performances des services Web. J'espère que grâce à cet article, vous pouvez maîtriser les compétences de configuration et d'analyse du journal NGINX, afin de gérer et d'optimiser vos services Web plus efficacement.