goaccess を用いて Apache のログを1 コマンドで HTML ファイル化する(Ubuntu 上)

Ubuntuでgoaccessを使用しApacheのアクセスログをHTMLレポートとして生成する。公式リポジトリからaptでインストールし、GPGキーは新しい方法で追加する。goaccess /var/log/apache2/access.log -o report.html --log-format=COMBINEDのようなコマンドを実行する。日本語表示には--lang=jaオプションを用いる。

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行う際は、 次のコマンドを実行する。

# パッケージリストの情報を更新する
sudo apt update
# インストール済みのパッケージを包括的に更新する (依存関係も考慮する)
sudo apt full-upgrade
# 変更をシステム全体に確実に反映させるためにシステムを再起動する
sudo shutdown -r now

goaccess のインストールと運用

Apacheのアクセスログは通常 /var/log/apache2/access.log に保存されており、このパスをGoAccessコマンドで直接指定して解析できる。

  1. goaccess のインストール
    # goaccess公式リポジトリのGPGキーをダウンロードし、/etc/apt/keyrings/goaccess.gpg に保存する
    # ディレクトリが存在しない場合は事前に作成する必要がある: sudo mkdir -p /etc/apt/keyrings/
    wget -O /etc/apt/keyrings/goaccess.gpg https://deb.goaccess.io/gnugpg.key
    
    # goaccess公式リポジトリ情報を /etc/apt/sources.list.d/goaccess.list に追加する (signed-byオプションでキーファイルを指定する)
    # lsb_release -sc はUbuntuのコードネームを出力する (例: noble for 24.04 LTS)
    echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/goaccess.gpg] http://deb.goaccess.io/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
    
    # パッケージリストを更新する
    sudo apt update
    
    # goaccessをインストールする
    sudo apt -y install goaccess
    
  2. Apache のログファイルから HTML ファイルの作成

    ログファイルからHTMLレポートを生成するには、次のコマンドを実行する。

    goaccess /var/log/apache2/access.log -o /home/www/log.html --log-format=COMBINED
    

    生成されるレポートを日本語で表示したい場合は、goaccessコマンドに --lang=ja オプションを追加する。

    出力先のディレクトリ(例: /home/www/)は事前に存在し、コマンド実行ユーザーに書き込み権限が必要である。

    生成されたHTMLファイルを、Webブラウザで表示して確認する。