このトピックでは、NGINX プロキシサーバーを使用して、Alibaba Cloud 以外が提供するホストのモニタリングデータを CloudMonitor に報告する方法について説明します。
手順 1:NGINX プロキシサーバーをデプロイする
CloudMonitor は Linux サーバーにデプロイされているため、プロキシサーバーとして Linux サーバーを使用することをお勧めします。この例では、CentOS を実行する Linux サーバーを使用します。
NGINX プロキシサーバーは、root ユーザーアカウント(管理者アカウント)を使用してのみデプロイできます。管理者アカウントを使用すると、特定のリスクが発生する可能性があります。たとえば、システムの安定性やデータセキュリティの問題が発生する可能性があります。注意して進めてください。
NGINX インストールパッケージをダウンロードして解凍します。この例では、nginx-1.19.6 を使用します。
指定されたインストールディレクトリに移動し、インストールパッケージをダウンロードします。別バージョンのインストールパッケージをダウンロードするには、NGINX 公式 Web サイトにアクセスしてください。
cd /usr/local wget http://nginx.org/download/nginx-1.19.6.tar.gzパッケージを解凍します。
tar -zxvf nginx-1.19.6.tar.gz
依存関係をインストールします。
yum install -y git patch pcre pcre-devel gcc zlib zlib-devel openssl openssl-develNGINX パッチパッケージをダウンロードしてインストールします。この例では、proxy_connect_rewrite_1018.patch パッチパッケージがインストールされています。
解凍した nginx-1.19.6 パッケージのディレクトリに移動します。
次のコマンドを実行して、NGINX パッチパッケージをダウンロードします。
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git重要インストールされている NGINX に対応するパッチパッケージをダウンロードする必要があります。この例では、NGINX のバージョンは nginx-1.19.6 です。したがって、パッチパッケージ proxy_connect_rewrite_1018.patch が選択されています。詳細については、GitHub にアクセスしてください。
NGINX パッチパッケージをインストールします。パッチパッケージをインストールする前に、パッケージが /usr/local/nginx-1.19.6 ディレクトリにあることを確認してください。
patch -p1 < ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch説明patch: パッチファイルを使用して元のファイルをパッチします。
-p1: パッチファイルパスのどの部分を無視するかを示します。値 1 は、最初の部分が無視されることを示します。
NGINX をコンパイルしてインストールし、NGINX を起動します。
NGINX インストールパッケージの /usr/local/nginx-1.19.6 ディレクトリで、次のコマンドを実行してコンパイルします。
./configure --prefix=/usr/local/nginx-1-19 --with-http_stub_status_module --with-http_ssl_module --add-module=ngx_http_proxy_connect_module説明--prefix=/usr/local/nginx-1-19 は、NGINX がコンパイルおよびインストールされた後のディレクトリを示します。
次のインストールコマンドを実行します。
make && make install次のコマンドを実行して、NGINX を起動します。
/usr/local/nginx-1-19/sbin/nginx
ブラウザのアドレスバーに、プロキシサーバーの IP アドレス:80 と入力します。次の出力が表示されたら、インストールは成功です。

NGINX プロキシを構成します。
NGINX がコンパイルおよびインストールされている conf ディレクトリに、forward.conf 構成ファイルを作成します。
cd /usr/local/nginx-1-19/conf vi forward.confforward.conf ファイルで、転送プロキシまたはリバースプロキシを構成します。
転送プロキシ:
server { listen 8080; # NGINX プロキシサーバーのカスタムポート。 server_name xxx.xx.xx.xxx; # プロキシサーバーの IP アドレス。 # dns resolver used by forward proxying resolver 114.114.114.114; # DNS アドレス。 # 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; # プロキシサーバーのプロトコルとリクエスト URI。デフォルト値は変更しないでください。 proxy_set_header Host $host; } }説明転送プロキシ: ローカルエリアネットワーク (LAN) 外のインターネットを巨大なリソースプールと見なすと、LAN 内のクライアントは転送プロキシを使用してインターネットにアクセスする必要があります。
NGINX の転送プロキシは HTTPS をサポートしていません。HTTPS をサポートするには、プロキシにパッチを適用する必要があります。
リバースプロキシ:
server { listen 443 ssl; server_name 192.168.XX.XX; # プロキシサーバーの IP アドレス。 ssl_certificate XXXX.pem; # SSL 証明書。 ssl_certificate_key XXXX.key; # SSL 証明書のキー。 location / { proxy_pass https://www.aliyun.com; # プロキシサーバーがアクセスする URL。 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; } }説明リバースプロキシ: LAN がインターネットにリソースとサービスを提供する場合、インターネット上のクライアントはリバースプロキシを使用して LAN 内のリソースにアクセスする必要があります。
重要SSL 証明書の申請方法の詳細については、証明書の申請をご参照ください。
Esc キーを押し、:wq と入力し、Enter キーを押して forward.conf 構成ファイルを保存して終了します。
NGINX の nginx.conf メイン構成ファイルを開きます。
cd /usr/local/nginx-1-19/conf vi nginx.confinclude コマンドを実行して、forward.conf 構成ファイルを nginx.conf メイン構成ファイルに追加します。
http { ...... include /usr/local/nginx-1-19/conf/forward.conf; ...... }Esc キーを押し、:wq と入力し、Enter キーを押して nginx.conf ファイルを保存して終了します。
NGINX プロキシサーバーを再起動します。
/usr/local/nginx-1-19/sbin/nginx -s reload
NGINX プロキシサーバーをテストします。
転送プロキシの場合は、次のコマンドを実行して URL にアクセスします。URL にアクセスできる場合、NGINX プロキシサーバーはインストールされています。
curl -x 192.168.XX.XX (プロキシサーバーの IP アドレス):<プロキシサーバーのポート> http://example.aliyundoc.com (任意の URL)転送プロキシの場合は、次のコマンドを実行して URL にアクセスします。nginx.conf ファイルで指定された URL にアクセスできる場合、NGINX プロキシサーバーは構成されています。
curl -x 192.168.XX.XX (プロキシサーバーの IP アドレス):<プロキシサーバーのポート> https://example.aliyundoc.com (任意の URL)
手順 2:CloudMonitor エージェントをインストールして構成する
CloudMonitor エージェントは、root ユーザーアカウント(管理者アカウント)を使用してのみ管理できます。管理者アカウントを使用すると、特定のリスクが発生する可能性があります。たとえば、システムの安定性やデータセキュリティの問題が発生する可能性があります。注意して進めてください。
Alibaba Cloud 以外が提供するホストに CloudMonitor エージェントをインストールします。
詳細については、「CloudMonitor エージェントをインストールおよびアンインストールする」をご参照ください。
CloudMonitor エージェントで NGINX プロキシサーバーを構成します。
CloudMonitor エージェントが存在するホストに root ユーザーとしてログオンします。
次のコマンドを実行して、agent.properties ファイルを開きます。
cd /usr/local/cloudmonitor/conf vi agent.propertiesCloudMonitor エージェントの構成ファイルで NGINX プロキシサーバーを構成します。
http.proxy.auto=false # プロキシサーバーを手動で構成します。 http.proxy.host=192.168.XX.XX # NGINX プロキシサーバーの IP アドレス。 http.proxy.port=8080 # NGINX プロキシサーバーのポート番号。 #http.proxy.user=user # NGINX プロキシサーバーは、HTTP 認証にユーザー名を必要としません。 #http.proxy.password=password # NGINX プロキシサーバーは、HTTP 認証にパスワードを必要としません。Esc キーを押し、:wq と入力し、Enter キーを押して agent.properties ファイルを保存して終了します。
次のコマンドを実行して、CloudMonitor エージェントを再起動します。
./cloudmonitorCtl.sh restart
手順 3:Alibaba Cloud 以外が提供するホストのモニタリングデータを表示する
CloudMonitor コンソール にログオンします。
左側のナビゲーションウィンドウで、[ホストモニタリング] をクリックします。
[ホストモニタリング] ページで、ホスト名をクリックするか、ホストの 列の [モニタリングチャート]アクション をクリックします。
Alibaba Cloud 以外が提供するホストのモニタリングデータを表示します。