xavierh Posted March 9, 2022 Share Posted March 9, 2022 (edited) Support thread for xavierh/goaccess-for-nginxproxymanager docker image.  Issues can be opened here as well: https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager/issues (please mention unraid)  Known issues: If you add a new proxy in NPM the container needs to be restarted to read the new proxy host file created. I'm hoping to have a solution to this so the container does not need to be restarted. Edited March 10, 2022 by xavierh 2 Quote Link to comment
JustinBH Posted March 10, 2022 Share Posted March 10, 2022 Xavier, Does this use an /appdata directory? None appears using the docker template. Is this generating any logs of its own (if so, and if no /appdata directory would be storing in the image file)? Assume GeoLite2-City.mmdb and GeoLite2-Country.mmdb are being automatically updated from MaxMind? (if so, and if no /appdata directory would be storing in the image file) Quote Link to comment
xavierh Posted March 10, 2022 Author Share Posted March 10, 2022 (edited) #1/2 - This app does not store any information. It just displays the nginx proxy manager logs via goaccess. #2 - The Host Path for /opt/log needs to point to your nginx proxy manager logs. It will then parse through proxy-host-*_access.log.gz and proxy-host-*_access.log filenames to generate the analytics. Logs are re-read every time the container restarts. #3 - GeoLite2-City.mmdb is stored within the container itself. I will be updating this in the next fews days to pull the newest version. The version currently in use is from 3/2/2022.  This is supposed to be meant to be as straightforward as possible. You just need to set your port, time zone, and the location of your NPM logs. Everything should then work.  Edited March 10, 2022 by xavierh Quote Link to comment
JustinBH Posted March 10, 2022 Share Posted March 10, 2022 (edited) Understood re the /opt/log mapping, I was just wondering if GoAccess is creating any of its own logs, as typically map a /logs to /mnt/user/logs (that is restricted to a spinning HDD only share, so as to avoid wear on SSD drives). Â Assume that means your going to have to keep updating the image in future, to release a new docker image each time the GeoLite2 database file is updated by MaxMind. Â Thanks for the effort of putting this together ! Edited March 10, 2022 by JustinBH Add thanks Quote Link to comment
xavierh Posted March 10, 2022 Author Share Posted March 10, 2022 36 minutes ago, JustinBH said: Understood re the /opt/log mapping, I was just wondering if GoAccess is creating any of its own logs, as typically map a /logs to /mnt/user/logs (that is restricted to a spinning HDD only share, so as to avoid wear on SSD drives).  Assume that means your going to have to keep updating the image in future, to release a new docker image each time the GeoLite2 database file is updated by MaxMind.  Thanks for the effort of putting this together !  I want to be a thorough here so bear with me.  GoAccess itself as far as I know uses memory to store the analytic data. There is more logic to this of course, hashing, etc. There are options for on disk storage but I am not using that and did not make that available. Other than that I'm not aware of any other files being created by GoAccess, but I can't give you a definitive answer on that. Please visit the GoAccess website/manual for more information.  As far as my docker image / app. NPM archives and zips old logs so one of the first steps of this image/app is to unzip the logs and store them in one large file. This file is stored within the container itself. This would be the appdata folder where the app is stored, if your storing it in the default unraid location. This happens every time the container is restarted as logs are re-read again. The file does not get updated or increase in size after the container has parsed the archived logs. Size varies on the amount of logs archived. The other log files are read in place and stored into memory by GoAccess, per my previous answer. Then the last few files are just HTML files that get rewritten as GoAccess parses the data.  I might be able to provide an option within the container to create the concatenated archived log file somewhere else if your interested in that. You can open an issue in github. I'll review and see if its feasible.  And yes, I'll keep updating the image to keep GeoLite2 updated. Quote Link to comment
JustinBH Posted March 10, 2022 Share Posted March 10, 2022 13 minutes ago, xavierh said: Â As far as my docker image / app. NPM archives and zips old logs so one of the first steps of this image/app is to unzip the logs and store them in one large file. This file is stored within the container itself. This would be the appdata folder where the app is stored, if your storing it in the default unraid location. OK that's why I asked re /appdata... as looking in my appdata folder since I added this new version, I do NOT have any folder created/being used for GoAccess. Hence my query, as it would appear this is all being stored in the docker image (and I assume could blow it out in size over time?). Quote Link to comment
xavierh Posted March 10, 2022 Author Share Posted March 10, 2022 11 minutes ago, JustinBH said: OK that's why I asked re /appdata... as looking in my appdata folder since I added this new version, I do NOT have any folder created/being used for GoAccess. Hence my query, as it would appear this is all being stored in the docker image (and I assume could blow it out in size over time?). Â Depends on your data (logs) and drive size. I currently have a container running with more than 15 proxy files totaling 1.2 million requests. Container size is less than 400MB. Quote Link to comment
Masterwishx Posted March 11, 2022 Share Posted March 11, 2022 @xavierh  Thanks for new container , i tryed to make it work from official docker but withou any luck ... also wanted to change version on old one and maked also docker but not finished ... dont have anouth time for it . Quote Link to comment
Masterwishx Posted March 11, 2022 Share Posted March 11, 2022 dont we need to mount appdata/GoAccess-NPM-Logs for goaccess/goaccess.conf file ? Quote Link to comment
xavierh Posted March 11, 2022 Author Share Posted March 11, 2022 (edited) 1 hour ago, Masterwishx said: dont we need to mount appdata/GoAccess-NPM-Logs for goaccess/goaccess.conf file ? You just need to mount your log files and set your time zone. The goaccess.conf has already been configured within the container; no need to touch that or set that up.  Edited March 11, 2022 by xavierh added screenshot Quote Link to comment
Masterwishx Posted March 11, 2022 Share Posted March 11, 2022 1 hour ago, xavierh said: You just need to mount your log files and set your time zone. The goaccess.conf has already been configured within the container; no need to touch that or set that up.     i already installed and its working without any problems, Thanks again.    Quote Link to comment
Tucubanito07 Posted March 11, 2022 Share Posted March 11, 2022 This is awesome thanks you. Quote Link to comment
boomam Posted March 12, 2022 Share Posted March 12, 2022 This is great. Nice and simple way to visualise the nginx logs. Quote Link to comment
Masterwishx Posted March 19, 2022 Share Posted March 19, 2022 @xavierh i founded a lot of CPU usage for goaccess is it normal ?   Quote Link to comment
Masterwishx Posted March 19, 2022 Share Posted March 19, 2022 this is by gregyankovoy/goaccess Quote Link to comment
Masterwishx Posted March 19, 2022 Share Posted March 19, 2022 (edited) also i cansee like 15000 request adding every second this is can be right ?!? Edited March 19, 2022 by Masterwishx Quote Link to comment
Tolete Posted March 24, 2022 Share Posted March 24, 2022 Thank you for your work. Â I did add the following as variables for basic login. - BASIC_AUTH=False #optional - BASIC_AUTH_USERNAME=user #optional - BASIC_AUTH_PASSWORD=pass #optional logout option missing? Quote Link to comment
xavierh Posted March 24, 2022 Author Share Posted March 24, 2022 2 hours ago, Tolete said: Thank you for your work. Â I did add the following as variables for basic login. - BASIC_AUTH=False #optional - BASIC_AUTH_USERNAME=user #optional - BASIC_AUTH_PASSWORD=pass #optional logout option missing? Â for killing the basic auth session? Quote Link to comment
Tolete Posted March 26, 2022 Share Posted March 26, 2022 On 3/23/2022 at 10:49 PM, xavierh said:  for killing the basic auth session?  Using BASIC_AUTH or something like 'Authelia' once you have authenticated there are no options to kill/logout Quote Link to comment
Agent531C Posted May 9, 2022 Share Posted May 9, 2022 On 3/19/2022 at 11:09 AM, Masterwishx said: also i cansee like 15000 request adding every second this is can be right ?!? Are you pointed to the 'log' or the 'logs' directory in NPM? I had the same issue pointed to the 'logs' folder, but switching it over to the NPM 'logs' folder fixed it. Almost seemed like it was recursively adding stuff from the 'log' folder Quote Link to comment
Masterwishx Posted May 13, 2022 Share Posted May 13, 2022 On 5/9/2022 at 6:05 PM, Agent531C said: Are you pointed to the 'log' or the 'logs' directory in NPM? I had the same issue pointed to the 'logs' folder, but switching it over to the NPM 'logs' folder fixed it. Almost seemed like it was recursively adding stuff from the 'log' folder  im using /mnt/user/Logs/NginxProxyManager becose of old same docker using share - Logs Quote Link to comment
Masterwishx Posted May 13, 2022 Share Posted May 13, 2022 in my case its adding to last some days .... Quote Link to comment
Schreibi Posted July 1, 2022 Share Posted July 1, 2022 On 3/9/2022 at 10:13 PM, xavierh said: Support thread for xavierh/goaccess-for-nginxproxymanager docker image.  Issues can be opened here as well: https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager/issues (please mention unraid)  Known issues: If you add a new proxy in NPM the container needs to be restarted to read the new proxy host file created. I'm hoping to have a solution to this so the container does not need to be restarted. Super work Buddy. Works like a charm, out of the Box! Thanks for your work. 1 Quote Link to comment
Masterwishx Posted September 4, 2022 Share Posted September 4, 2022 ca some one explain how much time long for NPM logs we have ? For how long time we have logs in NPM ? cant find any setting for it in NPM , sorry asking here ... Â Quote Link to comment
xavierh Posted September 7, 2022 Author Share Posted September 7, 2022 maybe open a ticket with them in github? thats a good question though. I think they recently added some log rotation schema but not sure what it is. 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.