From 3f501e70e0806a629ef0e5723a94153ae0c83a93 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Mon, 23 Jun 2025 14:30:04 -0700 Subject: [PATCH 1/7] Ported lab 5 --- .../workshops/nginx-one-env-variables.md | 27 +++++ .../explore-nginx-one-console-and-features.md | 7 +- .../workshops/lab4/config-sync-groups.md | 19 +--- .../upgrade-nginx-plus-to-latest-version.md | 106 ++++++++++++++++++ .../images/unavailable-instances.png | Bin 0 -> 171846 bytes .../nginx-one/lab2/docker-compose.yml | 33 +++++- 6 files changed, 163 insertions(+), 29 deletions(-) create mode 100644 content/includes/workshops/nginx-one-env-variables.md create mode 100644 content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md create mode 100644 static/nginx-one/images/unavailable-instances.png diff --git a/content/includes/workshops/nginx-one-env-variables.md b/content/includes/workshops/nginx-one-env-variables.md new file mode 100644 index 000000000..1baf15c49 --- /dev/null +++ b/content/includes/workshops/nginx-one-env-variables.md @@ -0,0 +1,27 @@ +--- +docs: +files: +- content/nginx-one/workshops/lab4/config-sync-groups.md +- content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-r34.md + +--- + +Set these environment variables: + +- **TOKEN**: your data plane key, for example: + + ```shell + export TOKEN="your-data-plane-key" + ``` + +- **JWT**: your NGINX Plus license JWT. Save it as `nginx-repo.jwt`, then run: + + ```shell + export JWT=$(cat path/to/nginx-repo.jwt) + ``` + +- **NAME**: a unique ID for your workshop (for example, `s.jobs`): + + ```shell + export NAME="s.jobs" + ``` diff --git a/content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md b/content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md index 3d2a7a296..cfd9209aa 100644 --- a/content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md +++ b/content/nginx-one/workshops/lab3/explore-nginx-one-console-and-features.md @@ -34,12 +34,7 @@ Make sure you have: - An F5 Distributed Cloud (XC) account with NGINX One enabled - All containers from [Lab 2](nginx-one/workshops/lab2/run-workshop-components-with-docker.md) running and registered -- Your unique identifier in the `NAME` environment variable (set in Lab 2), for example `s.jobs`: - - ```shell - export NAME="s.jobs" - ``` - +- {{< include "workshops/nginx-one-env-variables.md" >}} - Basic NGINX and Linux knowledge --- diff --git a/content/nginx-one/workshops/lab4/config-sync-groups.md b/content/nginx-one/workshops/lab4/config-sync-groups.md index 0ae85bb55..65c2389c0 100644 --- a/content/nginx-one/workshops/lab4/config-sync-groups.md +++ b/content/nginx-one/workshops/lab4/config-sync-groups.md @@ -24,24 +24,7 @@ Make sure you have: - Completed [Lab 2: Run workshop components with Docker]({{< ref "nginx-one/workshops/lab2/run-workshop-components-with-docker.md" >}}) - Docker and Docker Compose installed and running -- Your data plane key in the `TOKEN` environment variable (set in Lab 2): - - ```shell - export TOKEN="your-data-plane-key" - ``` - -- Your NGINX Plus JWT license file saved as `nginx-repo.jwt`, and `JWT` set (set in Lab 2): - - ```shell - export JWT=$(cat path/to/nginx-repo.jwt) - ``` - -- Your unique identifier in the NAME environment variable (set in Lab 2), for example `s.jobs`: - - ```shell - export NAME="s.jobs" - ``` - +- {{< include "workshops/nginx-one-env-variables.md" >}} - Basic familiarity with Linux command line and NGINX concepts --- diff --git a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md new file mode 100644 index 000000000..230b91b07 --- /dev/null +++ b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md @@ -0,0 +1,106 @@ +--- +title: "Lab 5: Upgrade NGINX Plus to the latest version" +weight: 500 +toc: true +nd-content-type: tutorial +nd-product: +- nginx-one +- nginx-plus +--- + +## Overview + +In this lab, you upgrade NGINX Plus from R32 (or earlier) to the latest version in two ways: + +- **Docker**: Deploy a new container running the latest NGINX Plus image, add it to your Config Sync Group, then shift traffic and retire older containers. +- **VM**: Push your JWT license to an existing VM instance, install the new NGINX Plus package, and restart the service. + +Pick the scenario that matches your setup. + +## What you’ll learn + +By the end of this lab, you’ll know how to: + +- Deploy a Docker container running the latest NGINX Plus with NGINX Agent installed +- Add a VM to a Config Sync Group and push your JWT license +- Install or upgrade to the latest NGINX Plus on a VM +- Check version and sync status in the NGINX One Console +- Clean up unavailable instances in the NGINX One Console + +## Before you begin + +Make sure you have: + +- Completed [Lab 4: Config Sync Groups]({{< ref "nginx-one/workshops/lab4/config-sync-groups.md" >}}) +- Docker and Docker Compose installed and running (for Docker scenario) +- A VM with NGINX Plus R32 (or earlier), SSH access, and the NGINX Agent installed (for VM scenario) +- {{< include "workshops/nginx-one-env-variables.md" >}} +- Basic familiarity with Linux command line and NGINX concepts + +## Scenario A: Upgrade NGINX Plus in Docker + +### Exercise A1: Pull and run the latest NGINX Plus image + +1. In your shell, log in to the private registry: + + ```shell + echo "$JWT" | docker login private-registry.nginx.com \ + --username "$JWT" --password-stdin + ``` + +2. Open `docker-compose.yaml` in a text editor and uncomment the **plus4** service block (lines 74–95). This block pulls the latest Debian NGINX Plus image with the latest NGINX Agent installed, and sets your data plane key, JWT, and config sync group. + + ```yaml + plus4: # Debian latest NGINX Plus Web / Load Balancer + environment: + NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' + NGINX_AGENT_SERVER_GRPCPORT: '443' + NGINX_AGENT_TLS_ENABLE: 'true' + NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console + NGINX_LICENSE_JWT: $JWT + NGINX_AGENT_INSTANCE_GROUP: $NAME-sync-group + hostname: $NAME-plus4 + container_name: $NAME-plus4 + image: private-registry.nginx.com/nginx-plus/agent:debian # From NGINX Private Registry + volumes: # Sync these folders to container + - ./nginx-plus/etc/nginx/nginx.conf:/etc/nginx/nginx.conf + - ./nginx-plus/etc/nginx/conf.d:/etc/nginx/conf.d + - ./nginx-plus/etc/nginx/includes:/etc/nginx/includes + - ./nginx-plus/usr/share/nginx/html:/usr/share/nginx/html + ports: + - '80' # Open for HTTP + - '443' # Open for HTTPS + - '9000' # Open for API / Dashboard page + - '9113' # Open for Prometheus Scraper page + restart: always + ``` + + {{< call-out "note" "Tip" "" >}} If you use VS Code, highlight lines 74–95 and press `Ctrl` + `/` to uncomment them. {{< /call-out >}} + +3. Restart your containers: + + ```shell + docker compose down && docker compose up --force-recreate -d + ``` + +4. In the NGINX One Console, go to **Instances**. +5. You should see your new instance (`$NAME-plus4`) in the list (for example, `s.jobs-plus4`). +6. Select that instance and verify it runs the latest versions of NGINX Plus and NGINX Agent. +7. The `$NAME-plus4` container was added to the `$NAME-sync-group` config sync group and inherited the shared config. + + {{< call-out "note" "Tip" "" >}} Because new containers in a sync group automatically pick up the shared config, you get a consistent, tested setup across versions. You can shift traffic to the new container one at a time for a safer, zero-downtime upgrade, and avoid any manual copy-and-paste steps. {{< /call-out >}} + +### Exercise A2: Delete unavailable containers + +When you recreate containers, they re-register in the NGINX One Console. Use the filter to clean up old entries: + +1. In the NGINX One Console, go **Instances**. +2. Select **Add filter > Availability > Unavailable**. +3. Check the boxes next to the unavailable hosts. +4. Select **Delete selected**, then confirm. +5. Remove the filter: Hover over the **Availability is Unavailable** filter tag, then select **X** to clear it and show all instances again. + + +{{< img src="nginx-one/images/unavailable-instances.png" + alt="Table of three NGINX One Console instances filtered to ‘Availability = Unavailable.’ Shows hostnames (s.jobs-plus1, s.jobs-plus2, s.jobs-plus3), NGINX versions, grey ‘Unavailable’ circles, CVE and recommendation indicators, certificate status, operating system, and last reported times. The ‘Delete selected’ button appears at top right." >}} + \ No newline at end of file diff --git a/static/nginx-one/images/unavailable-instances.png b/static/nginx-one/images/unavailable-instances.png new file mode 100644 index 0000000000000000000000000000000000000000..8414825dcc57b139abd9192ad64185a2ef93c6bb GIT binary patch literal 171846 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 RYs3Hm002ovPDHLkV1nk7zW)FK literal 0 HcmV?d00001 diff --git a/static/workshops/nginx-one/lab2/docker-compose.yml b/static/workshops/nginx-one/lab2/docker-compose.yml index a22431c7d..65f2d30cb 100644 --- a/static/workshops/nginx-one/lab2/docker-compose.yml +++ b/static/workshops/nginx-one/lab2/docker-compose.yml @@ -32,7 +32,7 @@ services: NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' NGINX_AGENT_SERVER_GRPCPORT: '443' NGINX_AGENT_TLS_ENABLE: 'true' - NGINX_AGENT_SERVER_TOKEN: $TOKEN # Datakey Fron Nginx One Console + NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console # NGINX_AGENT_INSTANCE_GROUP: $NAME-sync-group hostname: $NAME-plus2 container_name: $NAME-plus2 @@ -54,7 +54,7 @@ services: NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' NGINX_AGENT_SERVER_GRPCPORT: '443' NGINX_AGENT_TLS_ENABLE: 'true' - NGINX_AGENT_SERVER_TOKEN: $TOKEN # Datakey Fron Nginx One Console + NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console # NGINX_AGENT_INSTANCE_GROUP: $NAME-sync-group hostname: $NAME-plus3 container_name: $NAME-plus3 @@ -71,12 +71,35 @@ services: - '9113' # Open for Prometheus Scraper page restart: always # + # plus4: # Debian R34 NGINX Plus Web / Load Balancer + # environment: + # NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' + # NGINX_AGENT_SERVER_GRPCPORT: '443' + # NGINX_AGENT_TLS_ENABLE: 'true' + # NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console + # NGINX_LICENSE_JWT: $JWT + # NGINX_AGENT_INSTANCE_GROUP: $NAME-sync-group + # hostname: $NAME-plus4 + # container_name: $NAME-plus4 + # image: private-registry.nginx.com/nginx-plus/agent:debian # From NGINX Private Registry R34 + # volumes: # Sync these folders to container + # - ./nginx-plus/etc/nginx/nginx.conf:/etc/nginx/nginx.conf + # - ./nginx-plus/etc/nginx/conf.d:/etc/nginx/conf.d + # - ./nginx-plus/etc/nginx/includes:/etc/nginx/includes + # - ./nginx-plus/usr/share/nginx/html:/usr/share/nginx/html + # ports: + # - '80' # Open for HTTP + # - '443' # Open for HTTPS + # - '9000' # Open for API / Dashboard page + # - '9113' # Open for Prometheus Scraper page + # restart: always + # oss1: # Debian NGINX OSS Web / Load Balancer environment: NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' NGINX_AGENT_SERVER_GRPCPORT: '443' NGINX_AGENT_TLS_ENABLE: 'true' - NGINX_AGENT_SERVER_TOKEN: $TOKEN # Datakey Fron Nginx One Console + NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console hostname: $NAME-oss1 container_name: $NAME-oss1 image: docker-registry.nginx.com/nginx/agent:mainline # From Docker Public Registry @@ -98,7 +121,7 @@ services: NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' NGINX_AGENT_SERVER_GRPCPORT: '443' NGINX_AGENT_TLS_ENABLE: 'true' - NGINX_AGENT_SERVER_TOKEN: $TOKEN # Datakey Fron Nginx One Console + NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console hostname: $NAME-oss2 container_name: $NAME-oss2 image: docker-registry.nginx.com/nginx/agent:alpine # From Docker Public Registry @@ -120,7 +143,7 @@ services: NGINX_AGENT_SERVER_HOST: 'agent.connect.nginx.com' NGINX_AGENT_SERVER_GRPCPORT: '443' NGINX_AGENT_TLS_ENABLE: 'true' - NGINX_AGENT_SERVER_TOKEN: $TOKEN # Datakey Fron Nginx One Console + NGINX_AGENT_SERVER_TOKEN: $TOKEN # Data plane key from NGINX One Console hostname: $NAME-oss3 container_name: $NAME-oss3 image: docker-registry.nginx.com/nginx/agent:1.26-alpine # From Docker Public Registry From a3a0c0acf301fdfa0367cbbbb15386db4d59b1a5 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Mon, 23 Jun 2025 15:29:49 -0700 Subject: [PATCH 2/7] edits --- .../monitoring/enable-nginx-plus-api.md | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md index d9dd46dc0..50d4fed1a 100644 --- a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md +++ b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md @@ -5,24 +5,36 @@ files: - content/nginx-one/getting-started.md --- -To collect comprehensive metrics for NGINX Plus--including bytes streamed, information about upstream systems and caches, and counts of all HTTP status codes--add the following to your NGINX Plus configuration file (for example, `/etc/nginx/nginx.conf` or an included file): +To collect comprehensive metrics for NGINX Plus -- including bytes streamed, information about upstream systems and caches, and counts of all HTTP status codes -- add the following to your NGINX Plus configuration file (for example, `/etc/nginx/nginx.conf` or an included file): ```nginx -# Enable the /api/ location with appropriate access control -# to use the NGINX Plus API. +# Server block for enabling the NGINX Plus API and dashboard # -location /api/ { - api write=on; - allow 127.0.0.1; - deny all; -} -``` +# This block requires NGINX Plus. It turns on the API in write mode +# and serves the built-in dashboard for monitoring. +# Change the listen port if 9000 conflicts; 8080 is the conventional API port. +# For production, secure the API with TLS and limit access by IP or auth. +server { + # Listen for API and dashboard traffic + listen 9000 default_server; + server_name localhost; + + # Handle API calls under /api/ in read-write mode + location /api/ { + api write=on; + } -This configuration: + # Serve the dashboard page at /dashboard.html + location = /dashboard.html { + root /usr/share/nginx/html; + } -- Enables the NGINX Plus API. -- Allows requests only from `127.0.0.1` (localhost). -- Blocks all other requests for security. + # Redirect any request to the root path “/” to the dashboard + location / { + return 301 /dashboard.html; + } +} +``` For more details, see the [NGINX Plus API module documentation](https://nginx.org/en/docs/http/ngx_http_api_module.html). From a8fe51f4c722196cb7439679d6f201224efca2e8 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Tue, 24 Jun 2025 07:03:56 -0700 Subject: [PATCH 3/7] edits --- .../monitoring/enable-nginx-plus-api.md | 36 ++++++++++++------- .../run-workshop-components-with-docker.md | 4 +-- .../workshops/lab4/config-sync-groups.md | 2 +- .../upgrade-nginx-plus-to-latest-version.md | 2 +- .../lab2/{docker-compose.yml => compose.yaml} | 0 5 files changed, 28 insertions(+), 16 deletions(-) rename static/workshops/nginx-one/lab2/{docker-compose.yml => compose.yaml} (100%) diff --git a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md index 50d4fed1a..68819b485 100644 --- a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md +++ b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md @@ -8,20 +8,32 @@ files: To collect comprehensive metrics for NGINX Plus -- including bytes streamed, information about upstream systems and caches, and counts of all HTTP status codes -- add the following to your NGINX Plus configuration file (for example, `/etc/nginx/nginx.conf` or an included file): ```nginx -# Server block for enabling the NGINX Plus API and dashboard -# -# This block requires NGINX Plus. It turns on the API in write mode -# and serves the built-in dashboard for monitoring. -# Change the listen port if 9000 conflicts; 8080 is the conventional API port. -# For production, secure the API with TLS and limit access by IP or auth. +# This block: +# - Enables the read-write NGINX Plus API under /api/ +# - Serves the built-in dashboard at /dashboard.html +# - Restricts write methods (POST, PATCH, DELETE) to authenticated users +# and a specified IP range server { - # Listen for API and dashboard traffic - listen 9000 default_server; - server_name localhost; + listen 9000 default_server; + # If port 9000 is in use, you can also use 8080: + # listen 8080 default_server; + server_name localhost; # Handle API calls under /api/ in read-write mode location /api/ { api write=on; + + # allow GET from anywhere + allow 0.0.0.0/0; + deny all; + + # require auth and limit write methods to your network + limit_except GET { + auth_basic "NGINX Plus API"; + auth_basic_user_file /etc/nginx/conf.d/api.htpasswd; + allow 192.0.2.0/24 # example IP range; replace with yours + deny all; + } } # Serve the dashboard page at /dashboard.html @@ -29,16 +41,16 @@ server { root /usr/share/nginx/html; } - # Redirect any request to the root path “/” to the dashboard + # Redirect any request to “/” to the dashboard location / { return 301 /dashboard.html; } } ``` -For more details, see the [NGINX Plus API module documentation](https://nginx.org/en/docs/http/ngx_http_api_module.html). +For more details, see the [NGINX Plus API module documentation](https://nginx.org/en/docs/http/ngx_http_api_module.html) and [Configuring the NGINX Plus API]({{< ref “nginx/admin-guide/monitoring/live-activity-monitoring.md#configuring-the-api” >}}). -After saving the changes, reload NGINX to apply the new configuration: +After saving the changes, reload NGINX: ```shell nginx -s reload diff --git a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md index 13eefc45d..d0b5600f8 100644 --- a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md +++ b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md @@ -48,9 +48,9 @@ Make sure you have: cd static/workshops/nginx-one/lab2 ``` -This folder contains `docker-compose.yml` and `generate_certs.sh`. +This folder contains `compose.yaml` and `generate_certs.sh`. -{{}} {{}} +{{}} {{}} {{}} {{}} diff --git a/content/nginx-one/workshops/lab4/config-sync-groups.md b/content/nginx-one/workshops/lab4/config-sync-groups.md index 65c2389c0..0e4190975 100644 --- a/content/nginx-one/workshops/lab4/config-sync-groups.md +++ b/content/nginx-one/workshops/lab4/config-sync-groups.md @@ -117,7 +117,7 @@ You can edit the `docker-config.yaml` file to add those instances to the config docker compose down ``` -2. Open `docker-compose.yaml` in a text editor. +2. Open `compose.yaml` in a text editor. 3. Uncomment the lines beginning with: ```yaml diff --git a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md index 230b91b07..1aa2838cc 100644 --- a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md +++ b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md @@ -48,7 +48,7 @@ Make sure you have: --username "$JWT" --password-stdin ``` -2. Open `docker-compose.yaml` in a text editor and uncomment the **plus4** service block (lines 74–95). This block pulls the latest Debian NGINX Plus image with the latest NGINX Agent installed, and sets your data plane key, JWT, and config sync group. +2. Open `compose.yaml` in a text editor and uncomment the **plus4** service block (lines 74–95). This block pulls the latest Debian NGINX Plus image with the latest NGINX Agent installed, and sets your data plane key, JWT, and config sync group. ```yaml plus4: # Debian latest NGINX Plus Web / Load Balancer diff --git a/static/workshops/nginx-one/lab2/docker-compose.yml b/static/workshops/nginx-one/lab2/compose.yaml similarity index 100% rename from static/workshops/nginx-one/lab2/docker-compose.yml rename to static/workshops/nginx-one/lab2/compose.yaml From 5dd9211cd7d7da25d9eab894502fad8fe53a6d97 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Tue, 24 Jun 2025 07:54:43 -0700 Subject: [PATCH 4/7] edits --- .../monitoring/enable-nginx-plus-api.md | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md index 68819b485..c605d0c22 100644 --- a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md +++ b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md @@ -13,42 +13,49 @@ To collect comprehensive metrics for NGINX Plus -- including bytes streamed, inf # - Serves the built-in dashboard at /dashboard.html # - Restricts write methods (POST, PATCH, DELETE) to authenticated users # and a specified IP range +# Change the listen port if 9000 conflicts; 8080 is the conventional API port. server { - listen 9000 default_server; - # If port 9000 is in use, you can also use 8080: - # listen 8080 default_server; - server_name localhost; + # Listen on port 9000 for API and dashboard traffic + listen 9000 default_server; - # Handle API calls under /api/ in read-write mode + # Handle API calls under /api/ location /api/ { + # Enable write operations (POST, PATCH, DELETE) api write=on; - # allow GET from anywhere + # Allow GET requests from any IP allow 0.0.0.0/0; + # Deny all other requests by default deny all; - # require auth and limit write methods to your network + # For methods other than GET, require auth and restrict to a network limit_except GET { - auth_basic "NGINX Plus API"; - auth_basic_user_file /etc/nginx/conf.d/api.htpasswd; - allow 192.0.2.0/24 # example IP range; replace with yours - deny all; + # Prompt for credentials with this realm + auth_basic "NGINX Plus API"; + # Path to the file with usernames and passwords + auth_basic_user_file /path/to/passwd/file; + + # Allow only this IP range (replace with your own) + allow 192.0.2.0/24; + # Deny all other IPs + deny all; } } # Serve the dashboard page at /dashboard.html location = /dashboard.html { + # Files are located under this directory root /usr/share/nginx/html; } - # Redirect any request to “/” to the dashboard + # Redirect any request for / to the dashboard location / { return 301 /dashboard.html; } } ``` -For more details, see the [NGINX Plus API module documentation](https://nginx.org/en/docs/http/ngx_http_api_module.html) and [Configuring the NGINX Plus API]({{< ref “nginx/admin-guide/monitoring/live-activity-monitoring.md#configuring-the-api” >}}). +For more details, see the [NGINX Plus API module documentation](https://nginx.org/en/docs/http/ngx_http_api_module.html) and [Configuring the NGINX Plus API]({{< ref "nginx/admin-guide/monitoring/live-activity-monitoring.md#configuring-the-api" >}}). After saving the changes, reload NGINX: From c239264e6563186fcee7ecdf92ca7fb7ddc97d24 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Tue, 24 Jun 2025 15:25:54 -0700 Subject: [PATCH 5/7] added steps for upgrading NGINX Plus on a VM using config sync groups --- .../enable-nplus-api-dashboard.md | 41 +++++++++++ ...e-nginx-plus-api-with-config-sync-group.md | 17 +++++ .../monitoring/enable-nginx-plus-api.md | 62 +++------------- content/nginx-one/metrics/enable-metrics.md | 10 ++- .../run-workshop-components-with-docker.md | 2 +- .../upgrade-nginx-plus-to-latest-version.md | 71 ++++++++++++++++++- 6 files changed, 144 insertions(+), 59 deletions(-) create mode 100644 content/includes/config-snippets/enable-nplus-api-dashboard.md create mode 100644 content/includes/use-cases/monitoring/enable-nginx-plus-api-with-config-sync-group.md diff --git a/content/includes/config-snippets/enable-nplus-api-dashboard.md b/content/includes/config-snippets/enable-nplus-api-dashboard.md new file mode 100644 index 000000000..25fc3a31e --- /dev/null +++ b/content/includes/config-snippets/enable-nplus-api-dashboard.md @@ -0,0 +1,41 @@ +--- +docs: +files: +- content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md +- content/includes/use-cases/monitoring/enable-nginx-plus-api.md +--- + + +```nginx +# This block enables the NGINX Plus API and dashboard +server { + # Change the listen port if 9000 conflicts + # (8080 is the conventional API port) + listen 9000; + + location /api/ { + # Enable API in write mode + api write=on; + + # To restrict access by network, uncomment and set your network: + # allow 192.0.2.0/24 # replace with your network + # deny all; + + # To restrict write methods (POST, PATCH, DELETE), uncomment: + # limit_except GET { + # auth_basic "NGINX Plus API"; + # auth_basic_user_file /path/to/passwd/file; + # } + } + + # Serve the built-in dashboard at /dashboard.html + location = /dashboard.html { + root /usr/share/nginx/html; + } + + # Redirect any request to the root path "/" to the dashboard + location / { + return 301 /dashboard.html; + } +} +``` \ No newline at end of file diff --git a/content/includes/use-cases/monitoring/enable-nginx-plus-api-with-config-sync-group.md b/content/includes/use-cases/monitoring/enable-nginx-plus-api-with-config-sync-group.md new file mode 100644 index 000000000..28e221b78 --- /dev/null +++ b/content/includes/use-cases/monitoring/enable-nginx-plus-api-with-config-sync-group.md @@ -0,0 +1,17 @@ +--- +docs: +files: +- +- +--- + +1. In the NGINX One Console, select **Manage > Config Sync Groups**, then pick your config sync group's name. +2. Select the **Configuration** tab, then select **Edit Configuration**. +3. Select **Add File**. +4. Select **New Configuration File**. +5. In the **File name** box, enter `/etc/nginx/conf.d/dashboard.conf`, then select **Add**. +6. Paste the following into the new file workspace: + +{{< include "config-snippets/enable-nplus-api-dashboard.md" >}} + +7. Select **Next**, review the diff, then select **Save and Publish**. \ No newline at end of file diff --git a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md index c605d0c22..409bbf50b 100644 --- a/content/includes/use-cases/monitoring/enable-nginx-plus-api.md +++ b/content/includes/use-cases/monitoring/enable-nginx-plus-api.md @@ -4,61 +4,15 @@ files: - content/nim/monitoring/overview-metrics.md - content/nginx-one/getting-started.md --- - -To collect comprehensive metrics for NGINX Plus -- including bytes streamed, information about upstream systems and caches, and counts of all HTTP status codes -- add the following to your NGINX Plus configuration file (for example, `/etc/nginx/nginx.conf` or an included file): -```nginx -# This block: -# - Enables the read-write NGINX Plus API under /api/ -# - Serves the built-in dashboard at /dashboard.html -# - Restricts write methods (POST, PATCH, DELETE) to authenticated users -# and a specified IP range -# Change the listen port if 9000 conflicts; 8080 is the conventional API port. -server { - # Listen on port 9000 for API and dashboard traffic - listen 9000 default_server; +To collect comprehensive metrics for NGINX Plus, including bytes streamed, information about upstream systems and caches, and counts of all HTTP status codes, add the following to your NGINX Plus configuration file, for example `/etc/nginx/nginx.conf` or an included file: - # Handle API calls under /api/ - location /api/ { - # Enable write operations (POST, PATCH, DELETE) - api write=on; +{{< include "config-snippets/enable-nplus-api-dashboard.md" >}} - # Allow GET requests from any IP - allow 0.0.0.0/0; - # Deny all other requests by default - deny all; +{{< call-out "note" "Security tip" >}} +- By default, all clients can call the API. +- To limit who can call **any** API method, uncomment the `allow`/`deny` lines under `api write=on` and replace the example CIDR with your trusted network. +- To restrict write methods (`POST`, `PATCH`, `DELETE`), uncomment and configure the `limit_except GET` block. +{{}} - # For methods other than GET, require auth and restrict to a network - limit_except GET { - # Prompt for credentials with this realm - auth_basic "NGINX Plus API"; - # Path to the file with usernames and passwords - auth_basic_user_file /path/to/passwd/file; - - # Allow only this IP range (replace with your own) - allow 192.0.2.0/24; - # Deny all other IPs - deny all; - } - } - - # Serve the dashboard page at /dashboard.html - location = /dashboard.html { - # Files are located under this directory - root /usr/share/nginx/html; - } - - # Redirect any request for / to the dashboard - location / { - return 301 /dashboard.html; - } -} -``` - -For more details, see the [NGINX Plus API module documentation](https://nginx.org/en/docs/http/ngx_http_api_module.html) and [Configuring the NGINX Plus API]({{< ref "nginx/admin-guide/monitoring/live-activity-monitoring.md#configuring-the-api" >}}). - -After saving the changes, reload NGINX: - -```shell -nginx -s reload -``` +For more details, see the [NGINX Plus API module](https://nginx.org/en/docs/http/ngx_http_api_module.html) documentation and [Configuring the NGINX Plus API]({{< ref "nginx/admin-guide/monitoring/live-activity-monitoring.md#configuring-the-api" >}}). \ No newline at end of file diff --git a/content/nginx-one/metrics/enable-metrics.md b/content/nginx-one/metrics/enable-metrics.md index 0e677a78c..02894c2c1 100644 --- a/content/nginx-one/metrics/enable-metrics.md +++ b/content/nginx-one/metrics/enable-metrics.md @@ -14,10 +14,16 @@ nd-product: NGINX-One The NGINX One Console dashboard relies on APIs for NGINX Plus and NGINX Open Source Stub Status to report traffic and system metrics. The following sections show you how to enable those metrics. -### Enable NGINX Plus API +## Enable NGINX Plus API and dashboard {{< include "/use-cases/monitoring/enable-nginx-plus-api.md" >}} -### Enable NGINX Open Source Stub Status API +## Enable NGINX Plus API and dashboard with Config Sync Groups + +To enable the NGINX Plus API and dashboard with [Config Sync Groups]({{< ref "nginx-one/nginx-configs/config-sync-groups/manage-config-sync-groups.md" >}}), add a file named `/etc/nginx/conf.d/dashboard.conf` to your shared group config. Any instance you add to that group automatically uses those settings. + +{{< include "use-cases/monitoring/enable-nginx-plus-api-with-config-sync-group.md" >}} + +## Enable NGINX Open Source Stub Status API {{< include "/use-cases/monitoring/enable-nginx-oss-stub-status.md" >}} diff --git a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md index d0b5600f8..516bb3c7a 100644 --- a/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md +++ b/content/nginx-one/workshops/lab2/run-workshop-components-with-docker.md @@ -28,7 +28,7 @@ Make sure you have: - NGINX One service enabled in your XC account - Docker and Docker Compose installed and running - An active data plane key from [Lab 1: Get started with NGINX One Console]({{< ref "nginx-one/workshops/lab1/getting-started-with-nginx-one.md" >}}) -- A trial or paid NGINX Plus JWT license (saved as `nginx-repo.jwt`) from [MyF5](https://my.f5.com/manage/s/). +- A trial or paid NGINX One JWT license (saved as `nginx-repo.jwt`) from [MyF5](https://my.f5.com/manage/s/). - Basic Linux and NGINX know-how - Git installed and SSH key set up for GitHub access diff --git a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md index 1aa2838cc..c7743fec7 100644 --- a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md +++ b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md @@ -32,7 +32,8 @@ By the end of this lab, you’ll know how to: Make sure you have: - Completed [Lab 4: Config Sync Groups]({{< ref "nginx-one/workshops/lab4/config-sync-groups.md" >}}) -- Docker and Docker Compose installed and running (for Docker scenario) +- Docker and Docker Compose installed and running (for Docker scenario) +- A trial or paid NGINX One JWT license (saved as `nginx-repo.jwt`) from [MyF5](https://my.f5.com/manage/s/). - A VM with NGINX Plus R32 (or earlier), SSH access, and the NGINX Agent installed (for VM scenario) - {{< include "workshops/nginx-one-env-variables.md" >}} - Basic familiarity with Linux command line and NGINX concepts @@ -103,4 +104,70 @@ When you recreate containers, they re-register in the NGINX One Console. Use the {{< img src="nginx-one/images/unavailable-instances.png" alt="Table of three NGINX One Console instances filtered to ‘Availability = Unavailable.’ Shows hostnames (s.jobs-plus1, s.jobs-plus2, s.jobs-plus3), NGINX versions, grey ‘Unavailable’ circles, CVE and recommendation indicators, certificate status, operating system, and last reported times. The ‘Delete selected’ button appears at top right." >}} - \ No newline at end of file + + +## Scenario B: Use Config Sync Groups to upgrade NGINX Plus on a VM + +### Exercise B1: Create a Config Sync Group for VMs + +1. In the NGINX One Console, go to **Manage > Config Sync Groups**. +2. Select **Add Config Sync Group**. +3. In the **Name** field, enter `$NAME-sync-group-vm` (for example, `s.jobs-sync-group-vm`), then select **Create**. + +### Exercise B2: Add your VM to the Config Sync Group + +1. Select **Manage > Config Sync Groups**, then pick your config sync group's name. +2. On the **Details** tab, in the **Instances** pane, select **Add Instance to Config Sync Group**. +3. Select **Register a new instance with NGINX One then add to config sync group**, then select **Next**. +4. Select **Use existing key**, paste `` into the **Data Plane Key** box. +5. Copy the pre-filled `curl` command and run it on your VM: + + **Example**: + + ```shell + curl https://agent.connect.nginx.com/nginx-agent/install | \ + DATA_PLANE_KEY="" \ + sh -s -- -y -c "" + ``` + +6. Back in the NGINX One Console, select **Refresh**. Your VM appears in the list and its **Config Sync Status** shows **In Sync**. + +### Exercise B3: Enable the NGINX Plus API and dashboard + +In this exercise, you add a new configuration file (`/etc/nginx/conf.d/dashboard.conf`) to your shared group config. This file enables the NGINX Plus API and dashboard. Any instance you add to the group will pick up these settings automatically. + +{{< include "use-cases/monitoring/enable-nginx-plus-api-with-config-sync-group.md" >}} + +### Exercise B4: Add your JWT license file + +You need your NGINX One JWT license (from [MyF5](https://my.f5.com/manage/s/)) on each instance before you upgrade to the latest NGINX Plus. You can add it in your Config Sync Group so every member gets it automatically. + +1. In the NGINX One Console, select **Manage > Config Sync Groups**, then pick your config sync group's name. +2. Select the **Configuration** tab, then **Edit Configuration**. +3. Select **Add File**. +4. Select **New Configuration File**. +5. In the **File name** box, enter `/etc/nginx/license.jwt` (the filename must match exactly), then select **Add**. +6. Paste the contents of your JWT file into new file workspace. +7. Select **Next**, review the diff, then select **Save and Publish**. + +For more information, see [About subscription licenses]({{< ref "solutions/about-subscription-licenses.md" >}}). + +### Exercise B5: Upgrade NGINX Plus on your VM + +1. Upgrade the NGINX Plus package on your VM: + - **RHEL, Amazon Linux, CentOS, Oracle Linux, AlmaLinux, Rocky Linux** + + ```shell + sudo yum upgrade nginx-plus + ``` + + - **Debian, Ubuntu** + + ```shell + sudo apt update && sudo apt install nginx-plus + ``` + +2. In the NGINX One Console, go to **Manage > Instances**. +3. Select your VM instance in the list. +4. In the Instance Details panel, confirm the NGINX Plus version has been updated. +5. If the version doesn’t update right away, refresh the page after a few seconds. \ No newline at end of file From 26bc2c52bcb90be9f841bcd57791e4c3b70d3b29 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Tue, 24 Jun 2025 16:38:16 -0700 Subject: [PATCH 6/7] added note re FreeBSD not tested --- .../workshops/lab5/upgrade-nginx-plus-to-latest-version.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md index c7743fec7..08ca64339 100644 --- a/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md +++ b/content/nginx-one/workshops/lab5/upgrade-nginx-plus-to-latest-version.md @@ -108,6 +108,10 @@ When you recreate containers, they re-register in the NGINX One Console. Use the ## Scenario B: Use Config Sync Groups to upgrade NGINX Plus on a VM +{{< call-out "note" "Note" >}} +These steps cover RHEL, Amazon Linux, CentOS, Oracle Linux, AlmaLinux, Rocky Linux, Debian, and Ubuntu only. Other systems (for example, FreeBSD) aren’t covered here. +{{}} + ### Exercise B1: Create a Config Sync Group for VMs 1. In the NGINX One Console, go to **Manage > Config Sync Groups**. @@ -155,6 +159,7 @@ For more information, see [About subscription licenses]({{< ref "solutions/about ### Exercise B5: Upgrade NGINX Plus on your VM 1. Upgrade the NGINX Plus package on your VM: + - **RHEL, Amazon Linux, CentOS, Oracle Linux, AlmaLinux, Rocky Linux** ```shell From 2b117853b089fc3112d93318cb7cc045d8e320b8 Mon Sep 17 00:00:00 2001 From: Travis Martin Date: Wed, 25 Jun 2025 08:39:09 -0700 Subject: [PATCH 7/7] edits to nplus api dashboard snippet --- .../enable-nplus-api-dashboard.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/content/includes/config-snippets/enable-nplus-api-dashboard.md b/content/includes/config-snippets/enable-nplus-api-dashboard.md index 25fc3a31e..05446c2ac 100644 --- a/content/includes/config-snippets/enable-nplus-api-dashboard.md +++ b/content/includes/config-snippets/enable-nplus-api-dashboard.md @@ -5,27 +5,28 @@ files: - content/includes/use-cases/monitoring/enable-nginx-plus-api.md --- - ```nginx # This block enables the NGINX Plus API and dashboard +# For configuration and security recommendations, see: +# https://docs.nginx.com/nginx/admin-guide/monitoring/live-activity-monitoring/#configuring-the-api server { # Change the listen port if 9000 conflicts # (8080 is the conventional API port) listen 9000; location /api/ { + # To restrict write methods (POST, PATCH, DELETE), uncomment: + # limit_except GET { + # auth_basic "NGINX Plus API"; + # auth_basic_user_file /path/to/passwd/file; + # } + # Enable API in write mode api write=on; # To restrict access by network, uncomment and set your network: # allow 192.0.2.0/24 # replace with your network # deny all; - - # To restrict write methods (POST, PATCH, DELETE), uncomment: - # limit_except GET { - # auth_basic "NGINX Plus API"; - # auth_basic_user_file /path/to/passwd/file; - # } } # Serve the built-in dashboard at /dashboard.html @@ -38,4 +39,4 @@ server { return 301 /dashboard.html; } } -``` \ No newline at end of file +```