Migration Guide
Follow the instructions in this guide to migrate from NGINX Instance Manager v1 to v2
This documentation applies to NGINX Instance Manager v2.0 and later.
Prerequisites
To complete this tutorial, you need the following:
-
A host with NGINX Instance Manager v1 installed that’s managing NGINX instances.
Note:
You’ll need to install NGINX Instance Manager v2 on this same host in coexistence with NGINX Instance Manager v1. This allows you to migrate the managed NGINX instances to the newer version. Verify that the host meets the technical requirements for NGINX Instance Manager v2.
The package name for NGINX Instance Manager changed from
nginx-manager
tonms-instance-manager
. You can run these packages in parallel.
Migrate NGINX Instance Manager
Begin the migration process by installing NGINX Instance Manager v2.
-
Follow the instructions for Installing NGINX Instance Manager v2. License NGINX Instance Manager v2 according to the installation guide.
-
For systemd systems, take the following steps to start or reload NGINX Instance Manager:
-
Start the ClickHouse database server if it’s not running:
-
Check to see if the ClickHouse server is running:
sudo systemctl status clickhouse-server
-
If necessary, start the ClickHouse server:
sudo systemctl start clickhouse-server
-
-
Start or restart the NGINX web server:
-
Check to see if the NGINX is running:
sudo systemctl status nginx
-
Start NGINX if it’s not running:
sudo systemctl start nginx
—Or—
-
If NGINX is already running, reload it:
sudo service nginx reload
-
-
Enable the following NGINX Instance Manager services:
sudo systemctl enable nms-core sudo systemctl enable nms-dpm sudo systemctl enable nms-ingestion sudo systemctl enable nms
Description of the services:
nms-core
: The core service hosts the APIs for setting up and configuring the control plane and analyzing analytics information (metrics, events, and alerts).nms-dpm
: The data plane manager (DPM) service hosts the APIs for managing and configuring NGINX instances on the data plane. The DPM also monitors the state of data plane resources and generates reports and event messages.nms-ingestion
: The ingestion service collects metrics, security violations, and events from NGINX Agents that aren’t sent to the data plane manager. These metrics can be forwarded to external datastores.nms
: A pseudo service used to start the the othernms-*
services.
-
Start the NGINX Instance Manager service:
sudo systemctl start nms
NGINX Instance Manager components started this way run by default as the non-root
nms
user inside thenms
group, both of which are created during installation. -
To verify the NGINX Instance Manager services are running, run the following command:
ps aufx | grep nms
The output should show processes for:
nms-core
nms-dpm
nms-ingestion
-
(Optional) If a new admin password was generated for you, change this password with your own as soon as possible. To do so, follow the steps in the Set up Authentication guide.
-
-
(Optional) After the installation finishes, you need to migrate any customized configurations.
Refer to the following table for mapping NGINX Instance Manager v1 properties to their v2 equivalents. For NGINX Instance Manager v2, the properties are split between NGINX Instance Manager’s configuration file (
nms.conf
) and the NGINX proxy instance’s configuration (nms-http.conf
).
NGINX Instance Manager v1 property | NGINX Instance Manager v2 equivalent | Configuration file |
---|---|---|
audit_log |
access_log |
/etc/nms/nms.conf |
beacon.address |
DEPRECATED | N/A |
beacon.batch_size |
DEPRECATED | N/A |
beacon.flush_interval |
DEPRECATED | N/A |
beacon.token |
DEPRECATED | N/A |
bind_address |
server.listen |
/etc/nginx/conf.d/nms-http.conf |
cert |
server.ssl_certificate |
/etc/nginx/conf.d/nms-http.conf |
gateway_port |
server.listen |
/etc/nginx/conf.d/nms-http.conf |
grpc_port |
dpm_grpc_addr |
/etc/nms/nms.conf |
influxdb.address |
DEPRECATED | N/A |
influxdb.batch_size |
DEPRECATED | N/A |
influxdb.bucket |
DEPRECATED | N/A |
influxdb.flush_interval |
DEPRECATED | N/A |
influxdb.gzip |
DEPRECATED | N/A |
influxdb.org |
DEPRECATED | N/A |
influxdb.tls.ca |
DEPRECATED | N/A |
influxdb.tls.cert |
DEPRECATED | N/A |
influxdb.tls.enable |
DEPRECATED | N/A |
influxdb.tls.key |
DEPRECATED | N/A |
influxdb.token |
DEPRECATED | N/A |
installer.dir |
DEPRECATED | N/A |
installer.filename |
DEPRECATED | N/A |
installer.port |
DEPRECATED | N/A |
installer.username |
DEPRECATED | N/A |
key |
server.ssl_certificate_key |
/etc/nginx/conf.d/nms-http.conf |
license |
DEPRECATED | N/A |
log.level |
log_level |
/etc/nms/nms.conf |
log.path |
DEPRECATED | N/A |
metrics.storage-path |
DEPRECATED | N/A |
rbac |
DEPRECATED | N/A |
scanner.host_discovery |
DEPRECATED | N/A |
scanner.icmp_timeout |
DEPRECATED | N/A |
scanner.tcp_timeout |
DEPRECATED | N/A |
server_name |
server.server_name |
/etc/nginx/conf.d/nms-http.conf |
skip_validation |
DEPRECATED | N/A |
Important:
The default
dpm_grpc_addr
value uses Unix domain sockets. We advise against replacing the default value.Also, the license must be passed using the NGINX Instance Manager REST API or web interface and is no longer configurable.
After you’ve updated the configuration, you can migrate the managed NGINX instances. To do this, upgrade the NGINX Agents from v1 to v2. See the instructions in the following section for how to migrate the NGINX Agents.
Upgrade the NGINX Agent
To upgrade the NGINX Agent from v1 to v2, take the following steps:
-
Follow the instructions to Install NGINX Agent v2.
-
After the installation finishes, restart the NGINX Agent:
sudo systemctl restart nginx-agent
-
Continue to the next section to migrate the managed NGINX instances to NGINX Instance Manager v2.
Transfer Managed NGINX Instances
After each NGINX Agent has been upgraded to v2, the managed instance should appear in the “Inventory” view for NGINX Instance Manager v2. The managed NGINX instance no longer appears as Connected
in the NGINX Instance Manager v1 “Inventory” view.
After you finish migrating all of the managed NGINX instances, you can uninstall the NGINX Instance Manager v1.
To uninstall NGINX Instance Manager v1, take the following steps:
-
Stop the NGINX Instance Manager v1 service:
sudo systemctl stop nginx-manager
-
Uninstall NGINX Instance Manager v1:
sudo yum remove nginx-manager
sudo apt-get remove nginx-manager