HACKER Q&A
📣 tcmb

Which tool for log aggregation on self-hosted web server?


I'm running a very simple self-hosted web server with just two websites on it. The sites are Python (Flask) applications running with gunicorn behind Nginx.

I would like to be able to get the logs from all Python processes as well as Nginx into a single datastore that is then searchable via a nice, snappy UI. I would also like to get some basic statistics and analytics from the logs (like visitor count, view count per page, errors), since I do not run client-side analytics on the pages.

I tried installing graylog and opensearch but gave up because it seemed too much for my simple needs and after I pushed through the installation following the official docs, something didn't work and I couldn't figure out why (graylog couldn't talk to opensearch or sth, it was a while ago and I forgot already, forgive me).

Are there any simpler tools out there that I'm missing, or is graylog the right tool for the job and I just need to suck it up and wrap my head around it?


  👤 LinuxBender Accepted Answer ✓
Based on your requirements it sounds like AWStats [1] may be a fit. It's rather old-school but it's simple and works great on access logs and can be run on any node that you consolidate your logs to. It's had a sketchy security history so run it on something only you can access and/or put decent authentication in front of it. Some Linux distributions include AWStats as a package in their repositories.

[1] - https://github.com/eldy/AWStats