CentOS7にNginxAmplifyAgentをインストールする方法

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のインストール

インストール手順に進む前に、に進む必要があります 増幅.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

メインウィンドウの右下隅にある[新しいシステム]オプションをクリックすると、このエージェントに新しいシステムを追加できます。 同じ手順に従って、そこにエージェントをインストールできます。

AmplifyAgentの更新

定期的に更新を確認し、エージェントの最新の安定バージョンをインストールする必要があります。 あなたはたった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など)として取得します。

エージェントが有効なユーザーIDに使用するユーザーIDを、以下の構成ファイルで手動で指定することもできます。 [nginx] ここのセクション。

[nginx]
user =
configfile = /etc/nginx/nginx.conf

steb_statusまたはExtendedStatusのURLを構成する

エージェントが実行中のNGINXインスタンスを見つけると、NGINX構成からstub_statusの場所を自動的に検出します。 または、stub_status構成オプションを使用して、以下のようにstub_statusURLをオーバーライドできます。

[nginx]
..
stub_status = https://127.0.0.1/nginx_status

Syslogの構成

エージェントは、syslogを介してNGINXログファイルを収集できます。 これは、NGINXログをディスクに保持しない場合、またはNGINXAmplifyを使用してDockerなどのコンテナー環境を監視する場合に役立ちます。

エージェントをsyslog用に構成するには、/ etc / amplify-agent /agent.confで次のディレクティブを変更します。
[listeners]
キー= syslog-デフォルト

[listener_syslog-default]
アドレス= * // 指定します 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が正常にインストールされ、監視用にサーバーが構成されました。 監視対象サーバー(104.237.159.96)のステータスの概要は、次のWebインターフェイスログに表示されます。 アカウントを増幅する スナップショットのように:

各タブをナビゲートして、追加されたサーバーに関するすべての情報を取得できます。

AmplifyAgentのアンインストール

次の手順を使用して、以前に監視されたオブジェクトを完全に削除できます。

ステップ1。 次のように、このコマンドを使用してエージェントをアンインストールします。

#yum remove nginx-amplify-agent

ステップ2。 Webインターフェイスからオブジェクトを削除します

AmplifyWebインターフェイスからサーバーを削除します。 Webインターフェイスのインベントリでそれを見つけることができ、 [i] アイコン。 このように次に表示されるポップアップウィンドウから必要なオブジェクトを削除できます。

最後に、[アラート]ページを確認し、オブジェクトに設定されている無関係なルールを削除/ミュートします。

まとめ

NGINX Amplify Agentは、包括的なNGINXモニタリングのための強力なツールです。 NGINXベースのWebアプリケーションに関連する問題をプロアクティブに分析して修正できます。 Nginxを実行しているシステムを追跡するのに役立ちます。 次の目的にも使用できます。

  • インテリジェントなアドバイスと推奨事項を使用して、Nginxのパフォーマンスを改善および最適化します
  • Nginxのパフォーマンスのボトルネック、サーバーの過負荷、または潜在的なDDoS攻撃を視覚化して特定します
  • Webアプリケーションの容量とパフォーマンスを計画する