アクセス解析したい(goaccess)
$ goaccess --log-format COMMON ログファイル
$ goaccess --log-format COMMON ログファイル1 ログファイル2
$ goaccess --log-format COMMON ログファイル -o 出力ファイル名.html
goaccessは、ウェブサイトのアクセスログを解析できるコマンドです。
理屈はわからないのですが、めちゃくちゃ高速です。
インストールしたい(goaccess)
$ brew install goaccess
$ goaccess --version
GoAccess - 1.9.1.
ログ形式したい(--log-format)
$ goaccess --log-format COMMON ログファイル
$ goaccess --log-format COMBINED ログファイル
--log-formatでログで形式を指定できます。
ログファイルに適した形式を選択します。
ファイル出力したい(-o / --output)
$ goaccess --log-format COMMON ログファイル --output 出力ファイル名.csv
$ goaccess --log-format COMMON ログファイル --output 出力ファイル名.json
$ goaccess --log-format COMMON ログファイル --output 出力ファイル名.html
$ open 出力ファイル名.html
--output(-o)で、集計結果をファイルに出力できます。
ファイル名もしくは拡張子で出力形式を指定できます。
出力形式は[csv|json|html]が使えます。
ダッシュボードで確認したい場合はHTMLが便利です。 自身で可視化する場合はJSON形式が便利かもしれません。 (CSV形式はPandasで読み込むのがちょっと大変そうです)
ダイアログ設定(-c / --config-dialog)
$ goaccess -c ログファイル
$ goaccess -c ssl_access_log
$ goaccess -c access_log
--config-dialog(-c)で、ダイアログ形式でログフォーマットを選択できます。
ログ形式がわからない場合に有効です。
矢印キーでカーソルを移動し、SPCーで選択トグル、Enterで決定します。
ログファイルのフォーマットと一致していると、ログがパースされ、アクセス解析の結果が表示されます。
選択したフォーマットでない場合、エラーが表示されます。
qでダイアログを一度閉じたあと、別のフォーマットを選択できます。
圧縮ログを解析したい(gzcat)
$ gzcat access_log.gz | goaccess --log-format COMMON -o 出力ファイル名.html -
goaccessは、.gzで圧縮されたログファイルをそのまま読み込めません。
圧縮ファイルを眺めたい(zcat / zless)で紹介したgzcatで展開しつつ、パイプでgoaccessに渡します。
このとき、末尾に-を付けて標準入力から読み込むことを明示する必要があります。
-を省略すると、No input data was providedというエラーになります。