Nginx Amplify Agentは、Pythonで記述された強力なNginx監視ツールです。その役割は、さまざまなメトリックとメタデータを収集し、それらをバックエンドに安全に送信して保存と視覚化することです。適切にインストールすると、NGINX Amplify Webインターフェースが提供され、監視対象システムのリアルタイムの指標が表示されます。また、次の機能も提供します。
- 監視対象のサーバーをすべて一覧表示すると、SLAによってNGINXの状態が30秒間チェックされます。
- Nginx、PHP‑FPM、およびOSメトリックの標準的なグラフセット。
- NGINX構成ファイルの概要、および一般的な構成の問題が発生した場合のアラート。
- グラフを所有するための簡単に管理できるダッシュボード
- Nginxの異常な動作に関する通知。
このアプリケーションは、Amazon Linux、CentOS、RHEL、Debian、Ubuntuなどの一般的なすべてのOSディストリビューションでサポートされています。この記事では、このアプリケーションをCentOS7サーバーにインストールする方法について説明します。
AmplifyAgentのインストール
インストール手順に進む前に、amplicate.nginx.comにアクセスして、アカウントにサインアップする必要があります。
これで、作成した資格情報を使用してアカウントにログインできます。先に進むための一連のインストール手順が提供されます。すでにNginxがインストールされ、サーバーを実行していると仮定します。以下のAmplifyAgentのインストール手順から始めましょう:
ステップ1。 以下のようにインストーラスクリプトを監視およびダウンロードする必要があるサーバーにSSHで接続します。
#wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
ステップ2。 rootとして次のコマンドを実行して、AmplifyAgentパッケージをインストールします。このAPI_KEYは、Amplifyダッシュボードのインストール手順ポップアップウィンドウから取得できます。個々のアカウントには固有のAPIキーがあります。セキュリティ上の理由から、「***」でAPIキーをマークしました
# API_KEY='***' sh ./install.sh
Installed:
nginx-amplify-agent.x86_64 0:0.47-1.el7
Complete!
8. Installing nginx-amplify-agent package ... done.
9. Building configuration file ... done.
10. Checking if sudo -u nginx -g nginx can be used for tests ... done.
11. Checking if euid 997(nginx) can find root processes ... ok.
12. Checking if euid 997(nginx) can access I/O counters for nginx ... ok.
13. Checking connectivity to the receiver ... ok.
14. Checking system time ... ok.
OK, everything went just fine!
ステップ3。 以下のようにエージェントのステータスを確認します。
# ps ax | grep -i 'amplify\-'
13536 ? S 0:01 amplify-agent
これらのコマンドを使用して、エージェントを開始/停止できます。
# service amplify-agent start
# service amplify-agent stop
# service amplify-agent restart
メインウィンドウの右下隅にある[新しいシステム]オプションをクリックすると、このエージェントに新しいシステムを追加できます。同じ手順に従って、そこにエージェントをインストールできます。
Amplifyエージェントの更新
定期的に更新を確認し、エージェントの最新の安定バージョンをインストールする必要があります。 1つのコマンドでそれを行うことができます:
# yum makecache && \
yum update nginx-amplify-agent
エージェントの構成
NGINX Amplify Agentの構成ファイルは、/etc/amplify-agent/agent.conf
にあります。 。エージェントがすべてのNGINXメトリックを適切に収集できるように、エージェントと実行中のNGINXインスタンスが同じユーザーIDを使用することが非常に重要です。デフォルトでは、ユーザーnginxのユーザーIDを使用して、セットアップ中に自動的に作成される有効なユーザーIDを設定します。ユーザーディレクティブがNGINX構成に表示されている場合、エージェントはNGINX構成で指定されたユーザーを有効なユーザーID(www-dataなど)として取得します。
ここの[nginx]セクションの構成ファイルで、エージェントが有効なユーザーIDに使用するユーザーIDを手動で指定することもできます。
[nginx]
user =
configfile = /etc/nginx/nginx.conf
stub_statusまたはExtendedStatusのURLの構成
エージェントが実行中のNGINXインスタンスを見つけると、NGINX構成からstub_statusの場所を自動的に検出します。または、stub_status構成オプションを使用して、以下のようにstub_statusURLをオーバーライドできます。
[nginx]
..
stub_status = http://127.0.0.1/nginx_status
Syslogの構成
エージェントは、syslogを介してNGINXログファイルを収集できます。これは、NGINXログをディスクに保持しない場合、またはNGINXAmplifyを使用してDockerなどのコンテナー環境を監視する場合に役立ちます。
エージェントをsyslog用に構成するには、/ etc / amplify-agent/agent.confで次のディレクティブを変更します。
【リスナー】
キー=syslog-デフォルト
[listener_syslog-デフォルト]
アドレス=* // IP:ポートを指定します ここでは、この127.0.0.1:12000 // *のように
エージェントを再起動して設定をリロードし、指定したIPアドレスとポートでリッスンを開始します。デフォルトのインストールでは、Nginx構成ファイルからすべてのログ情報を収集します。
追加のNginxメトリックの構成
これにより、いくつかの追加の有用なメトリックを収集できます。重要な指標のいくつかを有効にしてセットアップを完了することをお知らせします。これらのメトリックを追加することで、事前定義されたグラフをさらに追加できます。必要なログ形式の構成を使用すると、より具体的なカスタムグラフを作成できます。 NGINX変数の拡張セットをアクセスログ形式に追加する方法を見てみましょう。新しいログ形式を追加するか、既存の形式を変更して、NGINX構成のaccess_logディレクティブで使用できます。 NGINX構成のaccess_logディレクティブを次の変更で変更しました。
http {
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 /var/log/nginx/access.log main_ext;
そして今、あなたは以下のように警告するようにerror.logログレベルを設定することができます:
error_log /var/log/nginx/error.log warn;
(kill -HUP `cat /var/run/nginx.pid`)を使用して既存のNginxプロセスを強制終了し、新しく起動するか、現在のNginx構成をリロード(service nginx reload)して、これらの変更を保存できます。 NGINXログファイルから収集できる追加の指標のリストについて詳しくは、こちらをご覧ください。
それでおしまい!! Amplify Agentが正常にインストールされ、監視用にサーバーが構成されました。スナップショットのように、Amplifyアカウントにログを記録するWebインターフェイスで、監視対象サーバー(104.237.159.96)のステータスの概要を確認できます。
各タブをナビゲートして、追加されたサーバーに関するすべての情報を取得できます。
AmplifyAgentのアンインストール
次の手順を使用して、以前に監視したオブジェクトを完全に削除できます。
ステップ1。 次のように、このコマンドを使用してエージェントをアンインストールします。
#yum remove nginx-amplify-agent
ステップ2。 Webインターフェイスからオブジェクトを削除する
AmplifyWebインターフェイスからサーバーを削除します。 Webインターフェイスのインベントリで見つけることができ、[i]
を選択します。 アイコン。このように次に表示されるポップアップウィンドウから必要なオブジェクトを削除できます。
最後に、[アラート]ページを確認し、オブジェクトに設定されている無関係なルールを削除/ミュートします。
まとめ
NGINX Amplify Agentは、包括的なNGINXモニタリングのための強力なツールです。 NGINXベースのWebアプリケーションに関連する問題をプロアクティブに分析して修正できます。 Nginxを実行しているシステムを追跡するのに役立ちます。次の目的にも使用できます:
- インテリジェントなアドバイスと推奨事項を使用してNginxのパフォーマンスを改善および最適化します
- Nginxのパフォーマンスのボトルネック、サーバーの過負荷、または潜在的なDDoS攻撃を視覚化して特定します
- Webアプリケーションの容量とパフォーマンスを計画する