Vous pouvez utiliser un serveur proxy NGINX pour transmettre les données de surveillance d’un hôte hors Alibaba Cloud vers Cloud Monitor.
Étape 1 : Déployer un proxy NGINX
Cloud Monitor s’exécute sur des serveurs Linux. Nous vous recommandons d’utiliser un serveur Linux comme proxy. Cet exemple utilise CentOS.
Le déploiement du proxy NGINX nécessite le compte root. Une mauvaise utilisation du compte root peut compromettre la stabilité du système ou la sécurité des données. Procédez avec prudence.
-
Téléchargez et décompressez le package d’installation de NGINX. Cet exemple utilise nginx-1.19.6.
-
Accédez au répertoire d’installation et téléchargez le package. Pour télécharger d’autres versions, consultez le site officiel NGINX.
cd /usr/local wget http://nginx.org/download/nginx-1.19.6.tar.gz -
Décompressez le package d’installation.
tar -zxvf nginx-1.19.6.tar.gz
-
-
Installez les dépendances.
yum install -y git patch pcre pcre-devel gcc zlib zlib-devel openssl openssl-devel -
Téléchargez et installez le correctif NGINX. Cet exemple utilise proxy_connect_rewrite_1018.patch.
Accédez au répertoire décompressé nginx-1.19.6.
-
Exécutez la commande suivante pour télécharger le module de correctif NGINX.
git clone https://github.com/chobits/ngx_http_proxy_connect_module.gitImportantTéléchargez la version du correctif correspondant à votre version de NGINX. Comme cet exemple utilise NGINX 1.19.6, le correctif approprié est proxy_connect_rewrite_1018.patch. Pour plus d’informations, consultez GitHub.
-
Installez le correctif NGINX. Assurez-vous d’être dans le répertoire /usr/local/nginx-1.19.6.
patch -p1 < ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patchRemarquepatch: applique les modifications d’un fichier de correctif aux fichiers source.-p1: supprime le premier composant de répertoire des chemins d’accès aux fichiers dans le fichier de correctif.
-
Compilez, installez, puis démarrez NGINX.
-
Dans le répertoire /usr/local/nginx-1.19.6, exécutez la commande de configuration.
./configure --prefix=/usr/local/nginx-1-19 --with-http_stub_status_module --with-http_ssl_module --add-module=ngx_http_proxy_connect_moduleRemarqueLe paramètre
--prefix=/usr/local/nginx-1-19définit le répertoire d’installation de NGINX. -
Exécutez la commande d’installation.
make && make install -
Démarrez NGINX.
/usr/local/nginx-1-19/sbin/nginx
-
Pour vérifier l’installation, saisissez <adresse_IP_du_serveur_proxy>:80 dans la barre d’adresse de votre navigateur. Si la page Welcome to nginx! s’affiche, le serveur proxy NGINX est installé et fonctionne correctement.
-
Configurez le proxy NGINX.
-
Dans le répertoire
confde votre installation NGINX, créez le fichier de configurationforward.conf.cd /usr/local/nginx-1-19/conf vi forward.conf -
Configurez le proxy direct et le proxy inverse dans le fichier
forward.conf.-
L’exemple suivant illustre une configuration de proxy direct :
server { listen 8080; # Set a custom port for the NGINX proxy server. server_name xxx.xx.xx.xxx; # Set the IP address of the proxy server. # dns resolver used by forward proxying resolver 114.114.114.114; # Set the DNS address. # forward proxy for CONNECT request proxy_connect; proxy_connect_allow 443; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; # forward proxy for non-CONNECT request location / { proxy_pass http://$http_host$request_uri; # Set the protocol and address of the proxy server. Use the default values. proxy_set_header Host $host; } }RemarqueUn proxy direct sert d’intermédiaire entre les clients d’un réseau privé et les ressources accessibles sur Internet public.
Par défaut, le proxy direct NGINX ne prend pas en charge HTTPS. Vous devez appliquer un correctif pour activer cette fonctionnalité.
-
L’exemple suivant illustre une configuration de proxy inverse :
server { listen 443 ssl; server_name 192.168.XX.XX; # Set the IP address of the proxy server. ssl_certificate XXXX.pem; # The SSL certificate. ssl_certificate_key XXXX.key; # The key for the SSL certificate. location / { proxy_pass https://www.aliyun.com; # The URL that the proxy server accesses. proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }RemarqueUn proxy inverse sert d’intermédiaire entre les clients sur Internet public et les ressources d’un réseau privé.
ImportantPour obtenir un certificat SSL, consultez Soumettre une demande de certificat.
-
Appuyez sur la touche Échap, saisissez
:wq, puis appuyez sur Entrée pour enregistrer et quitter le fichier de configurationforward.conf.-
Ouvrez le fichier de configuration principal
nginx.conf.cd /usr/local/nginx-1-19/conf vi nginx.conf -
Dans le fichier principal
nginx.conf, ajoutez la directiveincludepointant versforward.conf.http { ...... include /usr/local/nginx-1-19/conf/forward.conf; ...... } Appuyez sur la touche Échap, saisissez
:wq, puis appuyez sur Entrée pour enregistrer et quitter le fichiernginx.conf.-
Redémarrez le serveur proxy NGINX.
/usr/local/nginx-1-19/sbin/nginx -s reload
-
-
Testez le serveur proxy NGINX.
-
Pour tester le proxy direct, exécutez la commande suivante. Une connexion réussie confirme que la configuration du proxy direct est correcte.
curl -x <proxy_server_ip>:<proxy_server_port> http://example.com -
Pour tester le proxy inverse, exécutez la commande suivante. Si vous êtes redirigé vers l’URL spécifiée dans le fichier
forward.confquelle que soit l’URL demandée, la configuration du proxy inverse est correcte.curl -x <proxy_server_ip>:<proxy_server_port> https://example.com
-
Étape 2 : Installer et configurer l’agent Cloud Monitor
La gestion de l’agent Cloud Monitor requiert le compte root (administrateur). L’utilisation d’un compte administrateur comporte des risques, notamment pour la stabilité du système ou la sécurité des données. Procédez avec prudence.
-
Installez l’agent Cloud Monitor sur l’hôte hors Alibaba Cloud.
Pour plus d’informations, consultez Installer et désinstaller l’agent C++.
-
Configurez l’agent Cloud Monitor pour utiliser le serveur proxy NGINX.
Connectez-vous en tant que root à l’hôte où l’agent Cloud Monitor est installé.
-
Exécutez les commandes suivantes pour ouvrir le fichier agent.properties.
cd /usr/local/cloudmonitor/conf vi agent.properties -
Ajoutez les informations du serveur proxy au fichier
agent.properties.http.proxy.auto=false # Manually configure the proxy. http.proxy.host=192.168.XX.XX # The IP address of the NGINX proxy server. http.proxy.port=8080 # The port of the NGINX proxy server. #http.proxy.user=user # The HTTP service of the NGINX proxy server does not require a username. #http.proxy.password=password # The HTTP service of the NGINX proxy server does not require a password. Appuyez sur la touche Échap, saisissez :wq, puis appuyez sur Entrée pour enregistrer et quitter le fichier agent.properties.
-
Exécutez la commande suivante pour redémarrer l’agent Cloud Monitor.
./cloudmonitorCtl.sh restart
Étape 3 : Consulter les données de surveillance
Connectez-vous à la console Cloud Monitor.
Dans le volet de navigation de gauche, cliquez sur Host Monitoring.
-
Sur la page Host Monitoring, cliquez sur le nom de l’hôte cible ou sur Monitoring Charts dans la colonne Actions.
Consultez les données de surveillance de l’hôte hors Alibaba Cloud sur cette page.