Apache で稼働している古いサーバの機能の使用状況をアクセスログから確認したかった。
20年ほど前は、 Analog とか Webalizer 等のツールでアクセスログ解析ができた。今の時代はどうなのか調べて見た所、GoAccess というのがあった。
apt でインストールできてターミナルでも動く。HTML での出力もできて、用途と合っていた。
サービスは kubernetes で動いているので、ログを Mac にコピーする。
podname=$(kubectl -n my-namespace \
get pod -l app=my-app-name \
-o jsonpath="{.items[0].metadata.name}")
kubectl -n my-namespace cp \
${podname}:/var/log/apache2/access.log \
${HOME}/Downloads/my-service-access.log
そして、GoAccess を Docker で起動し、HTML を作る。
cat ${HOME}/Downloads/my-service-access.log | \
docker run --rm -i -e LANG=$LANG allinurl/goaccess \
-a -o html --log-format COMBINED - > report.html
手軽でとても良い。
コメント