La mise en place d'un outil de surveillance pour NGINX est une partie importante du maintien des opérations du site Web. Une surveillance NGINX appropriée peut révéler de nombreuses informations utiles sur les performances de l'application sous-jacente. Il existe de nombreux systèmes de surveillance adaptés à cette tâche ; la première étape consiste toutefois à activer la collecte de métriques dans NGINX.
stub_status
Il existe un module pour NGINX Open Source appelé ngx_http_stub_status_module
(ou simplement stub_status
) qui expose quelques mesures importantes sur l'activité NGINX.
Pour vérifier si votre build NGINX possède le module stub_status
, exécutez nginx -V
:
$ nginx -V 2>&1 | grep --color -- --with-http_stub_status_module
Toutes nos versions NGINX incluent le module stub_status
sur toutes les plates-formes prises en charge .
Si votre build NGINX n'inclut pas le module stub_status
, vous devez reconstruire à partir de la source et inclure le paramètre --with-http_stub_status_module
au script de configuration
.
À l’étape suivante, activez le module dans votre configuration NGINX en incluant la directive stub_status
dans un bloc d’emplacement
. Vous pouvez toujours ajouter le bloc à une configuration de serveur
existante. Vous pouvez également ajouter un bloc de serveur
distinct, avec un seul emplacement
spécialisé pour la directive stub_status
, comme ici :
serveur {
écoute 127.0.0.1:80 ;
nom_serveur 127.0.0.1 ;
emplacement /nginx_status {
stub_status ;
}
}
Les blocs de serveur
appropriés pour la directive stub_status
se trouvent parfois en dehors du fichier de configuration principal ( nginx.conf ). Si vous ne voyez pas de bloc approprié dans ce fichier, recherchez des fichiers de configuration supplémentaires qui sont généralement inclus dans nginx.conf .
Nous vous recommandons également d'autoriser uniquement les utilisateurs autorisés à accéder aux métriques, par exemple en incluant les directives allow
et deny
dans le bloc location
ou server
.
Une fois le module stub_status
configuré, n'oubliez pas de recharger la configuration NGINX (avec la commande service
nginx
reload
par exemple). Vous pouvez en savoir plus sur les signaux de contrôle NGINX ici .
Pour afficher les métriques stub_status
, effectuez une requête curl
. Ce qui suit est approprié pour la configuration illustrée ci-dessus :
$ curl http://127.0.0.1/nginx_status Connexions actives : 2 serveurs acceptent les requêtes traitées 841845 841845 1631067 Lecture : 0 Écriture : 1 En attente : 1
Si cela ne fonctionne pas, vérifiez où les requêtes vers /nginx_status sont acheminées . Dans de nombreux cas, un autre blocage du serveur
peut être la raison pour laquelle vous ne pouvez pas accéder aux métriques stub_status
. Pour en savoir plus sur ces métriques NGINX à l’échelle de l’instance, consultez la documentation de référence .
Avec le module stub_status
activé dans NGINX et fonctionnel, vous pouvez procéder à l'installation et à la configuration du système de surveillance de votre choix.
Le journal d'accès et le journal des erreurs NGINX contiennent de nombreuses informations utiles adaptées à la collecte de métriques. Vous pouvez utiliser les variables NGINX pour personnaliser entièrement le format du journal d'accès . Certains outils de surveillance peuvent exploiter les fichiers journaux NGINX pour la collecte de métriques.
Pour répondre à diverses exigences de performances et de sécurité, envisagez d’utiliser la fonctionnalité syslog NGINX. Alors que les fichiers journaux sont écrits sur le disque, syslog permet à NGINX d'envoyer des données de journal via un protocole réseau. Par exemple, vous pouvez configurer un système Linux dédié pour collecter toutes vos données de journal à partir de différentes instances NGINX.
Pour plus d'informations sur la journalisation, veuillez vous référer au Guide d'administration NGINX Plus .
Nous avons un outil natif pour la surveillance NGINX. Il s'appelle NGINX Amplify et c'est un outil SaaS que vous pouvez utiliser pour surveiller jusqu'à cinq serveurs gratuitement ( des abonnements sont disponibles pour un plus grand nombre de serveurs).
Il est facile de démarrer avec NGINX Amplify. Vous pouvez obtenir des graphiques prêts à l'emploi pour toutes les mesures clés de NGINX en moins de dix minutes. NGINX Amplify utilise automatiquement les métriques de stub_status
et des journaux d'accès, et peut également collecter diverses informations sur le système d'exploitation.
Grâce à NGINX Amplify, vous pouvez visualiser vos performances NGINX et surveiller le système d'exploitation, PHP-FPM, les conteneurs Docker, etc. Une fonctionnalité unique d'Amplify est un analyseur statique pour votre configuration NGINX qui fournit des recommandations pour rendre la configuration plus sûre et plus efficace.
En savoir plus sur NGINX Amplify ici et essayez-le gratuitement .
NGINX Plus offre un meilleur moyen d'obtenir des mesures de performances via un module API spécialisé .
Le module API propose un ensemble détaillé de mesures, avec pour objectif principal l'équilibrage de charge et les statistiques du serveur virtuel. À titre d’exemple, une répartition de tous les codes d’état HTTP ( 1xx
, 2xx
, 3xx
, 4xx
, 5xx
) est présenté pour les blocs de serveur
. Les informations sur l’état de santé sont disponibles pour les serveurs en amont HTTP et TCP/UDP . Cache les mesures incluent les hits et les échecs pour chaque zone de cache.
Outre la collecte d'un ensemble étendu de métriques, l'API vous permet également de reconfigurer les groupes de serveurs HTTP et TCP/UDP en amont et de gérer les variables clé-valeur sans recharger la configuration ni redémarrer NGINX Plus.
NGINX Plus est également livré avec un tableau de bord intégré qui utilise des métriques supplémentaires. Les métriques supplémentaires sont également disponibles pour une utilisation dans NGINX Amplify.
Un certain nombre d’autres produits de surveillance peuvent collecter et présenter des métriques NGINX. Les liens ci-dessous décrivent les scénarios d’intégration les plus courants :
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."