最近、お買い得品を「欲しがって」サーバーを Alibaba Cloud International Edition 香港 VPS ホストに変更しました。ここに引っ越した後の最大の感想は、速度の向上ではありません。元々使用していた韓国の kdatacenter VPS も通信ネットワーク上でアクセスすると非常に高速なので、Alibaba Cloud VPS ホストのパフォーマンスは、同様の他の VPS ホストと比較して非常に優れています。 1GBだとちょっと弱いですね。

Alibaba Cloud 香港 VPS のシステム負荷をスキャンするツールを使用しましたが、バックグラウンドで記事を書いているときにシステム負荷が上昇し続けることが時々ありました。サーバーログを開くと、ポートスキャン、SQLインジェクション、Webサイトのバックアップファイルの「欠落」、ABストレステストなど、異常なIPが多数見つかりました...つまり、人間のアクセス動作が異常でした。

ログ内の IP の動作を分析するのは骨の折れる仕事で、特にログが数百 MB を超える場合は、ログをテキスト ファイルとして開くと非常に時間がかかります。この記事では、ngxtop と GoAccess という 2 つの優れたサーバー ログ分析ツールを紹介します。 ngxtop は、Nginx ログ ファイルを分析し、top コマンドと同様のインターフェイスを使用してリアルタイムで表示します。

ngxtop は、以前のログ ファイルを分析でき、サーバー ログをリアルタイムで監視することもできます。ログ内で最もアクセスされた IP アドレス、403/500/404 エラー、リクエストされたページ ランキングなどを、ポート内で使用するのと同じようにすぐに見つけることができます。トップコマンド。 ngxtop は軽量のツールですが、GoAccess は強力なログ統計ツールに似ています。

GoAccess は、グラフィックスとテキストが豊富なだけでなく、ログ レコードの解析速度が 8 W/秒と高速であり、WebSocket は 10 秒ごとに統計を更新します。 GoAccess にはコマンド ライン インターフェイスがあるだけでなく、HTML Web ページを生成することもできるため、ログ内の訪問者数、要求されたファイル、404 およびその他のエラー、ユーザーの場所、ブラウザー、オペレーティング システム、ソース URL、 HTTPステータスコードなど。

サーバー ログ分析ツール: ngxtop および GoAccess - 例外の原因を迅速に見つけるためのリアルタイム監視と視覚的管理

つまり、ngxtop と GoAccess は、Apache や Nginx などのサーバー ログを分析するための 2 つの強力なツールです。これら 2 つのソフトウェアを習得すると、サーバーの「潜在的に」危険な IP を明らかにすることができます。ウェブマスターとして、もう 1 つのソフトウェアの使用方法を学ぶことは、次のような別のサーバー費用を節約できることを意味します。

  1. Huginn を使用して、あらゆる Web サイトから RSS および WeChat パブリック アカウントの更新を取得 - ワンストップの情報読み取りプラットフォームを作成
  2. Linux VPS は Google Drive と Dropbox をマウントし、VPS ホストデータの同期とバックアップを実現します
  3. VPS サーバーの信頼性の検出に役立つ 3 つの無料ツール - VPS ホストのパフォーマンスと速度のテスト方法

追記: 2017 年 10 月 21 日更新、 Alibaba Cloud 香港 VPS の使用に興味のある友人は、最初に私のレビューを読んでください: Alibaba Cloud 国際版香港コンピュータ ルームの速度とパフォーマンスの評価 - 高速ですがディスクIO とメモリ それがボトルネックです。 VPS サーバー ネットワークの安定性も監視したい場合は、次のツールを使用できます。 Smokeping のインストールと構成 - 視覚的なマスター/スレーブ展開用の無料のオープンソース ネットワーク パフォーマンス監視ツールです。

1. ngxtopのインストールと使い方

1.1  ngxtop のインストール

プロジェクトのホームページ:

  1. HTTPS://GitHub.com/Lebinhong/あの小さなトップ

ngxtop は Nginx サーバーのログに適しています。 ngxtop は次のコマンドでインストールできます。

Fedora:yum install python-pip
CentOS/RHEL需先安装EPEL,安装完后:yum install python-pip
Debian/Ubuntu:apt-get install python-pip

pip install ngxtop

または、ソースから直接インストールすることもできます。

wget https://github.com/lebinh/ngxtop/archive/master.zip -O ngxtop-master.zip
unzip ngxtop-master.zip
cd ngxtop-master
python setup.py install

1.2  ngxtop の使用法

ngxtop の基本的な使い方は次のとおりです。

gxtop [选项]
ngxtop [选项] (print|top|avg|sum) <变量>
ngxtop info

オプションには次のパラメータがあります。

-l : ログファイルのフルパスを指定します(NginxまたはApache2)

-f : ログ形式

–no-follow: ログ ファイルに新しく追加されたログをリアルタイムで処理するのではなく、現在書き込まれているログ ファイルを処理します。

-t : 更新頻度

-n: 行番号を表示します。

-o : ソートルール (デフォルトはアクセス数)

-a …、-a …: 式 (通常、sum、avg、min、max などの集計式) を出力に追加します。

-v: 詳細情報を出力する

-i: ルールに一致するレコードのみを処理します

-c <file> または –config <file> は、nginx 構成ファイルを指定し、ログ形式を自動的に分析します。

-i <filter-expression> または –filter <filter-expression> 式を満たすフィルターが処理されます

-p <filter-expression> または –pre-filter <filter-expression> 事前解析フェーズでチェックするフィルター内の式。

ngxtop の変数は、remote_addr、remote_user、time_local、request、request_path、status、body_bytes_sent、http_referer、http_user_agent です。主にIPアドレス、リクエストパス、HTTPステータス、リファラー、user_agentなどの分析に使用されます。

1.3  ngxtop の例

ngxtop info を使用すると、ローカル サーバーのログ アドレスと構成ファイルのパスを表示できます。ただし、表示できるのは一部のデフォルトのログ ファイルのみで、一部のカスタマイズされたログ ファイルは表示されません。

404 エラーの上位 10 件のリクエスト URL を見つけます。 コマンドコード:

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --no-follow top request_path --filter 'status == 404'

効果は次のとおりです。

最もアクセス数の多い IP アドレスの上位 10 位を見つけます。 コマンドコード:

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --no-follow --group-by remote_addr

効果は次のとおりです。

トラフィックの上位 10 位の IP アドレスを見つけます。 コマンドコード:

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --no-follow --order-by 'avg(bytes_sent) * count'

400 を超えるエラー コードを見つけて、リクエスト、ステータス、http_referer を表示します。 コマンドコード:

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --no-follow -i 'status >= 400' print request status http_referer

ステータス コード 200 と wzfou で始まる request_path の上位 10 件の平均 bytes_sent 値を見つけます。 コマンドコード:

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --no-follow avg bytes_sent --filter 'status == 200 and request_path.startswith("wzfou")'

上記のコマンドを使用すると、基本的に、一部の異常なリクエストの IP アドレスをすぐにロックできます。デフォルトでは、ngxtop は最初の 10 レコードを表示します。パラメーター –n xxx を追加して、表示される数を制御できます。コマンドは次のとおりです。

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --no-follow --group-by remote_addr -n 20

ngxtop はサーバー ログの監視を実装します。 Nginx ログ監視をリアルタイムで表示するには、-no-follow パラメーターのみが必要です。コマンドは次のとおりです。

ngxtop -l /data/wwwlogs/wzfou.com_nginx.log --group-by remote_addr

効果は次のとおりです。

2. GoAccessのインストールと使用

2.1  GoAccess のインストール

GoAccess公式ウェブサイト:

  1. HTTPS://go access.IO/

GoAccess は、Apache、Nginx、Amazon S3、Elastic Load Balancing、CloudFront などのサーバー ログの分析をサポートしています。インストールコマンドは以下のとおりです。

apt-get install libncursesw5-dev libgeoip-dev
wget http://tar.goaccess.io/goaccess-1.2.tar.gz
tar -xzvf goaccess-1.2.tar.gz
cd goaccess-1.2/
./configure --enable-utf8 --enable-geoip=legacy
make
make install

独自のニーズに応じて、GoAccess のインストール時に構成オプションを調整できます。次のように:

--enable-debug デバッグ フラグを使用してコンパイルし、コンパイラの最適化をオフにします。
--enable-utf8 ワイド文字のサポート。 Ncursesw モジュールに依存します。
--enable-geoip=<legacy|mmdb> 地理位置情報のサポート。 MaxMind GeoIP モジュールに依存します。レガシーでは、元の GeoIP データベースが使用されます。 mmdb は拡張された GeoIP2 データベースを使用します。
--enable-tcb=<memhash|btree> Tokyo Cabinet ストレージのサポート。 memhash は Tokyo Cabinet のインメモリ ハッシュ データベースを使用します。 btree は、東京キャビネットのディスク上の B+Tree データベースを使用します。
–disable-zlib B+Tree データベースでの zlib 圧縮の使用を無効にします。
--disable-bzip B+Tree データベースでの bzip2 圧縮の使用を無効にします。
--with-getline により、 は全行リクエストを解析するために動的に拡張される行バッファを使用します。それ以外の場合は、固定サイズ (4096) バッファが使用されます。
--with-openssl GoAccess とその WebSocket サーバー間の通信を有効にして、OpenSSL をサポートします。

2.2  GoAccess の使用法

GoAccess の構文は次のとおりです。

goaccess [filename] [ options ... ] [-c][-M][-H][-q][-d][...]

一般的に使用されるパラメータは次のように説明されます。

-f –log-file=<ログファイル>

入力ログファイルへのパスを指定します。入力ファイルが設定ファイルで指定されている場合、その入力ファイルはコマンドラインで -f パラメータを介して指定されたファイルよりも優先されます。

-l –log-debug=<ファイル名>

すべてのデバッグ情報を指定されたファイルに送信します。構成オプションを指定する必要があります --enable-debug

-p –config-file=<構成ファイル>

カスタム構成ファイルを使用するように指定します。このパラメータが設定されている場合、その優先順位はグローバル設定ファイル (存在する場合) よりも高くなります。

–invalid-requests=<ファイル名>

無効なリクエストを指定されたファイルに記録します。

--no-global-config

グローバル設定ファイルのロードを無効にします。 ./configure の実行時に指定されていない限り、使用可能なディレクトリは /usr/etc//etc/、または /usr/local/etc/ である必要があります。 --sysconfdir=/dir

-a –エージェントリスト

UserAgent リストを開きます。オンにすると、解析速度が低下します。

-d –出力リゾルバー付き

HTML または JSON レポートを出力するときに IP 解決を有効にします。

-e –exclude-ip <IP|IP 範囲>

IPv4 または IPv6 アドレスを除外します。 コネクタを使用して IP セグメント (開始-終了) を表します。

-H –http-protocol=<はい|いいえ>

HTTPリクエストプロトコルスイッチ。リクエスト プロトコルと実際のリクエストを含むリクエスト フィールドが作成されます。

-M –http-method=<はい|いいえ>

HTTPリクエストメソッドの切り替え。リクエスト メソッドと実際のリクエストを含むリクエスト フィールドが作成されます。

-o –output=<json|csv>

出力形式を決定するサフィックスを使用して、指定されたファイルを標準出力にリダイレクトします。

-q –クエリ文字列なし

要求されたクエリ文字列を無視します。つまり: www.google.com/page.htm?query => www.google.com/page.htm
注: クエリ文字列を削除すると、特にタイムスタンプ リクエストの場合にメモリ消費量が大幅に削減されます。

-r –用語リゾルバーなし

端末出力中に IP 解決を無効にします。

–444-as-404

非標準ステータス 444 を 404 として扱います。

–4xx から一意のカウントまで

4xx クライアント エラーの数をユニーク ビジターの数に追加します。

–すべての静的ファイル

クエリ文字列を含む静的ファイルをカウントします。

–date-spec=<日付|時間>

日付の表示形式を設定します。1 つは標準の日付形式 (デフォルト)、もう 1 つは日付に時間を追加した形式です。
ゲスト パネルでのみ有効です。訪問者データを時間単位で分析するのに役立ちます。表示形式の例: 18/Dec/2010:19

--ダブルデコード

二重エンコードされた値をデコードします。 UserAgent、リクエスト、リファラーを含みます。

–enable-panel=<パネル>

指定したパネルを開きます。パネルリスト:

–hour-spec=<時間|分>

時刻の表示形式を標準時刻形式(デフォルト)と時刻に分を付加した形式(10分ごと)を設定します。
は時間配分パネルに使用されます。特定の期間におけるトラフィックの急増を分析するのに役立ちます。

–ignore-クローラー

クローラーを無視します。

–ignore-panel=<パネル>

指定されたパネルを無視します。パネルリスト:

–ignore-referer=<リファラー>

統計情報のソースは無視してください。ワイルドカードがサポートされています。例: *.domain.com ww?.domain.*

–ignore-status=<ステータス>

解析を無視するか、1 つ以上のステータス コードを表示します。ステータス コードが複数ある場合は、このパラメータを使用して一度に 1 つずつ指定します。

–num-tests=<数値>

テスト行数を設定します。つまり、指定されたログ/日付/時刻形式を使用してアクセス ログをテストします。デフォルト値は 10 行です。 0 に設定すると、パーサーはテストを行わず、ファイル全体を直接解析します。 number に達する前に行が指定されたログ/日付/時刻の形式に一致する場合、パーサーはログ ファイルが有効であるとみなします。それ以外の場合、GoAccess は EXIT_FAILURE を返し、関連するエラー メッセージを表示します。

–処理して終了

ログを解析し、終了時にデータを出力しません。主にレポートを出力せずにディスクデータベースにデータを追加するだけの場合に使用します。

–real-os

実際のオペレーティング システム名を表示します。例: Windows XP、Snow Leopard。

–sort-panel=<パネル、フィールド、順序>

S は、初期ロード中にパネルをソートします。並べ替えオプションをカンマで区切ります。オプションでは、PANEL、METRIC、ORDER の形式を使用します。

--static-file <拡張子>

静的ファイルの接尾辞を追加します。例: .mp3。 サフィックス名では大文字と小文字が区別されます。

-g –std-geoip

標準の GeoIP データベース、メモリ使用量が少ない。

–geoip-database <地理ファイル>

GeoIP データベースのパスを設定します。例: GeoLiteCity.dat。 maxmind.com からローカルにダウンロードする必要があります。サポートは IPv4 と IPv6 の両方で利用できます。注: --geoip-city-data は、--geoip-database のエイリアスです。
注: GeoIP2 を使用する場合は、MaxMind から都市/国のデータベースをダウンロードし、--geoip-database 経由で設定する必要があります。

GoAccess ログ形式。 GoAccess には、サーバー ログ形式の設定に使用されるパラメータもあります: –log-format <logformat>。 パラメータ log-format の後には、ログ文字列形式の指定に使用されるスペース文字またはタブ区切り文字 (t) が続きます。

以下の表の 定義済みログ形式名 を使用している場合は、GoAccess のログ/日付/時刻形式の変数として直接使用できます。

COMBINED     | 联合日志格式
VCOMBINED    | 支持虚拟主机的联合日志格式
COMMON       | 通用日志格式
VCOMMON      | 支持虚拟主机的通用日志格式
W3C          | W3C 扩展日志格式
SQUID        | Native Squid 日志格式
CLOUDFRONT   | 亚马逊 CloudFront Web 分布式系统
CLOUDSTORAGE | 谷歌云存储
AWSELB       | 亚马逊弹性负载均衡
AWSS3        | 亚马逊简单存储服务 (S3)

2.3  ログ形式の設定方法

まず、log_format ディレクティブが次のとおりであることを確認してください。

構文: log_format 名文字列 …;
デフォルト値: log_format 結合 "…";
設定セクション: http

name は形式名を表し、string は同等の形式を表します。 log_format には、設定する必要のないデフォルトの結合ログ形式があります。これは、以下に示すように、Apache の結合ログ形式と同等です。

log_format  combined  '$remote_addr - $remote_user  [$time_local]  '
                                   ' "$request"  $status  $body_bytes_sent  '
                                   ' "$http_referer"  "$http_user_agent" ';

もちろん、独自のニーズに応じて、サーバー ログが取得する必要がある情報を追加することもできます。ログ形式では次の変数が許可されます。

remote_addr, $http_x_forwarded_for 记录客户端IP地址
remote_user 记录客户端用户名称
request 记录请求的URL和HTTP协议
status 记录请求状态
body_bytes_sent 发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config里的“%B”参数兼容。
bytes_sent 发送给客户端的总字节数。
connection 连接的序列号。
connection_requests 当前通过一个连接获得的请求数量。
msec 日志写入时间。单位为秒,精度是毫秒。
pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。
http_referer 记录从哪个页面链接访问过来的
http_user_agent 记录客户端浏览器相关信息
request_length 请求的长度(包括请求行,请求头和请求正文)。
request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
time_iso8601 ISO8601标准格式下的本地时间。
time_local 通用日志格式下的本地时间。

以下は、log_format 設定の例です。

http {
 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                                        '"$status" $body_bytes_sent "$http_referer" '
                                        '"$http_user_agent" "$http_x_forwarded_for" '
                                        '"$gzip_ratio" $request_time $bytes_sent $request_length';
 
 log_format srcache_log '$remote_addr - $remote_user [$time_local] "$request" '
                                '"$status" $body_bytes_sent $request_time $bytes_sent $request_length '
                                '[$upstream_response_time] [$srcache_fetch_status] [$srcache_store_status] [$srcache_expire]';
 
 open_log_file_cache max=1000 inactive=60s;
 
 server {
 server_name ~^(www.)?(.+)$;
 access_log logs/$2-access.log main;
 error_log logs/$2-error.log;
 
 location /srcache {
 access_log logs/access-srcache.log srcache_log;
 }
 }
}

これは、GoAccess ログ形式とサーバー ログ形式の対応です:

%t 匹配time-format格式的时间字段

%d 匹配date-format格式的日期字段

%h host(客户端ip地址,包括ipv4和ipv6)

%r 来自客户端的请求行

%m 请求的方法

%U URL路径

%H 请求协议

%s 服务器响应的状态码

%b 服务器返回的内容大小

%R HTTP请求头的referer字段

%u 用户代理的HTTP请求报头

%D 请求所花费的时间,单位微秒

%T 请求所花费的时间,单位秒

%^ 忽略这一字段

GoAccess ログの変更例:

log_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $http_x_forwarded_for $request_time $upstream_response_time';

GoAccess のデフォルト設定ファイル goaccess.conf は、/usr/local/etc パスに配置されます。デフォルトの形式は、log-format %h %^[%d: %t %^] "%r" %s %b "%R" "%u"。 上記のサーバー ログ形式を観察すると、応答時間 $request_time とアップストリーム応答時間 $upstream_response_time が増加していることがわかります。

次のように変更できます。

原来:log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
修改:log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^ %^ %T

最後の 3 つの要素 %^ %^ %T%^ は無視を意味し、 %T は「応答時間 (秒単位、ミリ秒まで正確)」を意味します。 GoAccessのフォーマットを変更することで、弊社サーバーログフォーマットに対応します。

2.4  GoAccess の例

サーバーが共通のログ形式、仮想ホストを含​​む共同ログ形式、W3C 形式、Amazon CloudFront (分散ダウンロード) などを使用している場合、ログ形式を変更する必要はなく、そのまま使用します。 LNMP と Oneinstack はどちらも COMBINED 形式を使用します。

GoAccess はターミナルのログ コマンドを分析します。

goaccess -d -f /data/wwwlogs/wzfou.com_nginx.log --log-format=COMBINED

上記のコマンドでは、-f は分析するログ /path/to/log を指定します。-log-format ログ形式、LNMP のデフォルト形式は COMBINED です。実行後の効果は以下の通りです。

操作ホットキーは次のとおりです。

F1 または h のメイン ヘルプ ページ。

F5メインウィンドウを再描画します。

qプログラム、現在のウィンドウ、またはクラッシュしたモジュールを終了します。

o または ENTER は、選択したモジュールを展開するか、ウィンドウを開きます。

0-9 および Shift + 0 は、選択したモジュールをアクティブにします。

j展開されたモジュールを下にスクロールします。

k展開されたモジュールを上にスクロールします。

c配色を設定または変更します。

^ f現在のモジュールで 1 画面前にスクロールします。

^ b現在のモジュールで 1 画面後方にスクロールします。

TABモジュールを切り替えます (進む)。

SHIFT + TABモジュールを切り替えます (逆方向)。

s アクティブなモジュールのオプションを並べ替えます。

/ はすべてのモジュールを検索します (正規表現をサポートします)。

n次にイベントが発生する場所を見つけます。

g最初のオプションまたは画面の上部に移動します。

G最後のオプションまたは画面の一番下に移動します。

最もアクセス数の多い IP アドレスの上位 10 件を表示するには、数字キー 5 を押してモジュールの詳細を開きます。以下に示すように:

他のいくつかのデジタル対応モジュールは次のとおりです。

「1 日あたりの訪問数」を目標にするには 1 を押してください

2 を押して「最もリクエストされた URL」に移動します

3 を押して「最もリクエストされた静的ファイル」に移動します

4 を押して「最もリクエストされた 404」に移動します

5 を押して「最もリクエストされたユーザー IP」に移動します

6 を押して「ユーザーのオペレーティング システム」に移動します。

7 を押して「ユーザーのブラウザ」に移動します

8 を押して時間ごとの統計に移動します

GoAccess の出力。 コマンドは次のとおりです。

HTML レポートを生成します。

# goaccess access.log -a -o report.html

JSON レポートを生成します。

# goaccess access.log -a -d -o report.json

CSV ファイルを生成します。

# goaccess access.log --no-csv-summary -o report.csv

GGoAccess は非常に柔軟で、リアルタイムの解析とフィルタリングをサポートします。たとえば、リアルタイム ログを監視して問題を迅速に診断する必要があります。

# tail -f access.log | goaccess -

さらに良いことに、tail -f を使用して、grepawksed などのパターン マッチング ツールを操作することもできます。

# tail -f access.log | grep -i --line-buffered 'firefox' | goaccess --log-format=COMBINED -

または、パイプを開いた状態でファイルを最初から解析し、同時にフィルターを適用することもできます。

# tail -f -n +0 access.log | grep --line-buffered 'Firefox' | goaccess -o out.html --real-time-html -

例えば:

GoAccess を HTML に出力し、ブラウザでアクセスします。

goaccess -d -f /data/wwwlogs/wzfou.com_nginx.log --log-format=COMBINED -a > /data/wwwroot/howsvps.com/wzfou.html

ブラウザでアクセスした場合の効果は次のとおりです (クリックして拡大)。

GoAccess によって出力されるチャートは非常に美しく、チャート内で詳細なオプションを表示することもできます。詳細については、公式 Web サイトのデモを確認することもできます: https://rt.goaccess.io/

GoAccess を Html に出力し、リアルタイムで更新するコマンドは次のとおりです。

goaccess -d -f /data/wwwlogs/howsvps.com_nginx.log --log-format=COMBINED -a > /data/wwwroot/howsvps.com/wzfou.html --real-time-html --port=9870 --daemonize

上記は、デーモンが GoAccess を開始した後、Websocket を使用して、デフォルトでポート 7890 をリッスンすることを示しています。--port パラメーターを使用してポート番号を指定できます。

ポート番号を指定したら、VPS ファイアウォールでポート番号を開くことを忘れないでください。

iptables -A INPUT -p tcp -m tcp --dport 9870 -j ACCEPT

3. まとめ

ngxtop は単純な検索ニーズに適していますが、GoAccess は全体的な分析に焦点を当てており、統計としても使用できます。 Web サイトで SSL を使用している場合、GoAccess がリアルタイム監視用の HTML ページを出力するときに、設定ファイル goaccess.conf キーで ssl-certssl- を忘れずに設定してください。 アイテム。

もちろん、crontab を使用して、GoAccess に定期的に統計 HTML ページを生成するよう依頼することもできます。これは、サーバー ログのリアルタイム オンライン監視と同等です。コードは次のとおりです (5 分ごとに HtmL ページを生成します)。

*/5 * * * * goaccess -d -f /data/wwwlogs/wzfou.com_nginx.log --log-format=COMBINED -a > /data/wwwroot/wzfou.com/wzfou.html

GoAccess ログ形式の設定方法がわからない場合は、オンライン変換ツール : https://github.com/stockrt/nginx2goaccess を直接使用できます。注文:

用法: ./nginx2goaccess.sh '<log_format>'

./nginx2goaccess.sh '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'

出力結果は、GoAccess ログ形式設定で直接使用できます。

- Generated goaccess config:

time-format %T
date-format %d/%b/%Y
log_format %h - %^ [%d:%t %^] "%r" %s %b "%R" "%u"

返信を残す