Web サーバーの監視は、Web サイトで何が起こっているかを確認するために不可欠です。最近、何らかの解決策を探していたところ 、次のようなさまざまなメトリクスを監視するのに役立つ ngxtop を見つけました。
- 現在アクティブなリクエスト
- 合計リクエスト数の概要
- ステータス コード別の合計リクエスト (2xx、3xx、4xx、5xx)
- 平均送信バイト数
- 上位リモートアドレス
この記事では、LinuxおよびUbuntu OSに
ngxtop
インストールして使用する方法を説明します。
以前、GoAccess Log Analyzer を使用したことがありますが、ngxtop は軽量で、Nginx Web サーバーのメトリクス監視に適した選択肢であることがわかりました。
これは、Nginx がインストールされ実行されていることを前提としています。そうでない場合は、インストールガイドを参照してください。
ngxtop について少し紹介
ngxtop は Python ベースのプログラムで、Python の上にインストールできます。インストールしたら、ngxtop を実行すると、Linux の典型的な top 出力のように見えますが、Nginx 関連の情報が含まれていることがわかります。

CentOS/RHEL に ngxtop をインストールするには
まず、PIP (Python パッケージ管理システム) をインストールする必要があります。
そうするために…
- root 認証情報を使用してサーバーにログインします
- 以下のパッケージをインストールして EPEL リポジトリを有効にします
yum install epel-release
次に、以下のコマンドで pip をインストールします
yum install python-pip
最後に、以下を使用して ngxtop をインストールします
pip install ngxtop
CentOS/RHEL 8 を使用している場合は、次のように DNF コマンドを使用できます。
dnf install epel-release python2 python2-pip
pip2 install ngxtop

Ubuntu に ngxtop をインストールするには
以下のコマンドを使用して PIP をインストールします
apt-get install python-pip
そして、次を使用して ngxtop をインストールします
pip install ngxtop
取り付けは 簡単 です。そうじゃない?リアルタイムのメトリクスをいくつか見てみましょう。
Nginx アクティビティの概要
ngxtop コマンドを使用して、リクエスト数、リクエストされた URI、ステータス コード別のリクエスト数の概要を表示します。
ヒント: ステータス コード 404 を持つリクエストを調べることで、壊れたリンクを見つけることができます。
上位クライアントの IP を確認する
誰が Nginx サーバーに大量のリクエストを行っているかを確認するのは非常に便利です。
ngxtop top remote_addr
404 ステータス コードを持つリクエストのみを表示するのはどうでしょうか?
ngxtop -i 'status >= 404'
リアルタイムだけでなく、アクセスログを解析することでオフラインでも分析することができます。
access.log を分析するには、以下を使用できます。
ngxtop –l /path/access.log
別の例は、Apache からのオフライン access.log を解析することです。
ngxtop –f common –l /path/access.log
access.log から意味のあるデータを除外するために使用できる組み合わせは複数あります。次に、Nginx Plus を試してみるとよいでしょう。
