diff --git a/internal/mode/static/nginx/conf/nginx-plus.conf b/internal/mode/static/nginx/conf/nginx-plus.conf index 0a35967d4e..3ad03f2de6 100644 --- a/internal/mode/static/nginx/conf/nginx-plus.conf +++ b/internal/mode/static/nginx/conf/nginx-plus.conf @@ -26,6 +26,21 @@ http { sendfile on; tcp_nopush on; + server { + listen 127.0.0.1:8765; + root /usr/share/nginx/html; + access_log off; + + allow 127.0.0.1; + deny all; + + location = /dashboard.html {} + + location /api { + api write=off; + } + } + server { listen unix:/var/run/nginx/nginx-plus-api.sock; access_log off; diff --git a/site/content/how-to/monitoring/dashboard.md b/site/content/how-to/monitoring/dashboard.md new file mode 100644 index 0000000000..f5a498a6d6 --- /dev/null +++ b/site/content/how-to/monitoring/dashboard.md @@ -0,0 +1,30 @@ +--- +title: "NGINX Plus Dashboard" +description: "Learn how to view the NGINX Plus dashboard to see real-time metrics." +weight: 200 +toc: true +docs: "DOCS-000" +--- + +{{}} + +## Overview + +The NGINX Plus dashboard offers a real-time live activity monitoring interface that shows key load and performance metrics of your server infrastructure. The dashboard is enabled by default for NGINX Gateway Fabric deployments that use NGINX Plus as the data plane. The dashboard is available on port 8765. + +To access the dashboard: + +1. Use port-forwarding to forward connections to port 8765 on your local machine to port 8765 on the NGINX Gateway Fabric pod (replace `` with the actual name of the pod). + + ```shell + kubectl port-forward 8765:8765 -n nginx-gateway + ``` + +1. Open your browser to [http://127.0.0.1:8765/dashboard.html](http://127.0.0.1:8765/dashboard.html) to access the dashboard. + +The dashboard will look like this: + +{{}} + + +{{< note >}}The [API](https://nginx.org/en/docs/http/ngx_http_api_module.html), which the dashboard uses to get the metrics, is also accessible using the `/api` path.{{< /note >}} diff --git a/site/content/how-to/monitoring/monitoring.md b/site/content/how-to/monitoring/prometheus.md similarity index 96% rename from site/content/how-to/monitoring/monitoring.md rename to site/content/how-to/monitoring/prometheus.md index 137e55a511..662e06693f 100644 --- a/site/content/how-to/monitoring/monitoring.md +++ b/site/content/how-to/monitoring/prometheus.md @@ -1,6 +1,6 @@ --- -title: "Monitoring NGINX Gateway Fabric" -description: "Learn how to monitor your NGINX Gateway Fabric effectively. This guide provides easy steps for configuring monitoring settings and understanding key performance metrics." +title: "Prometheus Metrics" +description: "Learn how to monitor your NGINX Gateway Fabric effectively. This guide provides easy steps for configuring and understanding key performance metrics using Prometheus." weight: 100 toc: true docs: "DOCS-000" diff --git a/site/content/how-to/monitoring/troubleshooting.md b/site/content/how-to/monitoring/troubleshooting.md index ffce351540..10cd3606e3 100644 --- a/site/content/how-to/monitoring/troubleshooting.md +++ b/site/content/how-to/monitoring/troubleshooting.md @@ -1,7 +1,7 @@ --- title: "Troubleshooting" -weight: 200 +weight: 300 toc: true docs: "DOCS-000" --- diff --git a/site/content/overview/gateway-architecture.md b/site/content/overview/gateway-architecture.md index cc44836d1c..d34e1c686a 100644 --- a/site/content/overview/gateway-architecture.md +++ b/site/content/overview/gateway-architecture.md @@ -92,6 +92,12 @@ The following list describes the connections, preceeded by their types in parent 1. (HTTP, HTTPS) A _client_ sends traffic to and receives traffic from any of the _NGINX workers_ on ports 80 and 443. 1. (HTTP, HTTPS) An _NGINX worker_ sends traffic to and receives traffic from the _backends_. +### Differences with NGINX Plus + +The previous diagram depicts NGINX Gateway Fabric using NGINX Open Source. NGINX Gateway Fabric with NGINX Plus has the following difference: + +- An _admin_ can connect to the NGINX Plus API using port 8765. NGINX only allows connections from localhost. + ## Pod readiness The `nginx-gateway` container includes a readiness endpoint available through the path `/readyz`. A [readiness probe](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes) periodically checks the endpoint on startup, returning a `200 OK` response when the pod can accept traffic for the data plane. Once the control plane successfully starts, the pod becomes ready. diff --git a/site/static/img/nginx-plus-dashboard.png b/site/static/img/nginx-plus-dashboard.png new file mode 100644 index 0000000000..26f8726c22 Binary files /dev/null and b/site/static/img/nginx-plus-dashboard.png differ