増幅 - NGINXモニタリングを容易に


Nginx Amplifyは、オープンソースのNginx WebサーバーとNGINX Plusを広範囲に監視するための便利なツールのコレクションです。 NGINX Amplifyを使用すると、パフォーマンスを監視し、Nginxを実行しているシステムを追跡し、Webアプリケーションの実行と拡張に関連する問題を実際に調査して修正することができます。

Nginx Webサーバーのパフォーマンスボトルネック、サーバーの過負荷、または潜在的なDDoS攻撃を視覚化して特定するために使用できます。インテリジェントなアドバイスと推奨事項を使用してNginxのパフォーマンスを向上させ最適化します。

さらに、アプリケーションの設定に問題がある場合は通知されます。また、Webアプリケーションのキャパシティおよびパフォーマンスプランナーとしても機能します。

NginxのAmplifyアーキテクチャは、以下に説明する3つの主要コンポーネントで構築されています。

  • NGINX Amplify Backend – the core system component, implemented as a SaaS (Software as a Service). It incorporates scalable metrics collection framework, a database, an analytics engine, and a core API.
  • NGINX Amplify Agent – a Python application which should be installed and run on monitored systems. All communications between the agent and the SaaS backend are done securely over SSL/TLS; all traffic is always initiated by the agent.
  • NGINX Amplify Web UI – a user interface compatible with all major browsers and it is only accessible only via TLS/SSL.

Web UIはNginxとオペレーティングシステムメトリクスのグラフを表示し、ユーザ定義のダッシュボードを作成することを可能にし、Nginx設定を改善するための静的アナライザと自動通知によるアラートシステムを提供します。

ステップ1:LinuxシステムにAmplify Agentをインストールする

1. ウェブブラウザを開き、下記のアドレスを入力してアカウントを作成します。リンクがあなたのメールアドレスに送信されますので、それを使ってメールアドレスを確認し、新しいアカウントにログインしてください。

https://amplify.nginx.com

2. その後、SSH経由で監視対象のリモートサーバーにログインし、 curl またはwgetコマンドを使用してnginx Amplifyエージェントの自動インストールスクリプトをダウンロードします。

$ 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. sudoコマンドを使用して、スーパーユーザー権限で以下のコマンドを実行し、Amplifyエージェントパッケージをインストールします( API_KEY はおそらく追加するシステムごとに異なります)。 )

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

4. インストールが完了したらウェブのUIに戻り、約1分後に新しいシステムが左側のリストに表示されます。

ステップ2:NGINXでstub_statusを設定する

5. これで、主要な Nginx グラフを構築するための stub_status 設定を設定する必要があります( Nginx Plus ユーザーが設定する必要があります) stub_status モジュールまたは拡張ステータスモジュールのいずれかです。

/etc/nginx/conf.d/ の下に stub_status 用の新しい設定ファイルを作成します。

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

その後、次の stub_status 設定をファイルにコピーして貼り付けます。

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;
    }
}

ファイルを保存して閉じます。

6. 次に、Nginxサービスを再起動して、 stub_status モジュール設定を有効にします。

$ sudo systemctl restart nginx

ステップ3:監視用に追加のNGINXメトリックを設定する

7. この手順では、アプリケーションのパフォーマンスをよく確認するために、追加のNginx指標を設定する必要があります。エージェントは、アクティブで増え続ける access.log および error.log ファイルからメトリックを収集します。これらのファイルの場所は自動的に検出されます。そして重要なことに、これらのファイルを読むことは許可されるべきです。

あなたがしなければならないのはあなたのメインのNginx設定ファイル /etc/nginx/nginx.conf の中の下のものとして特定の log_format を定義することです。

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' ;

次に、 access_log を定義するときに上記のログ形式を使用し、 error_log ログレベルは図のように警告に設定する必要があります。

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. 最新の変更を有効にするために、もう一度Nginxサービスを再起動します。

$ sudo systemctl restart nginx

ステップ4:Amplifyエージェントを介したNginx Webサーバの監視

9. 最後に、 Amplify Web UI からNginxウェブサーバーの監視を開始できます。

別のシステムを監視に追加するには、[グラフ]に移動して[新しいシステム]をクリックし、上記の手順に従ってください。

Nginx Amplifyホームページ:https://amplify.nginx.com/signup/

Amplify は、OS、Nginxウェブサーバー、Nginxベースのアプリケーションを監視するための強力なSaaSソリューションです。 Nginxを実行している複数のリモートシステムを監視するための単一の統一されたWeb UIを提供します。このツールについてのあなたの考えを共有するために下記のコメントフォームを使用してください。