goaccess web report realtime senza websocket

Goaccess è un real-time log analyzer che può essere utilizzato da cli ma che ha anche un modulo che crea una pagina web con dati realtime.

Non parlo qui di come installarlo, parlo solo di un particolare caso in cui avevo bisogno dei dati in realtime da controllare via web senza però avere la possibilità di esporre connessioni websocket per via della configurazione di rete del VPS.

Abbiamo quindi un webserver Apache e vogliamo controllare le statistiche di goaccess da una pagina web ma non abbiamo la possibilità di abilitare le connessioni websocket.

Per avviare goaccess tramite systemd possiamo creare il file /etc/systemd/system/goaccess-live.service:

[Unit]
Description=GoAccess Real-Time Log Analyzer
After=network.target

[Service]
ExecStart=/usr/bin/goaccess /var/log/apache2/access.log -o /var/www/html/live_reports.html --real-time-html --ws-url=www.sito.it:443/goaccess-socket --port=7890
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Nella configurazione va personalizzato il path del log (/var/log/apache2/access.log), il path del report (/var/www/html/live_reports.html ) e l’url del sito web (www.sito.it).

Ora passiamo alla configurazione di Apache. Attiviamo i moduli che ci sevono:

a2enmod proxy proxy_http proxy_wstunnel rewrite

poi modifichiamo il file del virtualhost di Apache, inserendo:

RewriteCond %{REQUEST_URI}  ^/goaccess-socket      [NC]
RewriteRule /goaccess-socket ws://localhost:7890 [P,L]

ProxyPass ^/goaccess-socket ws://localhost:7890
ProxyPassReverse ^/goaccess-socket ws://localhost:7890

Riavviamo Apache e proviamo ad aprire la pagina web.

enjoy!

Ti interessa acquistare un dominio a prezzi ultraconvenienti? clicca qui

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Commenta