[GH-ISSUE #945] External Nginx logging (potentially with Tabler WebUI based configuration) #800

Open
opened 2026-02-26 06:34:28 +03:00 by kerem · 6 comments
Owner

Originally created by @phantomski77 on GitHub (Mar 12, 2021).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/945

Is your feature request related to a problem? Please describe.
My problem is missing standardised external access to internal Nginx logs as these are not sent to stdout and stderr for subsequent Docker logging handling.

Why I think the change is needed:
Any proxy is by design exposed to the unrelenting attacks on ports 80 and 443. While of course a good Nginx setup is capable of mitigting most of the risks (thank you!), it is more prudent to continuously monitor the traffic and based on that (for example http 3xx, 4xx and 5xx response status codes) update the firewall rules on the upstream router, for example by blocking the offending IPs.

Describe the solution you'd like
I am using Graylog Centralised Log Management software to ingest monitoring data (mostly linux syslog and some UDP streams) from my servers and devices. Thanks to great Graylog functionality, I'm able to filter, categorise, (re)format and analyse these logs and produce minimalistic but meaningful outputs that massively narrow down the streams to just the most important data worth a manual look or ideally a scripted solution.

Current situation:
As it stands at the moment, Nginx Proxy Manager's Docker log is pretty limited to basic system calls. While all the Nginx logs I need are indeed produced by Nginx under \data\logs inside the container and these are of course exposed through a persistent volume, they're not part of the main container log that could be subsequently configured and forwarded for ignestion using standard Docker Logging Drivers. I need to use a separate solution to read those files and forward them to Graylog.

I would like to:

  • Have the Nginx logs included as part of the container log (easiest and ideal standard solution) or
  • Have an internal logging system that would forward Nginx logs to for example specified GELF endpoint or
  • At least an UDP stream (BusyBox nc?) with these logs I could then pickup by Graylog

Bonus in ideal world:
Ideally, those would be configurable via GUI. For example on/off switch for each source log (default_host.log, proxy_host-x.log, default.log, ...) and 1 or more on/off switches for "targets" for those logs (Docker, GELF with IP/port, UDP with IP/port, etc)

Describe alternatives you've considered

  • Analysis of volume stored logs and forwarding last line to ingest point (another container or system tool needed)
  • The above but inside container (violating the one service per container rule)
  • Reconfiguring your project

Thank you very much for considering. Hopefully it is "just" a simple Nginx/Dockerfile configuration.

Originally created by @phantomski77 on GitHub (Mar 12, 2021). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/945 **Is your feature request related to a problem? Please describe.** My problem is missing standardised external access to internal Nginx logs as these are not sent to `stdout` and `stderr` for subsequent Docker logging handling. **Why I think the change is needed:** Any proxy is by design exposed to the unrelenting attacks on ports 80 and 443. While of course a good Nginx setup is capable of mitigting most of the risks (_thank you!_), it is more prudent to continuously monitor the traffic and based on that (for example http 3xx, 4xx and 5xx response status codes) update the firewall rules on the upstream router, for example by blocking the offending IPs. **Describe the solution you'd like** I am using [Graylog](https://www.graylog.org) Centralised Log Management software to ingest monitoring data (mostly linux syslog and some UDP streams) from my servers and devices. Thanks to great Graylog functionality, I'm able to filter, categorise, (re)format and analyse these logs and produce minimalistic but meaningful outputs that massively narrow down the streams to just the most important data worth a manual look or ideally a scripted solution. **Current situation:** As it stands at the moment, Nginx Proxy Manager's Docker log is pretty limited to basic system calls. While all the Nginx logs I need are indeed produced by Nginx under `\data\logs` inside the container and these are of course exposed through a persistent volume, they're not part of the main container log that could be subsequently configured and forwarded for ignestion using standard [Docker Logging Drivers](https://docs.docker.com/config/containers/logging/configure/). I need to use a separate solution to read those files and forward them to Graylog. **I would like to:** - Have the Nginx logs included as part of the container log (easiest and ideal standard solution) or - Have an internal logging system that would forward Nginx logs to for example specified GELF endpoint or - At least an UDP stream (BusyBox nc?) with these logs I could then pickup by Graylog **Bonus in ideal world:** Ideally, those would be configurable via GUI. For example on/off switch for each source log (`default_host.log`, `proxy_host-x.log`, `default.log`, ...) and 1 or more on/off switches for "targets" for those logs (Docker, GELF with IP/port, UDP with IP/port, etc) **Describe alternatives you've considered** - Analysis of volume stored logs and forwarding last line to ingest point (another container or system tool needed) - The above but inside container (violating the one service per container rule) - Reconfiguring your project Thank you very much for considering. Hopefully it is "just" a simple Nginx/Dockerfile configuration.
Author
Owner

@github-actions[bot] commented on GitHub (Mar 17, 2024):

Issue is now considered stale. If you want to keep it open, please comment 👍

<!-- gh-comment-id:2002267310 --> @github-actions[bot] commented on GitHub (Mar 17, 2024): Issue is now considered stale. If you want to keep it open, please comment :+1:
Author
Owner

@pktiuk commented on GitHub (Jun 16, 2024):

👍

<!-- gh-comment-id:2171805419 --> @pktiuk commented on GitHub (Jun 16, 2024): 👍
Author
Owner

@pktiuk commented on GitHub (Jun 16, 2024):

Any way of monitoring traffic (especially integrated into NginxProxyManager) would be very useful.

<!-- gh-comment-id:2171806070 --> @pktiuk commented on GitHub (Jun 16, 2024): Any way of monitoring traffic (especially integrated into NginxProxyManager) would be very useful.
Author
Owner

@github-actions[bot] commented on GitHub (Feb 13, 2025):

Issue is now considered stale. If you want to keep it open, please comment 👍

<!-- gh-comment-id:2655264298 --> @github-actions[bot] commented on GitHub (Feb 13, 2025): Issue is now considered stale. If you want to keep it open, please comment :+1:
Author
Owner

@pktiuk commented on GitHub (Feb 13, 2025):

👍

<!-- gh-comment-id:2655849725 --> @pktiuk commented on GitHub (Feb 13, 2025): 👍
Author
Owner

@github-actions[bot] commented on GitHub (Nov 10, 2025):

Issue is now considered stale. If you want to keep it open, please comment 👍

<!-- gh-comment-id:3509151362 --> @github-actions[bot] commented on GitHub (Nov 10, 2025): Issue is now considered stale. If you want to keep it open, please comment :+1:
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#800
No description provided.