Upgrading
This page covers the procedure for upgrading NetXMS to a newer version within the same major release (e.g., 6.0.1 to 6.0.5) or to a new major release (e.g., 5.2 to 6.0).
For migrating the database between different database engines, see Database Migration.
Before You Begin
| Always back up the database before upgrading. Upgrades are one-way, and downgrading requires restoring from backup. For a complete pre-upgrade backup (including configuration files and server data directory), see Pre-Upgrade Backup. |
Pre-Upgrade Checklist
-
Review the release notes and the Breaking Changes Between Releases for any changes that may require manual intervention
-
Schedule a maintenance window — upgrades require restarting the server, which temporarily interrupts monitoring
-
Back up the database using your database engine’s native backup tool (
pg_dump,mysqldump, etc.) -
Check the database for errors — stop the server and run:
nxdbmgr checkProceed only if the database checker does not report any errors.
Linux Upgrade
Package Upgrade
If you installed via the package repository, upgrading is straightforward:
sudo apt update
sudo apt upgrade netxms-server netxms-agent
sudo dnf upgrade netxms-server netxms-agent
Database Schema Upgrade
The package manager automatically runs nxdbmgr upgrade to apply any required database schema migrations and restarts the server.
In some cases (for example, if the database engine packages were also upgraded simultaneously), the automatic database upgrade may not succeed. If this happens, the server will not start and the log file will show a message similar to:
Your database has format version 41.07, but server is compiled for version 41.18
To resolve this, manually run the database upgrade and start the server:
nxdbmgr upgrade
sudo systemctl start netxms-server
It is always safe to run nxdbmgr upgrade manually after a package upgrade, even if the automatic upgrade already succeeded.
The tool detects that the database is up to date and exits without making changes.
|
Windows Upgrade
-
Stop the NetXMS services (Core and Agent) via the Services console or:
net stop NetXMSCore net stop NetXMSAgentdW32 -
Run the new version installer. It detects the existing installation and performs an in-place upgrade.
-
After installation, upgrade the database schema:
nxdbmgr upgrade -
Start the services:
net start NetXMSCore net start NetXMSAgentdW32
Agent Upgrades
Agents can be upgraded independently of the server. The server is backward-compatible with older agent versions, so agents can be upgraded gradually.
Manual Agent Upgrade
Upgrade agents using the same method as initial installation (package manager, installer, or source build).
Centralized Agent Upgrade
NetXMS can push agent upgrades from the server:
-
Upload the new agent package to the server’s package manager ()
-
Select target nodes and deploy the upgrade package
-
The server pushes the package to each agent, which performs a self-upgrade and restart
| Centralized agent upgrade applies only to agents installed from standalone installers (primarily Windows). Agents installed via package managers (apt, dnf) should be upgraded through the package manager to maintain proper package state. |
| For large environments with many package-managed agents, consider using external orchestration tools such as Ansible or Salt to coordinate agent upgrades across multiple hosts. |
Post-Upgrade Verification
After upgrading:
-
Check the server log for any errors:
tail -100 /var/log/netxmsd -
Verify the server version in the management client ()
-
Check that all agents are connected (monitor the
SYS_AGENT_UNREACHABLEevents) -
Verify data collection is working (check recent DCI values on a few nodes)
Web Console Upgrade
After upgrading the server, also upgrade the web management console:
-
Download the new
nxmc.warfile matching the server version -
Replace the old WAR file in Tomcat’s
webappsdirectory -
Restart Tomcat
| The web console and desktop client must match the server’s MAJOR.MINOR version. Patch-level differences (e.g., 6.0.1 vs 6.0.3) are compatible, but MAJOR.MINOR mismatches may cause unexpected behavior or connection failures. |
Rollback
If the upgrade causes problems:
-
Stop the server
-
Restore the database from the pre-upgrade backup
-
Reinstall the previous server version (using packages or source)
-
Start the server
| Do not attempt to downgrade the database schema. Database schema changes are forward-only. Always restore from backup if you need to roll back. |