システム管理者の主な役割の1つは、ログファイルの表示と分析です。他のApacheおよびNginxからのWebサーバーログファイルは時間の経過とともに蓄積される可能性があり、それらを調べることは退屈で時間のかかる作業であることが判明する可能性があります。ありがたいことに、GoAccessはそのストレスをすべて軽減し、Webサーバーのログファイルをシームレスに監視および分析できるようにします。
GoAccessはCプログラミング言語で記述されており、オープンソースの端末ベースのリアルタイムWebログアナライザーです。高速でインタラクティブで、エレガントで直感的な方法でログを表示します。ほんの数例を挙げると、Apache、Nginx、Caddy、Amazon S3、CloudFrontなどのさまざまなWebログファイルのサポートを提供します。結果をHTML形式、JSONでレンダリングし、CSVレポートを生成することもできます。
このガイドでは、goaccessをインストールし、それを使用してリアルタイムのApacheおよびNginxWebサーバーログを分析する方法に焦点を当てます。
GoAccessを使用すると、次のログメトリックを表示できます。
- 毎日のユニークな訪問者
- リクエストされたファイル
- 静的リクエスト(jpg、pdf、png、mp4、aviなど)
- 見つからない(404)リクエスト
- 訪問者のホスト名とIPの詳細
- 訪問者のオペレーティングシステムとブラウザの詳細
- ジオロケーション
GoAccessのインストール方法
LinuxシステムにGoAccessをインストールする主な方法は2つあります。ソースからビルドすることも、ディストリビューションのパッケージマネージャーを使用することもできます。両方を実行する方法を確認しましょう。
さまざまなディストリビューションにGoAccessをインストールする
さまざまなLinuxディストリビューションにGoAccessをインストールする方法は次のとおりです。
Ubuntu/Debianディストリビューションの場合
UbuntuまたはDebianベースのシステムを実行している場合は、次を実行します。
$ sudo apt install -y goaccess
RHEL / CentOS
RHELおよびCentOSディストリビューションの場合は、次のコマンドを実行します。
$ sudo yum install -y goaccess or$ sudo dnf install -y goaccess
Fedoraについて
Fedoraで、次のコマンドを実行します:
$ sudo dnf install goaccess -y
ArchLinuxの場合
ArchLinuxおよびArchLinuxやManjaroなどの他のArchディストリビューションの場合は、コマンドを実行します。
$ sudo pacman -S goaccess
OpenSUSEなどの他のディストリビューションやFreeBSDなどのUNIXフレーバーについては、公式のGoAccessダウンロードリンクにアクセスしてください。
ソースからGoAccessをインストールする
ソースからインストールするには、まず、wgetコマンドを使用してGoAccesstarballファイルをダウンロードします
$ wget https://tar.goaccess.io/goaccess-1.4.6.tar.gz
undertarコマンドで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
GoAccessを使用してReam-TimeApacheおよびNginxログを監視する方法
GoAccessをインストールしたら、次のステップはWebログファイルを監視することです。この例では、Apache Webサーバーがインストールされており、access.logファイルを監視して、クライアントがブラウザーからWebサーバーとどのように対話しているかに関する統計を表示します。
-fオプションを使用すると、コマンドラインでログをリアルタイムで表示できます
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED
ウェブサーバーのログ統計は、合計リクエスト、有効なリクエスト、有効な訪問者、一意のファイルなどを含めて端末に出力されます。
必ず下にスクロールして、Not Found 404リクエスト、訪問者のホスト名、IPアドレスなどの他のWebサーバーの統計を表示してください。
ここには、訪問者がWebサーバーにアクセスしているオペレーティングシステムとWebブラウザに関する統計があります。
Nginxログを監視するには、Apacheログを監視するときと同じドリルを使用します。 rootユーザーに切り替えて、以下のコマンドを実行するだけです。
# goaccess -f /var/log/nginx/access.log --log-format=COMBINED
ここでは、Nginxウェブサーバーのaccess.logファイルを監視しています
明らかに、ダッシュボードは、Apacheログを監視するときに持っていたものと非常に似ています
Webダッシュボードに出力されたログを表示する
図のように出力をhtmlファイルにリダイレクトすることで、Webサーバーのログをエレガントで直感的なダッシュボードにレンダリングすることもできます。これが、出力ファイルをreports.htmlとして指定したものです。
$ goaccess -f /var/log/apache2/access.log --log-format=COMBINED > reports.html
次に、Webブラウザーを開き、ファイルの場所を参照します。これにより、図のように美しいダッシュボードにログがすぐに表示されます。
概要
GoAccessは、WebサーバーとWebサイトの訪問者との相互作用に関する多くの洞察を提供する便利なツールです。訪問者のサイトとのやり取りに関する豊富な詳細情報を取得できるため、より多くのユーザーにリーチし、ユーザーエクスペリエンスを向上させるのに役立ちます。