Compile Goaccess on Msys2

この WEB サイトは AWS CloudFront+S3 を使ってホスティングしています。

CloudFront でログを ON にすると、指定した S3 バケットにアクセスログが保存されます。

このアクセスログを解析するのに役立つのが goaccess です。

ただ、msys2 のパッケージには無いようです。Docker や WSL を使えばよいのではありますが・・・

msys2 では以下のようにすると goaccess をコンパイルできました。基本的には、 GoAccess Downloads に書かれている内容と同様です。

  1. Download ページ https://goaccess.io/download からソースコードをダウンロードする。(記事作成時は goaccess-1.9.4.tar.gz) ダウンロードした tar.gz を展開しておく。
  2. src/win/mmap.c 3行目の #ifdef _WIN32 と対応する 5 行目の #endif をコメントアウトするか、削除する。
  3. ./configure --enable-utf8
  4. make
  5. make install

これで /usr/bin に goaccess.exe がインストールされます。私は以下のようなスクリプトを作っています。

#!/bin/sh
tf=$(mktemp --suffix .html)
find . -name "$1" -type f -print0 | xargs -0 gunzip -c | env LANG=C goaccess --log-format=CLOUDFRONT -o $tf --ignore-crawlers
start $tf

このスクリプトを、

$ cflog.sh '*2025-11-*'

のように実行して表示させています。

1969年生まれ。大学卒業後から15年以上にわたり、通信、カードリーダ、セキュリティ業界においてソフトウェア開発に従事。その後、2012年5月に当社を設立。電力、交通、車載向けの組み込み系システム、旅行業界向けの WEB システム開発、音声合成システム、消防向けのシステム開発等に参画。
低コストかつシンプルで安定稼働するシステムの実現を目指し、アーキテクチャ設計に取り組んでいます。
会社情報と代表者守屋のプロフィール詳細