Tous les produits
Search
Centre de documentation

:Intégration de Nginx

Dernière mise à jour :Aug 27, 2026

Cette rubrique explique comment intégrer Nginx à Managed Service for Prometheus. Nginx est un serveur web open source haute performance qui prend en charge le proxy inverse, l'équilibrage de charge et la mise en cache HTTP. Managed Service for Prometheus collecte les métriques clés de Nginx, notamment le nombre de requêtes, le volume de données et les temps de réponse. Managed Service for Prometheus fournit des tableaux de bord prêts à l'emploi pour aider les administrateurs à comprendre les performances du serveur, à optimiser les configurations et à résoudre les problèmes.

Informations générales

Consultez les métriques Nginx dans le Integration Center de la console ARMS. Dans l'Integration Center, recherchez le composant Nginx, sélectionnez l'onglet Collect Metrics, puis basculez vers l'onglet Kubernetes Environment. Vous pouvez consulter les métriques prises en charge pour Nginx, y compris nginx_connections_accepted, nginx_connections_active, nginx_connections_handled, nginx_connections_reading, nginx_connections_waiting, nginx_connections_writing, nginx_http_requests_total, nginx_up et nginxexporter_build_info. Les types de métriques incluent COUNTER et GAUGE, et toutes les métriques appartiennent au groupe « common ».

Prérequis

  • Le service Nginx est installé et en cours d'exécution.

  • Pour activer la surveillance Stub Status de Nginx, installez le module ngx_http_stub_status_module.

    Installation du module ngx_http_stub_status_module

    1. Vérifiez si le module ngx_http_stub_status_module est installé.

      nginx -V 2>&1 | grep -o with-http_stub_status_module
      • Si la sortie suivante s'affiche, le module ngx_http_stub_status_module est installé.

        [root@xxx ~]# nginx -V 2>&1 | grep -o with-http_stub_status_module
        with-http_stub_status_module
        [root@xxx ~]#
      • Sinon, installez le module en exécutant les commandes suivantes :

        wget http://nginx.org/download/nginx-1.13.12.tar.gz
        tar xfz nginx-1.13.12.tar.gz
        cd nginx-1.13.12/
        ./configure --with-http_stub_status_module
        make
        make install
    2. Activez le module ngx_http_stub_status_module pour interroger l'état de Nginx.

      location /nginx_status {
        stub_status on;
        allow 127.0.0.1;  #only allow requests from localhost
        deny all;   #deny all other hosts 
       }
      Remarque
      • Le chemin d'accès location doit être nommé nginx_status.

      • Les directives allow 127.0.0.1 et deny all n'autorisent que l'accès local. Pour autoriser l'accès depuis l'exportateur Nginx, mettez ces deux lignes en commentaire ou remplacez 127.0.0.1 par l'adresse IP de l'exportateur Nginx.

    3. Redémarrez Nginx.

      nginx -t
      nginx -s reload 
    4. Facultatif : Vérifiez que le module ngx_http_stub_status_module est démarré.

      curl http://127.0.0.1/nginx_status

      Si la sortie suivante s'affiche, le module ngx_http_stub_status_module est démarré.

      [root@xxx ~]# curl 12xxx/nginx_status
      Active connections: 1
      server accepts handled requests
       177 177 3956
      Reading: 0 Writing: 1 Waiting: 0
      [root@xxx ~]#
  • Pour activer la surveillance VTS de Nginx, installez le module nginx-module-vts.

    Installation du module nginx-module-vts

    1. Téléchargez le module nginx-module-vts.

      Remarque

      https://github.com/vozlt/nginx-module-vts.git

    2. Configurez les paramètres de compilation.

      1. Ajoutez le module nginx-module-vts lors de la compilation de Nginx.

        --add-module=/path/to/nginx-module-vts
      2. Téléchargez le package officiel Nginx et compilez-y le module nginx-module-vts.

        ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_sysguard_module  --add-module=nginx-module-vts
    3. Installez le module nginx-module-vts.

      make && make install
    4. Configurez Nginx. Modifiez le fichier nginx.conf et ajoutez le point de terminaison de surveillance.

      http {
          vhost_traffic_status_zone;
              vhost_traffic_status_filter_by_host on;
          ...
          server {
              ...
              location /status {
                  vhost_traffic_status_display;
                  vhost_traffic_status_display_format html;
              }
          }
      }

      Activez le filtrage vhost dans le fichier de configuration.

      vhost_traffic_status_filter_by_host on
      Remarque

      Si Nginx est configuré avec plusieurs directives server_name, cette fonctionnalité permet au système de collecter les statistiques de trafic pour chaque nom de serveur. Sinon, tout le trafic est attribué par défaut au premier server_name.

      Si vous n'avez pas besoin de collecter les statistiques de trafic pour un bloc de serveur spécifique, désactivez vhost_traffic_status. Les points de suspension (...) dans l'exemple indiquent un contenu omis.

      server {
      ...
      vhost_traffic_status off;
      ...
      }
    5. Vérifiez que le module nginx-module-vts est installé.

      curl http://127.0.0.1/status

Intégrer Nginx

  1. Connectez-vous à la console ARMS. Dans le volet de navigation de gauche, accédez à Integration Center et cliquez sur la carte Nginx.

  2. Configurez les paramètres d'intégration.

    1. Sélectionnez le type d'environnement.

      • Environnement Kubernetes : la cible de surveillance s'exécute dans un cluster ACK.

      • ECS (VPC) : la cible de surveillance s'exécute sur une instance ECS.

    2. Sélectionnez un cluster ACK ou une instance ECS.

    3. Configurez l'intégration.

      Environnement Kubernetes

      Paramètre

      Description

      Exemple

      Integration name (optional)

      Un nom personnalisé pour l'intégration.

      nginxtest123

      Enable Nginx for stub status monitoring

      Active ou désactive cette fonctionnalité de surveillance.

      Elle fournit des statistiques sur les requêtes et les connexions Nginx.

      Remarque

      Avant d'activer cette option, assurez-vous que le module ngx_http_stub_status_module est installé.

      Sans objet

      Enable Nginx for VTS monitoring

      Active ou désactive cette fonctionnalité de surveillance.

      Cette option utilise le module nginx-module-vts, qui nécessite généralement une compilation manuelle, pour collecter les données. Elle fournit des métriques telles que le nombre de requêtes Nginx, le volume de données et les temps de réponse.

      Remarque

      Avant d'activer cette option, assurez-vous que le module nginx-module-vts est installé.

      Sans objet

      Nginx host

      Les types suivants sont pris en charge :

      • L'adresse d'accès interne au cluster du service Nginx

      • L'adresse IP interne du cluster où réside le service

      • L'adresse IPv4 publique du service

      nginx-server.namespace

      Nginx port

      Le port du service Nginx.

      80

      Metric collection interval (seconds)

      L'intervalle de collecte des métriques. La valeur par défaut est de 15 secondes.

      15

      ECS (VPC)

      Paramètre

      Description

      Exemple

      Integration name (optional)

      Un nom personnalisé pour l'intégration.

      nginxtest321

      Enable Nginx for stub status monitoring

      Active ou désactive cette fonctionnalité de surveillance.

      Elle fournit des statistiques sur les requêtes et les connexions Nginx.

      Sans objet

      Enable Nginx for VTS monitoring

      Active ou désactive cette fonctionnalité de surveillance.

      Cette option utilise le module nginx-module-vts, qui nécessite généralement une compilation manuelle, pour collecter les données. Elle fournit des métriques telles que le nombre de requêtes Nginx, le volume de données et les temps de réponse.

      Remarque

      Avant d'activer cette option, assurez-vous que le module nginx-module-vts est installé.

      Sans objet

      Nginx host

      Les types suivants sont pris en charge :

      • L'adresse d'accès interne au cluster du service Nginx

      • L'adresse IP interne du cluster où réside le service

      • L'adresse IPv4 publique du service

      nginx-server.namespace

      Nginx port

      Le port du service Nginx.

      80

      Metric collection interval (seconds)

      L'intervalle de collecte des métriques. La valeur par défaut est de 15 secondes.

      15

      Custom Tags

      Ajoute des tags clé-valeur personnalisés aux métriques collectées par Prometheus, ce qui permet une organisation, une interrogation, une surveillance et une analyse plus granulaires dans des outils tels que Grafana. Pour plus d'informations, consultez la rubrique Injection d'un tag personnalisé dans les métriques d'une instance dans un environnement VPC.

      Remarque
      • Les clés de tag ne doivent pas contenir de caractères spéciaux tels que des traits d'union (-), des points (.) ou des signes pourcentage (%), car ces caractères ont des significations spéciales dans Prometheus.

      • Les tags injectés doivent être dans un format clé-valeur valide autorisé par Prometheus.

      test1:aaa

Afficher les informations de surveillance

Pour afficher les composants intégrés, cliquez sur Integration Management dans le volet de navigation de gauche. Cliquez sur une carte d'intégration pour afficher ses détails, y compris les cibles, les métriques, les tableaux de bord, les alertes, les configurations de découverte de services et les exportateurs. Sur la page Self-monitoring pour l'environnement Kubernetes, sélectionnez l'onglet Prometheus Agent. Filtrez les données à l'aide des listes déroulantes job, instance et agent. La page affiche les panneaux de surveillance suivants : Agent running status (réplicas attendus, réplicas en cours d'exécution, nombre de cibles et total des séries scrapées) ; Agent discovery/scraping exceptions (nombre d'exceptions de découverte de service job, d'exceptions de scraping job et d'exceptions de scraping target ; les exceptions sont mises en évidence en rouge) ; Agent configuration delivery exceptions (exceptions sendConfig et exceptions sendTargets ; le statut normal est indiqué en vert) ; Agent collection and processing exceptions ; et Agent running version. En bas, le tableau Agent status overview répertorie les métriques pour chaque agent, telles que heartbeat, targets, series, writeArms, pod_name, memoryLimit et cpuLim.