1

GoAccessの例を実行しようとしています:

# goaccess -f access.log -o report.html --real-time-html

どちらかがあります

Parsing... [41] [0/s]

または端末に出力がありません。私は長い間待ちます。次に CTRL+C:

^CSIGINT caught!
Stopping WebSocket server...

たぶん、私は次のステップを逃しています:

「HTML レポートを出力し、ポート 7890 と localhost でリッスンするように WebSocket サーバーを設定するには。」

の「接続リセット」my.ip.address.here:7890

ログには他のWebページへの呼び出しのみが表示されているため、nginxはこれに関与していないと推測しています。

他に調査したい構成やログはありますか?

アップデート:

もう少し明確になり、ここまで来ました:

$ sudo goaccess -f /var/log/nginx/access.log.1 -o /usr/share/nginx/www/report.html \\
--real-time-html --ws-url=domain.com
Parsing... [84] [0/s]

できます:

telnet domain.com 7890
Trying 45.55.xxx.xxx...
Connected to domain.com.
Escape character is '^]'.

ブラウザーで: domain.com:7890/report.html は Connection Reset を返します。

誰かがこのパスが何を表しているのかを明確にしますか?

/usr/share/nginx/www/report.html

report.html実際に存在するはずで、パスはサーバーのシステム内の特定の場所にある必要がありますか?

4

4 に答える 4

3

GoAccess の Web サイトからの引用:

リアルタイム HTML レポートを生成するプロセスは、静的レポートを作成するプロセスと非常によく似ています。

静的レポートを生成し、出力 html ファイルを Web サーバーの www パブリック フォルダーに配置するだけです。追加のリアルタイム フラグをいくつか追加する必要があります。--real-time-html を使用する必要があります。

# goaccess -f access.log -o /usr/share/nginx/www/rt.goaccess.io/report.html --real-time-html --ws-url=host 

生成されたレポートをブラウザで開くと、レポートは --ws-url= で指定されたホストへの WebSocket 接続を確立しようとします。ホストは、GoAccess が実行され、ログを解析している場所を指す必要があることに注意してください。また、ホストが有効なホストであり、http が含まれていないことを確認してください。

--ws-url を使用しない場合、localhost への WebSocket 接続を確立しようとします。つまり、ローカル マシン (ブラウザーを実行しているマシンと同じマシン) で GoAccess を実行する必要があります。

man ページから、GoAccess はデフォルトでポート 7890 で実行されるようです。記載されているように--ws-url、アクセス ログがローカル マシン上にない限り、GoAccess WebSocket サーバーの場所を指定することをお勧めします。

于 2016-08-02T12:02:48.013 に答える