GoAccessは、ログをリアルタイムで分析するために使用される無料のオープンソースのウェブログアナライザツールです。 Webブラウザまたは端末を介してログを分析できます。高速で軽量で、CPUとメモリを大量に消費することはありません。 Common Log Formatを使用して、Webサーバーのログを解析および分析します。 HTTP / 2とIPv6をサポートし、JSONとCSVを出力する機能があります。
GoAccessは、トップビジター、帯域幅、参照サイトとURL、オペレーティングシステム、IPロケーション、逆引きDNS、ジオロケーション、HTTPステータスコードなど、システム管理者に非常に役立つ統計を提供します。
このチュートリアルでは、Ubuntu20.04にGoAccessをインストールして使用する方法を説明します。
- Ubuntu20.04を実行しているサーバー。
- ルートパスワードがサーバーに設定されます。
開始する前に、システムパッケージを最新バージョンに更新する必要があります。次のコマンドを使用して更新できます:
apt-get update -y
サーバーが更新されたら、次のステップに進むことができます。
UbuntuリポジトリからGoAccessをインストール
デフォルトでは、GoAccessはUbuntuのデフォルトリポジトリに含まれていません。そのため、GoAccessリポジトリをシステムに追加する必要があります。
まず、次のコマンドを使用してGPGキーをダウンロードして追加します。
wget -O - https://deb.goaccess.io/gnugpg.key | apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
次に、次のコマンドを使用してGoAccessリポジトリを追加します。
echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | tee -a /etc/apt/sources.list.d/goaccess.list
リポジトリが追加されたら、リポジトリキャッシュを更新し、次のコマンドを使用してGoAccessをインストールします。
apt-get update -y
apt-get install goaccess -y
これにより、GoAccessがシステムにインストールされます。
ソースからコンパイルしてGoAccessをインストールすることもできます。まず、次のコマンドを使用して、必要な依存関係をインストールする必要があります。
apt-get install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential -y
すべての依存関係がインストールされたら、次のコマンドを使用してGoAccessソースをダウンロードします。
wget http://tar.goaccess.io/goaccess-1.4.tar.gz
ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。
tar -xzvf goaccess-1.4.tar.gz
次に、ディレクトリを抽出ディレクトリに変更し、次のコマンドを使用してGoAccessを構成します。
cd goaccess-1.4/
./configure --enable-utf8 --enable-geoip=legacy
次の出力が得られるはずです:
Your build configuration: Prefix : /usr/local Package : goaccess Version : 1.4 Compiler flags : -pthread Linker flags : -lnsl -lncursesw -lGeoIP -lpthread UTF-8 support : yes Dynamic buffer : no Geolocation : GeoIP Legacy Storage method : In-Memory with On-Disk Persitance Storage TLS/SSL : no Bugs : [email protected]
次に、次のコマンドを使用してGoAccessをシステムにインストールします。
make
make install
インストールが完了したら、次のコマンドを使用して、インストールされているGoAccessのバージョンを確認できます。
goaccess --version
次の出力が得られるはずです:
GoAccess - 1.4. For more details visit: http://goaccess.io Copyright (C) 2009-2020 by Gerardo Orellana Build configure arguments: --enable-utf8 --enable-geoip=legacy
次のコマンドを使用して、GoAccessのデフォルト構成ファイルを見つけることができます。
goaccess --dcf
次の出力が表示されます。
/usr/local/etc/goaccess/goaccess.conf
GoAccessダッシュボードを起動
ターミナルを開き、次のコマンドを使用してGoAccessダッシュボードを起動します。
goaccess /var/log/apache2/access.log --log-format=COMBINED
次の画面が表示されます。
次のキーボードショートカットを使用して、インターフェイスをナビゲートできます。
F5 : Used to refresh the dashboard. G : Used to move to the last item in the dashboard and use g to move to the top of the dashboard. j and k : Used to scroll up and down. s : Used to display the sort options for the active module. ? : Used to display help information. TAB : Used to move forward. q : Used to exit from the program.
次に、 1を押します 以下に示すように、ユニークな訪問者、帯域幅、および1日あたりの合計ヒット数を表示します。
2を押します 以下に示すように、Webサーバー上で最も要求の高い非静的ファイルを表示するには:
3を押します 以下に示すように、画像、CSS、JavaScriptなどの静的ファイルに関する情報を表示するには:
4を押します 以下に示すように、パスが見つからないURLを表示するには:
5を押します 以下に示すように、訪問者のホスト名とIPアドレスを表示します。
6を押します 以下に示すように、ホストが使用するオペレーティングシステムの情報を表示するには:
7を押します 以下に示すように、それぞれのユニークな訪問者の情報を表示するには:
8を押します 以下に示すように、ヒット数、ユニークビジター、および消費された帯域幅の時間情報を表示します。
HTMLレポートを生成する
GoAccessを使用すると、HTML、JSON、またはCSVレポートを生成し、Webブラウザーからアクセスすることもできます。
次のコマンドで生成できます:
goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html
次に、Webブラウザーを開き、URL http://your-server-ip/report.htmlを使用して生成されたレポートにアクセスします。 。
次のページが表示されます:
この投稿では、GoAccessをインストールして使用してApacheWebサーバーのログを分析する方法を学びました。このツールは、Nginx、Amazon S3、Elastic Load Balancing、CloudFrontにも使用できます。ご不明な点がございましたら、お気軽にお問い合わせください。