NetXMS Support Forum

English Support => General Support => Topic started by: lhpaladin on June 05, 2026, 05:35:58 AM

Title: Integration of Oxidized with NetXMS
Post by: lhpaladin on June 05, 2026, 05:35:58 AM
Hi,

I'm trying to integrate NetXMS with Oxidized, but it seems the module isn't loading completely.

Adding the settings to the netxmsd.conf file results in the following message during system initialization:

[backup] Network device backup interface is not available
The URL and credential settings are all correct.

Thank you for your attention.
Title: Re: Integration of Oxidized with NetXMS
Post by: Tatjana Dubrovica on June 09, 2026, 12:59:02 PM
Hi,

That message is expected if the Oxidized module itself is not loaded — it's logged at startup once the server has scanned all loaded modules and found none providing a device backup interface.

The thing to check: adding the OXIDIZED settings section to netxmsd.conf only provides configuration values — it does not load the module. You also need to add the module to the load list:

Module = oxidized

So a complete config looks like this:

Module = oxidized

*OXIDIZED
BaseURL = https://oxidized.example.com
Login = user
Password = secret
DefaultModel = ios

Once the module is actually loaded, you should instead see:

[backup] Network device backup interface is provided by module OXIDIZED

If you've already got Module = oxidized in place and still see "not available", look at the lines just above it in the server log — the module reports the specific reason there, e.g.:

- Oxidized integration module initialization failed (cannot parse module configuration)
- Oxidized integration module initialization failed (invalid base URL) — the BaseURL must start with http:// or https://.

Starting the server with -D5 and checking the backup/oxidized debug-tag output will show exactly where it stops. Note that the Oxidized server being temporarily unreachable does not cause this message — that only produces a warning ("Oxidized server is not reachable, will retry on demand"), and the interface still initializes.

One more thing to confirm: the Oxidized integration was introduced in NetXMS 6.1.0, so make sure you're running 6.1.0 or later — on earlier versions the module doesn't exist.

Best regards,
Tatjana
Title: Re: Integration of Oxidized with NetXMS
Post by: lhpaladin on June 12, 2026, 03:56:06 AM
Thank you for your reply, Tatjana.

My mistake was because I had the following definition:

Module = webapi,Y
[WEBAPI]
...

Module = oxidized.nxm
[OXIZIDIZED]
...

The module declarations need to come before the configuration:

Module = webapi,Y
Module = oxidized.nxm

[WEBAPI]
...
[OXIDIZED]
...

This way, it works!

Thank you!
Title: Re: Integration of Oxidized with NetXMS
Post by: lhpaladin on June 12, 2026, 03:58:29 AM
Another question: can the password be entered using `nxencpasswd`?

Thank you!
Title: Re: Integration of Oxidized with NetXMS
Post by: Filipp Sudanov on June 12, 2026, 12:33:33 PM
Quote from: lhpaladin on June 12, 2026, 03:58:29 AMAnother question: can the password be entered using `nxencpasswd`?
Ups, that was forgotten in the implementation. Hopefully will be fixed in 6.2, created a ticket for it: https://github.com/netxms/netxms/issues/3321
Title: Re: Integration of Oxidized with NetXMS
Post by: lhpaladin on June 15, 2026, 03:43:56 PM
Hi Filipp,

Thanks for feedback.

I think one thing that could be implemented would be permissions to view the list of backups performed and another to export or view the backup content.
Title: Re: Integration of Oxidized with NetXMS
Post by: Alex Kirhenshtein on July 11, 2026, 06:43:31 PM
Thanks for the suggestion — I've opened an issue for it: https://github.com/netxms/netxms/issues/3409

At the moment all backup-related read operations (list of backups, latest backup, individual backup by ID) are gated only by "Read" access on the node, so anyone who can see the node can also pull the full device configuration with whatever it contains. Splitting that into a separate right for the backup list and another for viewing/exporting the actual content makes sense to me.

There are a few things to settle first — mainly what the default should be for existing installations, and the fact that the object access rights mask is nearly out of free bits — so I'll discuss it with the team before we implement anything. Feel free to add your thoughts to the issue.