すべてのプロダクト
Search
ドキュメントセンター

CloudMonitor:NGINXプロキシサーバーを使用して、Alibaba Cloudが提供していないホストのモニタリングデータをCloudMonitorに報告するにはどうすればよいですか。

最終更新日:Sep 25, 2024

このトピックでは、NGINXプロキシサーバーを使用して、Alibaba Cloudが提供していないホストのモニタリングデータをCloudMonitorに報告する方法について説明します。

手順1: NGINXプロキシサーバーのデプロイ

CloudMonitorはLinuxサーバーにデプロイされているため、プロキシサーバーとしてLinuxサーバーを使用することを推奨します。 この例では、CentOSを実行するLinuxサーバーを使用しています。

重要

NGINXプロキシサーバーは、rootユーザーアカウント (管理者アカウント) を使用してのみデプロイできます。 管理者アカウントを使用すると、特定のリスクが発生する可能性があります。 例えば、システムの安定性やデータセキュリティの問題が発生する場合があります。 作業は慎重に行ってください。

  1. NGINXインストールパッケージをダウンロードして解凍します。 この例では、nginx-1.19.6が使用されます。

    1. 指定されたインストールディレクトリに移動し、インストールパッケージをダウンロードします。 別のバージョンのインストールパッケージをダウンロードするには、NGINX公式Webサイトにアクセスしてください。

      cd /usr/local
      wget http://nginx.org/download/nginx-1.19.6.tar.gz
    2. パッケージを解凍します。

      tar -zxvf nginx-1.19.6.tar.gz
  2. 依存関係をインストールします。

    yum install -y git patch pcre pcre-devel gcc zlib zlib-devel openssl openssl-devel
  3. NGINXパッチパッケージをダウンロードしてインストールします。 この例では、proxy_connect_rewrite_1018.patchパッチパッケージがインストールされています。

    1. 解凍されたnginx-1.19.6パッケージのディレクトリに移動します。

    2. 次のコマンドを実行して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にアクセスしてください。

    3. NGINXパッチパッケージをインストールします。 パッチパッケージをインストールする前に、パッケージが /usr/local/nginx-1.19.6ディレクトリにあることを確認してください。

      patch -p1 < ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch
      説明

      patch: パッチファイルを使用して元のファイルをパッチします。

      -p1: パッチファイルパスのどの部分が無視されるかを示します。 値1は、最初の部分が無視されることを示す。

  4. NGINXをコンパイルしてインストールし、NGINXを起動します。

    1. 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がコンパイルおよびインストールされた後のディレクトリを示します。

    2. 次のインストールコマンドを実行します。

      make && make install
    3. 次のコマンドを実行してNGINXを起動します。

      /usr/local/nginx-1-19/sbin/nginx
  5. ブラウザのアドレスバーに、プロキシサーバーのIPアドレス :80と入力します。 次の出力が表示された場合、インストールは成功です。image

  1. NGINXプロキシを設定します。

    1. NGINXがコンパイルおよびインストールされているconfディレクトリにforward.conf構成ファイルを作成します。

      cd /usr/local/nginx-1-19/conf
      vi forward.conf
    2. forward.confファイルでフォワードプロキシまたはリバースプロキシを設定します。

      1. Forward proxy:

        server {
             listen                         8080; # The custom port for the NGINX proxy server. 
             server_name                    xxx.xx.xx.xxx; # The IP address of the proxy server. 
             # dns resolver used by forward proxying
             resolver                       114.114.114.114;  # 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;  # The protocol and request URI of the proxy server. Do not change the default values. 
                 proxy_set_header Host $host;
             }
         }
        説明

        フォワードプロキシ: ローカルエリアネットワーク (LAN) 外のインターネットを巨大なリソースプールと考えると、LAN内のクライアントはフォワードプロキシを使用してインターネットにアクセスする必要があります。

        NGINXのフォワードプロキシはHTTPSをサポートしていません。 HTTPSをサポートするには、プロキシにパッチを当てる必要があります。

      2. 逆プロキシ:

        server {
            listen              443 ssl;
            server_name         192.168.XX.XX; # The IP address of the proxy server. 
            ssl_certificate     XXXX.pem; # The SSL certificate. 
            ssl_certificate_key XXXX.key; # The key of 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-Forward`ed-For $proxy_add_x_forwarded_for;
            }
        }
        説明

        リバースプロキシ: LANがインターネットにリソースとサービスを提供する場合、インターネット上のクライアントはリバースプロキシを使用してLAN内のリソースにアクセスする必要があります。

        重要

        SSL証明書を申請する方法の詳細については、 証明書の申請

    3. Escキーを押して: wqと入力し、enterキーを押してforward.conf構成ファイルを保存して終了します。

    4. nginxのNGINX. confメイン設定ファイルを開きます。

      cd /usr/local/nginx-1-19/conf
      vi nginx.conf
    5. includeコマンドを実行して、forward.conf構成ファイルをnginx.confメイン構成ファイルに追加します。

      http {
        ......
          include /usr/local/nginx-1-19/conf/forward.conf;
        ......
      }
    6. Escキーを押して: wqと入力し、enterキーを押してnginx.confファイルを保存して終了します。

    7. NGINXプロキシサーバーを再起動します。

      /usr/local/nginx-1-19/sbin/nginx -s reload
  2. NGINXプロキシサーバーをテストします。

    1. フォワードプロキシの場合、次のコマンドを実行してURLにアクセスします。 URLにアクセスできる場合は、NGINXプロキシサーバーがインストールされます。

      curl -x 192.168.XX.XX (IP address of the proxy server):<Port of the proxy server> http://example.aliyundoc.com (any URL)
    2. フォワードプロキシの場合、次のコマンドを実行してURLにアクセスします。 nginx.confファイルで指定したURLにアクセスできる場合は、NGINXプロキシサーバーが設定されます。

      curl -x 192.168.XX.XX (IP address of the proxy server):<Port of the proxy server> https://example.aliyundoc.com (any URL)

手順2: CloudMonitorエージェントのインストールと設定

重要

CloudMonitorエージェントは、ルートユーザーアカウント (管理者アカウント) を使用してのみ管理できます。 管理者アカウントを使用すると、特定のリスクが発生する可能性があります。 例えば、システムの安定性やデータセキュリティの問題が発生する場合があります。 作業は慎重に行ってください。

  1. Alibaba Cloudが提供していないホストにCloudMonitorエージェントをインストールします。

    詳細については、「Cloud Monitorエージェントのインストールとアンインストール」をご参照ください。

  2. CloudMonitorエージェントでNGINXプロキシサーバーを設定します。

    1. CloudMonitorエージェントが存在するホストにrootユーザーとしてログインします。

    2. 次のコマンドを実行して、agent.propertiesファイルを開きます。

      cd /usr/local/cloudmonitor/conf
      vi agent.properties 
    3. CloudMonitorエージェントの設定ファイルでNGINXプロキシサーバーを設定します。

      http.proxy.auto=false
      # Manually configure the proxy server.
      http.proxy.host=192.168.XX.XX
      # The IP address of the NGINX proxy server. 
      http.proxy.port=8080
      # The port number of the NGINX proxy server. 
      #http.proxy.user=user  # The NGINX proxy server does not require a username for HTTP authentication. 
      #http.proxy.password=password  # The NGINX proxy server does not require a password for HTTP authentication.

    4. Escキーを押して、: wqを保存し、Enterキーを押してagent.propertiesファイルを終了します。

    5. 次のコマンドを実行して、CloudMonitorエージェントを再起動します。

      ./cloudmonitorCtl.sh restart

手順3: Alibaba Cloudが提供していないホストのモニタリングデータの表示

  1. にログインします。CloudMonitorコンソール.

  2. 左側のナビゲーションウィンドウで、ホストモニタリング.

  3. On theホストモニタリングページで、ホスト名をクリックするか、チャートの監視で、アクションホストの列です。

    Alibaba Cloudが提供していないホストのモニタリングデータを表示します。