Add an NGINX instance
This guide shows you how to add NGINX Open Source and NGINX Plus instances to F5 NGINX Instance Manager so you can manage them from a central dashboard.
Make sure you have:
- One or more instances running NGINX Open Source or NGINX Plus.
- Admin access to NGINX Instance Manager.
-
Open the NGINX Instance Manager web interface and log in.
-
In the Manage section on the left, select Instances.
-
Select Add.
-
Copy the
curl
command. -
On the host where your NGINX instance is running, run the
curl
command to install NGINX Agent:curl https://<NIM-FQDN>/install/nginx-agent | sudo sh
-
On the same host, run the following command to start NGINX Agent:
sudo systemctl start nginx-agent
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):
# 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;
# Handle API calls under /api/
location /api/ {
# Enable write operations (POST, PATCH, DELETE)
api write=on;
# Allow GET requests from any IP
allow 0.0.0.0/0;
# Deny all other requests by default
deny all;
# 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 and Configuring the NGINX Plus API.
After saving the changes, reload NGINX:
nginx -s reload
To collect basic metrics about server activity for NGINX Open Source, add the following to your NGINX configuration file:
server {
listen 127.0.0.1:8080;
location /api {
stub_status;
allow 127.0.0.1;
deny all;
}
}
This configuration:
- Enables the stub status API.
- Allows requests only from
127.0.0.1
(localhost). - Blocks all other requests for security.
For more details, see the NGINX Stub Status module documentation.
After saving the changes, reload NGINX to apply the new configuration:
nginx -s reload