xavier-hernandez / goaccess-for-nginxproxymanager

GoAccess Docker Image for Nginx Proxy Manager and more...
https://hub.docker.com/r/xavierh/goaccess-for-nginxproxymanager
MIT License
548 stars 38 forks source link

Persistence storage options? #133

Open talldude opened 1 year ago

talldude commented 1 year ago

Goaccess has the ability to persist data between starts so when restarted it does not have to reparse the log files - i.e. the "PERSISTENCE STORAGE OPTIONS" section here:

https://goaccess.io/man

Is that something that can be enabled in the docker image via an environment variable? I just restarted my docker container and it took quite a while to reparse all the log files, and I am looking for a way to make it startup faster. Apologies if this is already covered somewhere - I searched and couldn't find anything.

Thanks!

xavier-hernandez commented 1 year ago

So the issue is that NPM archives logs. The image that I wrote looks at those logs (*.gz) and expands them into a new temporary file that GoAccess can read. That way all logs are read. If I were to use persistent storage that would get all corrupted especially on a restart.

I think this would only work if I don't read the archive logs are you ok with that?

talldude commented 1 year ago

Thanks for the update - I'm probably wrong in how this all works together so I appreciate the time and the update. Since Goaccess would be persisting the data, once the NPM logs have been converted to the format that Goaccess reads, I would think it would be up to Goaccess to persist the data. Or is there something in the conversion that would keep Goaccess from seeing it had already processed the log and mess things up? I'm guessing the latter based on your response, but again I have no idea how this works internally. Thanks!