Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GoAccessなどのログ解析ツールの導入 #36

Open
lobin-z0x50 opened this issue Jun 28, 2024 · 0 comments
Open

GoAccessなどのログ解析ツールの導入 #36

lobin-z0x50 opened this issue Jun 28, 2024 · 0 comments

Comments

@lobin-z0x50
Copy link
Member

lobin-z0x50 commented Jun 28, 2024

GoAccess

公式
https://gigazine.net/news/20200613-goaccess/
https://brandonrozek.com/blog/goaccess/
https://qiita.com/tetsuoMikami/items/5ec750558460b4c78098

利用イメージ

CUI案

/var/scripts/goaccess.sh
  • peco が起動して、ログファイルが一覧表示される
  • ログファイルを選択すると、そのログに対して goaccess を実行し、結果がCUIで表示される
  • ローテートされた圧縮ファイルの場合は、自動的に解凍して処理してくれる
  • goaccess で解析した結果ファイルは一定時間キャッシュされ、2回目に同じファイルを開こうとしたら瞬時に開いてくれる

ブラウザ案1(EzGate組み込み)

domain 'goaccess.example.com' {
  goaccess from: '10.0.0.1'  # 接続元IPを指定するイメージ
}

としておいて、そのドメインにアクセスするとログファイルが一覧表示されて、ファイルをクリックすると goaccess の Web版が起動する。
SSH接続不要。ただし from の部分を毎回セットしないといけないので、SSH接続は結局必要になりそう。
basic認証を導入すれば from を書かなくてもいいかも。

ブラウザ案2(EzGateとはポートを分ける)

local_goaccess_server port: 8099

としておいて、ポート番号を分けてしまう。Web画面を見る場合は、ローカルPCからSSHポートフォワードなどを使う。
よりセキュア。
SSH接続が必須だが、nologinでポートフォワードだけすればよいので、すこしセキュアで手軽。公開鍵認証にしておいて、専用sshコマンドさえ作っておけばいつでも接続できる。

別コンテナ案

上記を別コンテナで提供する。
ログファイルさえ見えれば goaccess を処理できるので、ログディレクトリを Docker volume やホストディレクトリで共有し、マウントさせればよい。
クラウド側に goaccess コンテナを起動して、ブラウザ案2の構成を使うのも考えられる。
またはローカルに goaccess クライアントコンテナを置いといて、以下のようにSSHでリモートのログを流し込む方法も考えられる。

ssh user@remote_server tail -f ~/ezgate/logs/access.log \
 | docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - > report.html

https://hub.docker.com/r/allinurl/goaccess
https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager
これなら何も導入しなくても使える。

ngxtop

公式GitHub
python製 CUIツール。
シンプルなので、とりあえずこれをインストールしておくのでもよい。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant