はじめに
GoAccess はオープンソースのリアルタイムウェブログアナライザーです 端末で実行されるインタラクティブなビューア *nixシステムまたはブラウザを介して 。
高速を提供します ビジュアルサーバーレポートをその場で必要とするシステム管理者向けの貴重なHTTP統計。
GoAccessは、高速の端末ベースのログアナライザーとして設計されました。その中心的なアイデアは、Webサーバーの統計をリアルタイムですばやく分析して表示することです。 ブラウザを使用せずに( SSH経由でアクセスログをすばやく分析したい場合、または単にターミナルでの作業が好きな場合に最適 。
ターミナル出力はデフォルトの出力ですが、完全な自己完結型のリアルタイムを生成する機能があります。 HTMLレポート(分析、監視、データの視覚化に最適 )、JSON、CSVレポート。
インストール
GoAccessのインストールは非常に簡単です。ダウンロード、抽出、コンパイルするだけです
最も一般的なさまざまなLinuxディストリビューションにインストールする方法を説明します。
RHEL /CentOS8にGoAccessをインストールする
方法1:
goaccessサイトから構築
次の手順に従い、以下のコマンドを実行して、インストールを開始します。
まず、epelリポジトリをインストールしてシステムパッケージを更新する必要があります。
dnf -y install epel-release
dnf -y update
shutdown -r now
GoAccessはCプログラミング言語で書かれています。したがって、必要な依存関係は ncursesのみです。 ライブラリとgcc 。 ncursesをインストールするには およびgcc 、実行:
dnf -y install ncurses-devel gcc
次のコマンドを実行して、オプションのパッケージをインストールします:
dnf -y install geoip-devel tokyocabinet-devel
autoconfなどのビルドツールをインストールする必要がある場合もあります およびgettext
dnf install -y autoconf gettext
次のコマンドでgoaccesstarballをダウンロードします:
[root@unixcop ~]# wget https://tar.goaccess.io/goaccess-1.5.1.tar.gz
--2021-09-14 09:43:47-- https://tar.goaccess.io/goaccess-1.5.1.tar.gz
Resolving tar.goaccess.io (tar.goaccess.io)... 67.205.130.138
Connecting to tar.goaccess.io (tar.goaccess.io)|67.205.130.138|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 642860 (628K) [application/x-gzip]
Saving to: 'goaccess-1.5.1.tar.gz'
goaccess-1.5.1.tar.gz 100%[=======================================================================>] 627.79K 395KB/s in 1.6s
2021-09-14 09:43:51 (395 KB/s) - 'goaccess-1.5.1.tar.gz' saved [642860/642860]
[root@unixcop ~]#
次に、以下のコマンドを使用して抽出およびコンパイルします。
[root@unixcop ]# tar -xzvf goaccess-1.5.1.tar.gz
[root@unixcop ]# cd goaccess-1.5.1/
[root@unixcop goaccess-1.5.1]# ./configure --enable-utf8
[root@unixcop goaccess-1.5.1]# make
[root@unixcop goaccess-1.5.1]# make install
方法2:
GitHubからビルド(開発)
以下のコマンドを実行して、GitHubからインストールを開始します:
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fi
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
$ make install
他のディストリビューションにGoAccessをインストールする
Fedora
# yum install goaccess
Arch Linux
# pacman -S goaccess
ゲントゥー
# emerge net-analyzer/goaccess
OSX/自作
# brew install goaccess
FreeBSD
# pkg install sysutils/goaccess
OpenBSD
# pkg_add goaccess
OpenSUSE
# zypper ar -f obs://server:http http
# zypper in goaccess
pkgsrc(NetBSD、Solaris、SmartOS)
# pkgin install goaccess
Slackware
# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz
# cd goaccess/
# GEOIP=yes ./goaccess.SlackBuild
ターミナルからGoAccessを使用する方法
使用しているオペレーティングシステムとWebサーバーに基づいてログファイルを選択します。 Debianベースのシステムでは、ログは / var / log / apache2の下に生成されます ディレクトリとRedhatベースのシステムApacheは、 / var / log / httpdの下にログを作成します ディレクトリ。 -fオプションを使用して、goaccessコマンドでログファイルを定義します。
goaccess -f /var/log/httpd/access_log
次に、ログ形式を選択します。
注 :デフォルトのApacheログ形式はCOMBINEDです。
GoAccessでは、 –log-formatを使用してログ形式を定義することもできます。 コマンドオプション。たとえば、COMBINEDログ形式を使用するには、コマンドは次のようになります。
goaccess /var/log/httpd/access_log --log-format=COMBINED
以下のような出力がシステムコンソールに表示されます。
ログにリクエストがないことに気付くかもしれません
いくつかのリクエストをしましょう。
システムコンソールのgoaccessの出力は、次のように変更する必要があります。
下にスクロールすると、以下に示すように、Webページを要求するオペレーティングシステムとブラウザに関する情報が表示されます。
「q」を押すと、GoAccessターミナルビューアを終了できます。
WebダッシュボードでのGoAccess出力の表示
GoAccessを使用すると、ユーザーはHTML、JSON、CSVなどのさまざまな形式でレポートを生成できます。次のコマンドを使用してhtmlファイルにレポートを生成できます。
[root@unixcop ~]# goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
[PARSING /var/log/httpd/access_log] {0} @ {0/s}
[root@unixcop ~]#
- -a –ホストごとのユーザーエージェントのリストを有効にする
- -o –出力ファイルの定義に使用されます
- 出力形式は、出力ファイル名拡張子に基づいて自動的に選択されます
次に、以下に示すように、サーバーのIPアドレスまたはドメイン名を使用してreport.htmlにアクセスします。
crondサービスを使用してWebダッシュボードファイルを更新する
goaccessコマンドをスケジュールしてhtmlレポートを更新できます。
シェルスクリプトを作成するだけです
vim /mnt/goaccess.sh
次に、次を追加します:
!/bin/bash
goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
次に、上記のスクリプトをcrontabでスケジュールします。
crontab -e
次のコンテンツをファイルの終わりに追加します
#Cron job to update Goaccess HTML repot
* * * * * /mnt/goaccess.sh
結論
このガイドでは、 GoAccessをインストールして使用する方法について説明しました。 Webサーバーのログを視覚的な形式で表示します。