Recherche de site Web

Amplify - La surveillance NGINX simplifiée


Nginx amplify est une collection d'outils utiles pour surveiller de manière approfondie un serveur Web Nginx open source et NGINX Plus. Avec NGINX Amplify, vous pouvez surveiller les performances, suivre les systèmes exécutant Nginx et permettre d'examiner et de résoudre pratiquement les problèmes associés à l'exécution et à la mise à l'échelle des applications Web.

Il peut être utilisé pour visualiser et déterminer les goulots d'étranglement des performances d'un serveur Web Nginx, les serveurs surchargés ou les attaques DDoS potentielles ; améliorez et optimisez les performances de Nginx avec des conseils et des recommandations intelligents.

En outre, il peut vous avertir en cas de problème avec la configuration de l'une de vos applications et sert également de planificateur de capacité et de performances d'application Web.

L'architecture Amplify de Nginx repose sur 3 composants clés, décrits ci-dessous :

  • NGINX Amplify Backend – le composant de base du système, implémenté en tant que SaaS (Software as a Service). Il intègre un cadre de collecte de métriques évolutif, une base de données, un moteur d'analyse et une API principale.
  • NGINX Amplify Agent – une application Python qui doit être installée et exécutée sur des systèmes surveillés. Toutes les communications entre l'agent et le backend SaaS sont effectuées de manière sécurisée via SSL/TLS ; tout le trafic est toujours initié par l'agent.
  • NGINX Amplify Web UI – une interface utilisateur compatible avec tous les principaux navigateurs et accessible uniquement via TLS/SSL.

L'interface utilisateur Web affiche des graphiques pour Nginx et les métriques du système d'exploitation, permet la création d'un tableau de bord défini par l'utilisateur, propose un analyseur statique pour améliorer la configuration de Nginx et un système d'alerte avec des notifications automatisées.

Étape 1 : Installer l'agent Amplify sur le système Linux

1. Ouvrez votre navigateur Web, saisissez l'adresse ci-dessous et créez un compte. Un lien sera envoyé à votre e-mail, utilisez-le pour vérifier l'adresse e-mail et vous connecter à votre nouveau compte.

https://amplify.nginx.com

2. Après cela, connectez-vous à votre serveur distant à surveiller, via SSH et téléchargez le script d'installation automatique de l'agent nginx amplify à l'aide de la commande curl ou wget.

wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
OR
curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh 

3. Exécutez maintenant la commande ci-dessous avec les privilèges de superutilisateur à l'aide de la commande sudo, pour installer le package de l'agent amplify (la API_KEY sera probablement différente, unique pour chaque système que vous ajoutez ).

sudo API_KEY='e126cf9a5c3b4f89498a4d7e1d7fdccf' sh ./install.sh 

Remarque : Vous obtiendrez peut-être une erreur indiquant que sub_status n'a pas été configuré, cela sera fait à l'étape suivante.

4. Une fois l'installation terminée, revenez à l'interface utilisateur Web et après environ 1 minute, vous pourrez voir le nouveau système dans la liste de gauche.

Étape 2 : Configurer stub_status dans NGINX

5. Maintenant, vous devez configurer la configuration stub_status pour créer des graphiques Nginx clés (les utilisateurs Nginx Plus doivent configurer soit le module stub_status, soit le module état étendu).

Créez un nouveau fichier de configuration pour stub_status sous /etc/nginx/conf.d/.

sudo vi /etc/nginx/conf.d/sub_status.conf

Copiez et collez ensuite la configuration stub_status suivante dans le fichier.

server {
    listen 127.0.0.1:80;
    server_name 127.0.0.1;
    location /nginx_status {
        stub_status;
        allow 127.0.0.1;
        deny all;
    }
}

Enregistrez et fermez le fichier.

6. Ensuite, redémarrez les services Nginx pour activer la configuration du module stub_status, comme suit.

sudo systemctl restart nginx

Étape 3 : configurer des métriques NGINX supplémentaires pour la surveillance

7. Au cours de cette étape, vous devez configurer des métriques Nginx supplémentaires pour garder un œil attentif sur les performances de vos applications. L'agent rassemblera des métriques à partir des fichiers access.log et error.log actifs et en croissance, dont il détecte automatiquement les emplacements. Et surtout, il devrait être autorisé à lire ces fichiers.

Tout ce que vous avez à faire est de définir un log_format spécifique comme celui ci-dessous dans votre fichier de configuration principal Nginx, /etc/nginx/nginx.conf.

log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" '
                                '$status $body_bytes_sent "$http_referer" '
                                '"$http_user_agent" "$http_x_forwarded_for" '
                                '"$host" sn="$server_name" ' 'rt=$request_time '
                                'ua="$upstream_addr" us="$upstream_status" '
                                'ut="$upstream_response_time" ul="$upstream_response_length" '
                                'cs=$upstream_cache_status' ;

Utilisez ensuite le format de journal ci-dessus lors de la définition de votre access_log et le niveau de journalisation error_log doit être défini sur warn comme indiqué.

access_log /var/log/nginx/suasell.com/suasell.com_access_log main_ext;
error_log /var/log/nginx/suasell.com/suasell.com_error_log  warn;

8. Redémarrez maintenant les services Nginx une fois de plus pour appliquer les dernières modifications.

sudo systemctl restart nginx

Étape 4 : Surveiller le serveur Web Nginx via l'agent Amplify

9. Enfin, vous pouvez commencer à surveiller votre serveur Web Nginx à partir de Amplify Web UI.

Pour ajouter un autre système à surveiller, allez simplement dans Graphiques et cliquez sur « Nouveau système » et suivez les étapes ci-dessus.

Page d'accueil de Nginx Amplify : https://amplify.nginx.com/signup/

Amplify est une solution SaaS puissante pour surveiller votre système d'exploitation, votre serveur Web Nginx ainsi que les applications basées sur Nginx. Il offre une interface utilisateur Web unique et unifiée pour garder un œil sur plusieurs systèmes distants exécutant Nginx. Utilisez le formulaire de commentaires ci-dessous pour partager vos réflexions sur cet outil.