GoAccessを使用したWebサーバーのログ分析

画像

少し前に、Webサーバーのログを分析してレポートを作成できるGoAccessユーティリティに出会いました。 このユーティリティはCで記述されており、ほぼすべてのLinuxディストリビューションリポジトリで利用できます。 プロジェクト住所



この記事は革新的なものではなく、短いHOWTOであり、そのほとんどはドキュメントにあります。



そして順番に:



1.インストール



yum install goaccess
      
      







2.セットアップ



/etc/goaccess.confファイルで、nginxログを分析するための行のコメントを解除します。



 time-format %H:%M:%S date-format %d/%b/%Y log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
      
      







3.ログ分析



分析の結果は、コンソール(インタラクティブ)モードとレポート形式の2つのモードで取得できます。 このプログラムは、html、json、csvなどのいくつかのタイプのレポートをサポートしています



現在のログを分析するためにプログラムを起動する最も単純なケース:



 goaccess -a -f <log_file>
      
      







この場合、現在のログの分析を次の形式で取得します。

画像

TABを使用してパラメーターをナビゲートできます。



Webレポートは次のようになります。

画像



次に、ログ全体ではなく、特定の部分のみを分析する必要がある場合を考えてみましょう。



1.過去2時間のログ分析:



 sed -n '/'$(date '+%H:%M:%S' -d '2 hours ago')'/, $ p' <log_file> | goaccess -a
      
      







2.過去2日間の分析:



 sed -n '/'$(date '+%d/%b/%Y' -d '2 day ago')'/, $ p' <log_file> | goaccess -a
      
      







3.特定の日付の分析:



 sed -n '/18\/Jan\/2016/,/19\/Jan\/2016/ p' <log_file> | goaccess -a
      
      







4. htmlレポートの取得:



 goaccess -a -f <log_file> > report.html
      
      







投稿者: Magvai69システム管理者



All Articles