I'm trying to run a GoAccess example:
# goaccess -f access.log -o report.html --real-time-html
There's either
Parsing... [41] [0/s]
OR no output in the terminal. I wait a long time. Then CTRL+C:
^CSIGINT caught!
Stopping WebSocket server...
Maybe I'm missing a step in:
"To output an HTML report and set the WebSocket server to listen on port 7890 and localhost."
"Connection Reset" at my.ip.address.here:7890
.
I'm guessing that nginx is not involved in this, as it's logs are only showing calls to other web pages.
Is there some other configuration or logs I might want to look into?
UPDATE:
A little more clear and have gotten this far:
$ 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]
I can:
telnet domain.com 7890
Trying 45.55.xxx.xxx...
Connected to domain.com.
Escape character is '^]'.
In the browser: domain.com:7890/report.html returns Connection Reset.
Would someone clarify what this path is supposed to represent:
/usr/share/nginx/www/report.html
Is report.html
supposed to actually exist and does the path need to be to a specific place in the Server's System?
I had some problems getting the realtime reports to work and eventually found out why they were not working for me. This may / may not apply to you.
I was generating the realtime report in the directory of my website which runs over SSL. Unfortunately Goaccess realtime reports do not work over SSL at all.
What I did to resolve this was I set up a new domain goaccess.mydomain.com and set it to run on port80 on Nginx. Then protected the / location with an .htpasswd file and then I generate the realtime reports into that new web site's folder.
The static reports work 100% over SSL just not the realtime.
So what I do now everyday using Cron is generate the realtime reports for the sites I want to monitor using.
goaccess -f /var/log/nginx/site1-access.log -a -o /var/www/goaccess.mydomain.com/site1.html
goaccess -f /var/log/nginx/site2-access.log -a -o /var/www/goaccess.mydomain.com/site2.html
then when I want a realtime report on a certain site I just run
goaccess -f /var/log/nginx/site1-access.log -a -o /var/www/goaccess.mydomain.com/site.html.html --real-time-html --ws-url=goaccess.mydomain.com
I have asked them to note the https problem in their documentation as this had me going in circles for ages.