1. 概要
nginxのアクセスログから何かわからないか?という状況になった。
nginxをよく知らない。というか運用という意味ではapacheを含めてhttpサーバーをよく分かってない。
世の中にはサーバーのアクセス解析を行う素晴らしいツールはいくらでもあるだろう。
何か作るようなことは考えず色々探してみたところ、GoAccessというツールが出てきた。
この記事の対象はWebサーバーの開発、運用もよく知らないのに色々やることになりそうな(なった)人。
2. 環境
解析をするのはWebサーバーとは別のローカルなPCとする(とりあえず)
- Ubuntu 20.04 のPC(VMでも可)
- テスト用のアクセスログ
3. GoAccessのインストール
GoAccessの公式
https://goaccess.io/
3.1. aptでインストール
$ sudo apt install -y goaccess
$ goaccess --v
インストール済み&バージョン確認
GoAccess - 1.3.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana
Build configure arguments:
--enable-geoip=mmdb
--enable-tcb=btree
公式をみると最新よりはバージョンが古いらしい。
解析したいaccess.logを以下のようにすると見栄えのいいWeb表示にしてくれた。
goaccess access.log -o a.html --log-format=COMBINED
せっかくなので最新版を使いたいので、以下でアンインストール。
sudo apt remove goaccess
3.1. ビルドしてインストール
GoAccess 公式サイトの手順は以下だが、エラーが出たので追加インストールは必要。
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fi
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install
configureとmakeでエラーが出るので以下をインストールしておく
- autoreconf -fiでコマンドがないと言われた。 => autoconfとautopoint
- --enable-geoip=mmdbの部分でもエラーが出る。=> libmaxminddb-dev
- 「mv: 't-de.gmo' を stat できません: そのようなファイルやディレクトリはありません」 => gettext
$ sudo apt install autoconf
$ sudo apt install autopoint
$ sudo apt install libmaxminddb-dev
$ sudo apt install gettext
$ goaccess --v
GoAccess - 1.6.5.
For more details visit: https://goaccess.io/
Copyright (C) 2009-2022 by Gerardo Orellana
Build configure arguments:
--enable-utf8
--enable-geoip=mmdb
ちなみに1.3のargumentsにあった「--enable-tcb=btree」を付けたら、そんなのはないと怒られた。
当然、1.3のときと同じコマンドが使用できる。
goaccess access.log -o a.html --log-format=COMBINED
4. 結論
Ubuntu 20.04でも比較的容易に最新版GoAccessを試すことができる。
以上