[SUPPORT] xavierh / goaccess-for-nginxproxymanager


Recommended Posts

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 by xavierh
  • Thanks 2
Link to comment

Xavier,

  1. Does this use an /appdata directory? None appears using the docker template.
  2. Is this generating any logs of its own (if so, and if no /appdata directory would be storing in the image file)?
  3. 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)
Link to comment

#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 by xavierh
Link to comment

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 by JustinBH
Add thanks
Link to comment
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.

Link to comment
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?).

Link to comment
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.

Link to comment
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.

 

image.thumb.png.55d55ee05802236daf125042d8706810.png

Edited by xavierh
added screenshot
Link to comment
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?

Link to comment
  • 1 month later...
On 3/19/2022 at 11:09 AM, Masterwishx said:

also i cansee like 15000 request adding every second this is can be right ?!?

image.thumb.png.c242ff32784dc42dbb8aa0c3b4cc8749.png

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

Link to comment
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

Link to comment
  • 1 month later...
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.

  • Thanks 1
Link to comment
  • 2 months later...

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.