Webserver reporting: Difference between revisions

No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Feature
|image=Report.png
|imgdesc=Real-time dashboards
|title=
}}
{{#set:feature description = we add real-time visibility into the web server activity. }}
{{#set:feature notes = Unlike Google Analytics, this reporting includes bot traffic, and is not mined by your provider. }}
{{#set:feature tests = There may be a report at public_html/report.html }}
{{#set:feature examples = [{{SERVER}}/public_html/report.html public_html/report.html] }}
QualityBox 34.x features [https://wiki.freephile.org/public_html/report.html real-time web analytics]. Now you can see exactly what's happening, both bots and regular traffic, instantly. The analytics works from the command-line for administrators and also as a single page real-time web app for easy reporting/sharing in the web browser.
QualityBox 34.x features [https://wiki.freephile.org/public_html/report.html real-time web analytics]. Now you can see exactly what's happening, both bots and regular traffic, instantly. The analytics works from the command-line for administrators and also as a single page real-time web app for easy reporting/sharing in the web browser.


Line 32: Line 42:
# report (console) most recent log (with querystring)
# report (console) most recent log (with querystring)
sudo goaccess /var/log/httpd/access_log --log-format '~h{, } %^ %e [%d:%t %z] %D "%r" %s "%R" "%u" %^ %b' --time-format "%T" --date-format "%d/%b/%Y"
sudo goaccess /var/log/httpd/access_log --log-format '~h{, } %^ %e [%d:%t %z] %D "%r" %s "%R" "%u" %^ %b' --time-format "%T" --date-format "%d/%b/%Y"
# report (console) two minute time span
sed -n '/17:45:00/,/17:47:00/ p' /var/log/apache2/access_log | goaccess  --log-format '~h{, } %^ %e [%d:%t %z] %D "%r" %s "%R" "%u" %^ %b' --time-format "%T" --date-format "%d/%b/%Y" -
# Be 'nice', daemonize, persist data (Debian only)
nice -n 19 goaccess -f /var/log/apache2/access_log -p /etc/goaccess/my.goaccess.conf -o /opt/htdocs/wiki/public_html/report.html --real-time-html --addr=127.0.0.1 --ws-url=wss://wiki.freephile.org:443 --addr=127.0.0.1 --origin=https://wiki.freephile.org --ssl-cert=/etc/letsencrypt/live/wiki.freephile.org/cert.pem --ssl-key=/etc/letsencrypt/live/wiki.freephile.org/privkey.pem --daemonize --keep-db-files --load-from-disk
# Persist data locally, while also generating real-time reporting
# --db-path=/opt/data-meza/logs/ is not really a good location bc goaccess will generate a ton of .db files there.
/usr/local/bin/goaccess /var/log/httpd/access_log -p /etc/goaccess/my.goaccess.conf --persist --restore --db-path=/opt/data-meza/logs/ -o /opt/htdocs/public_html/report.html --real-time-html --addr=127.0.0.1 --ws-url=wss://wiki.freephile.org:443 --addr=127.0.0.1 --origin=https://wiki.freephile.org --ssl-cert=/etc/letsencrypt/live/wiki.freephile.org/cert.pem --ssl-key=/etc/letsencrypt/live/wiki.freephile.org/privkey.pem --daemonize
</syntaxhighlight>
</syntaxhighlight>


== ToDo ==
==ToDo==
There are [https://blog.silverbucket.net/post/31927044856/3-ways-to-configure-haproxy-for-websockets 3 ways of configuring HAProxy for websockets]:
There are [https://blog.silverbucket.net/post/31927044856/3-ways-to-configure-haproxy-for-websockets 3 ways of configuring HAProxy for websockets]:
# Proxy based on subdomain
 
# Proxy based on URI
#Proxy based on subdomain
# Proxy using Websocket detection
#Proxy based on URI
#Proxy using Websocket detection
 
We use this last approach, but should add at least subdomain processing to enable subdomain mode in QualityBox
We use this last approach, but should add at least subdomain processing to enable subdomain mode in QualityBox


[[Category:Apache]]
[[Category:Apache]]