FastNetMon Advanced migration from MongoDB to FerretDB

In addition to MongoDB, FastNetMon Advanced has complete support for FerretDB, which has the following advantages over MongoDB:

  • Easy upgrade (no need to upgrade to intermediate major versions)
  • Easy maintenance (just a single binary)
  • Truly free Apache 2 open source license instead of proprietary SSPL
  • Transparent and community-focused development model

To migrate the existing installation from MongoDB to FerretDB, you need to export FastNetMon configuration using the configuration export/import capability.

This option is supported by FastNetMon starting from 2.0.182, and if you run an older version, you will need to upgrade at least to 2.0.182.

After that, please make a full configuration backup:

sudo fcli export_configuration fastnetmon_backup_to_ferretdb_migration.tar

Then you need to stop MongoDB and disable automatic start for it:

sudo systemctl stop mongod.service
sudo systemctl disable mongod.service 

Then install FerretDB:

wget https://install.fastnetmon.com/installer -Oinstaller
sudo chmod +x installer
sudo ./installer -ferretdb_only

Then check that FerretDB is running:

sudo netstat -lnpt|grep ferret
tcp6       0      0 ::1:27017               :::*                    LISTEN      5232/ferretdb       
tcp6       0      0 ::1:8089                :::*                    LISTEN      5232/ferretdb 

After this, you will need to upgrade FastNetMon to the latest version, which has native support for FerretDB, as older versions will not work with it.

After finishing the upgrade, check that fcli can reach FerretDB:

sudo fcli show main enable_ban
false

And then check that the FastNetMon daemon is working correctly with standard configuration:

sudo fcli commit

Then, wait ~60 seconds and check the following command to confirm that the FastNetMon daemon is running correctly:

sudo fcli show license
Production license for 10000 mbits valid until 2024-06-12

After that, remove the default configuration created by the FerretDB installer:

sudo fcli create_configuration
sudo fcli delete hostgroup global

And import previously saved configuration from MongoDB:

sudo fcli import_configuration fastnetmon_backup_to_ferretdb_migration.tar

And apply the configuration:

sudo fcli commit

After that, we recommend doing a DDoS drill to ensure everything is working correctly after migration.