Comment surveiller les performances de Nginx à l'aide de Netdata sur CentOS 7
Netdata est un outil open source gratuit, évolutif, adaptatif, personnalisable, extensible et puissant, de surveillance des performances et de l'état de santé en temps réel pour les systèmes Linux, qui collecte et visualise des métriques. Il fonctionne sur les ordinateurs de bureau, les ordinateurs personnels, les serveurs, les appareils embarqués, l'IoT, etc.
Lire aussi : Comment surveiller les performances d'Apache à l'aide de Netdata sur CentOS 7
Il s'agit d'un outil de surveillance de l'état du système qui vous permet de garder un œil sur le fonctionnement de vos systèmes et applications ou services tels que les serveurs Web, ou sur les raisons pour lesquelles ils sont lents ou se comportent mal. Il est extrêmement efficace en termes d’utilisation du processeur ainsi que d’autres ressources système.
Dans cet article, nous expliquerons comment surveiller les performances du serveur Web Nginx HTTP à l'aide de Netdata sur CentOS 7 ou RHEL 7 diffusion.
À la fin de ce guide, vous pourrez voir des visualisations des connexions actives, des demandes, de l'état et du taux de connexion de votre serveur Web Nginx.
Exigences:
- Un serveur CentOS 7 ou RHEL 7 avec installation minimale.
- Installation du serveur HTTP Nginx avec ngx_http_stub_status_module activé.
Étape 1 : Installer Nginx sur CentOS 7
1. Commencez par activer le référentiel EPEL, puis installez le serveur Nginx HTTP à partir des référentiels de logiciels EPEL à l'aide du gestionnaire de packages YUM.
yum install epel-release
yum install nginx
2. Ensuite, vérifiez la version de Nginx installée sur votre système, elle doit être compilée avec le module stub_status indiqué par le - -with-http_stub_status_module
argument de configuration, comme indiqué dans la capture d'écran suivante.
nginx -V
3. Après avoir installé Nginx avec succès, démarrez-le et activez-le pour démarrer automatiquement au démarrage du système et assurez-vous qu'il est opérationnel.
systemctl status nginx
systemctl enable nginx
systemctl status nginx
4. Si vous exécutez un pare-feu dynamique firewalld, vous devez ouvrir le port 80 (HTTP) et 443 ( HTTPS) sur lequel le serveur web écoute les demandes de connexion des clients.
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
Étape 2 : Étape 2 : Activer le module Nginx Stub_Status
5. Activez maintenant le module stub_status que netdata utilise pour collecter les métriques de votre serveur Web Nginx.
vim /etc/nginx/nginx.conf
Copiez et collez la configuration de l'emplacement ci-dessous dans le bloc serveur, comme indiqué dans la capture d'écran.
location /stub_status {
stub_status;
allow 127.0.0.1; #only allow requests from localhost
deny all; #deny all other hosts
}
6. Ensuite, testez la nouvelle configuration nginx pour détecter d'éventuelles erreurs et redémarrez le service nginx pour appliquer les modifications récentes.
nginx -t
systemctl restart nginx
7. Ensuite, testez la page d'état de nginx à l'aide de l'outil de ligne de commande curl.
curl http://127.0.0.1/stub_status
Étape 3 : Installer Netdata sur CentOS 7
8. Il existe un script shell à une seule ligne que vous pouvez utiliser pour démarrer l'installation de la dernière version de netdata à partir de son référentiel github. Ce script téléchargera un autre script pour détecter votre distribution Linux et installera les packages système requis pour la création de netdata ; récupère ensuite les derniers fichiers source netdata ; le construit et l'installe.
Utilisez la commande ci-dessous pour lancer le script kickstarter, l'option all
permet d'installer les packages requis pour tous les plugins netdata, y compris ceux pour Nginx.
bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
Si vous n'accédez pas au système en tant que root, vous serez invité à saisir votre mot de passe utilisateur pour la commande sudo, et il vous sera également demandé de confirmer certaines opérations en appuyant sur [Entrer].
8. Après avoir créé et installé netdata, le script démarrera automatiquement le service netdata via le gestionnaire de services systemd et lui permettra de démarrer au démarrage du système. Netdata écoute sur le port 19999 par défaut.
9. Ensuite, ouvrez le port 19999 dans le pare-feu pour accéder à l'interface utilisateur Web de netdata.
firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --reload
Étape 4 : configurer Netdata pour surveiller les performances de Nginx
9. La configuration netdata pour le plugin Nginx est stockée dans le fichier de configuration /etc/netdata/python.d/nginx.conf, écrit en YaML formater.
vim /etc/netdata/python.d/nginx.conf
La configuration par défaut est suffisante pour vous permettre de démarrer la surveillance de votre serveur Web Nginx.
Si vous avez apporté des modifications au fichier de configuration, après avoir lu la documentation, redémarrez le service netdata pour appliquer les modifications.
systemctl restart netdata
Étape 5 : Surveiller les performances de Nginx à l’aide de Netdata
10. Ouvrez maintenant un navigateur Web et utilisez l'URL suivante pour accéder à l'interface utilisateur Web de netdata.
http://domain_name:19999
OR
http://SERVER_IP:19999
Dans la liste des plugins sur le côté droit, cliquez sur « nginx local » pour commencer à surveiller votre serveur Web Nginx. Vous pourrez regarder des visualisations des connexions actives, des demandes, de l'état et du taux de connexion, comme indiqué dans la capture d'écran suivante.
Dépôt Netdata Github : https://github.com/firehol/netdata
C'est tout! Netdata est un outil distribué de surveillance des performances et de l'état de santé en temps réel pour les systèmes Linux. Dans cet article, nous avons montré comment surveiller les performances du serveur Web Nginx à l'aide de netdata sur CentOS 7. Utilisez le formulaire de commentaires ci-dessous pour partager toute question ou réflexion sur ce guide.