システム管理者の主なタスクの 1 つは、ログ ファイルの表示と分析です。Apache および Nginx からの Web サーバー ログ ファイルは時間の経過とともに蓄積され、それらを調べるのは面倒で時間がかかる場合があります。ありがたいことに、GoAccess はこのストレスをすべて軽減し、Web サーバーのログ ファイルをシームレスに監視および分析できるようにします。
GoAccess は、端末ベースのリアルタイム Web ログ アナライザーです。C で書かれており、高速でインタラクティブで、エレガントで直感的な方法でログを表示します。Apache、Nginx、Caddy、Amazon S3、CloudFront など、さまざまな Web ログ ファイルのサポートを提供します。HTML、JSON で結果をレンダリングし、CSV レポートを生成することもできます。
このガイドでは、GoAccess をインストールし、それを使用して Apache および Nginx Web サーバーからのリアルタイム ログを分析する方法に焦点を当てます。
GoAccess では、次のログ メトリックを表示できます。
- 1 日のユニーク ユーザー数
- 要求されたファイル
- 静的リクエスト (jpg、pdf、png、mp4、avi など)
- 見つからない (404) リクエスト
- 訪問者のホスト名と IP の詳細
- 訪問者のオペレーティング システムとブラウザの詳細
- 地理的位置
GoAccess のインストール方法
Linux システムに GoAccess をインストールするには、主に 2 つの方法があります。ソースからビルドすることも、ディストリビューションのパッケージ マネージャーを使用してビルドすることもできます。両方を同時に行う方法を見てみましょう。
さまざまなディストリビューションに GoAccess をインストールする
Ubuntu/Debian にインストール
$ sudo apt install -y goaccess
RHEL/CentOS にインストール
$ sudo yum install -y goaccess
or$ sudo dnf install -y goaccess
Fedora にインストールする
$ sudo dnf install goaccess -y
Arch Linux にインストール
$ sudo pacman -S goaccess
opensuse や freebsd などの他のディストリビューションについては、GoAccess の公式ダウンロード リンクにアクセスしてください。
ソースから GoAccess をインストールする
ソースからインストールするには、まず wget コマンドを使用して GoAccess tar ボール ファイルをダウンロードします。
$ wget https://tar.goaccess.io/goaccess-1.4.6.tar.gz
次の tar コマンドを使用して tarball ファイルを抽出します。
$ tar -xvf goaccess-1.4.6.tar.gz
次に、そのディレクトリに移動し、次のようにソースからビルドします
$ cd goaccess-1.4.6/
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install
インストールを確認する
GoAccess がインストールされていることを確認するには、次のコマンドを実行します。
$ goaccess
これにより、以下に示すように、コマンドの使用法とコマンド オプションが表示されます。
GoAccess のバージョンは、次の方法でも確認できます。
$ goaccess --version
Apache と Nginx のログをリアルタイムで監視する
GoAccess をインストールしたら、次のステップは Web ログ ファイルを監視することです。この例では、Apache Web サーバーがインストールされており、access.log ファイルを監視して、クライアントがブラウザーから Web サーバーと対話する方法に関する統計を取得します。
-f オプションを使用すると、コマンド ラインでログをライブで表示できます。
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED
リクエストの総数、有効なリクエスト、有効な訪問者、固有のファイルなどを含む、Web サーバーのログ統計が端末に出力されます。
下にスクロールして、404 リクエスト、訪問者のホスト名、IP アドレスなど、他の Web サーバー統計を表示します。
ここには、訪問者が Web サーバーにアクセスするオペレーティング システムと Web ブラウザーに関する統計があります。
Nginx ログを監視するには、Apache ログと同じ方法を使用します。root ユーザーに切り替えて、以下のコマンドを実行するだけです。
# goaccess -f /var/log/nginx/access.log --log-format=COMBINED
ここでは、Nginx Web サーバーの access.log ファイルを監視しています。
Web ダッシュボードを介してログ出力を表示する
出力を html ファイルにリダイレクトすることにより、エレガントで直感的なダッシュボードに Web サーバーのログを表示することもできます。ここでは、出力ファイルを reports.html として指定します。
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED > reports.html
次に、Web ブラウザを開いてファイルの場所を参照すると、すぐにログが表示されます。
記事の要約
GoAccess は、Web サーバーと訪問者の間のやり取りを理解できる便利なツールです。これにより、訪問者が Web サイトをどのように操作しているかについて多くの詳細な情報を取得できます。これは、より多くの視聴者にリーチし、ユーザー エクスペリエンスを向上させるのに役立ちます。