NetXMS Support Forum

English Support => General Support => Topic started by: MatthewDreher on May 27, 2016, 05:19:04 PM

Title: Import list of servers
Post by: MatthewDreher on May 27, 2016, 05:19:04 PM
Hello all,

I'm currently in the process of migrating from another monitoring solution and wanted to know if there was an easy way to import a list of names/ip addresses into netxms.  Two caveats here: 1. The servers will not have the agent installed initially (network only monitoring for now) and 2. I'd like to be able to associate an ipv4 and ipv6 ip address to the node when it's imported.   

Thanks for the assistance. 
Title: Re: Import list of servers
Post by: tomaskir on May 27, 2016, 06:06:44 PM
You will have to do this using a NXShell script, or using the API (I recommend the Java API, its really easy to work with).

Actually, if you want to, you can provide me with a sample csv file of you nodes, and I can write the Java importer into NetXMS for you.
(its that easy, about 200 lines of Java code)

Example csv:

Node name, IPv4 address, IPv6 address, Container to bind to
Example server 1, 1.1.1.1, 1::1, Servers
Example server 2, 2.2.2.2, , Other container
Title: Re: Import list of servers
Post by: MatthewDreher on May 27, 2016, 06:32:56 PM
Yep, gimme a bit.  I'll make sure it's formatted like you have below.  It's like 400 plus servers, so it can take a bit to go though

Thanks a ton. 
Title: Re: Import list of servers
Post by: MatthewDreher on May 27, 2016, 07:02:16 PM
Hey, I actually realized something.  I probably can't send out this list. Server names/IP addresses might be considered a bit touchy.  Would you be able to take an input using a file formatted like your example?
Title: Re: Import list of servers
Post by: tomaskir on May 28, 2016, 02:12:01 AM
Here is a functional NetXMS .csv importer:
https://github.com/tomaskir/NetXMS-csv-importer

It will take any address for a node (ipv4, ipv6 or a hostname), but will not add multiple addresses to a single node.
The reason for this is that NetXMS uses one primary address to communicate with the node, and then discovers all of the node's IP addresses over an Agent (be that NetXMS or SNMP Agent).

Adding multiple IP addresses to a dynamic interface in NetXMS is not possible manually.
I dont want to create multiple interfaces to assign multiple addresses to a node, because you would have to delete them manually later on.

The right solution to having all information (which includes all IP addresses) of a node is to have an Agent.
So lets not code work-arounds, and focus on solving it properly, by having an Agent present on the server node :)
Title: Re: Import list of servers
Post by: MatthewDreher on June 03, 2016, 10:37:37 PM
Unfortunately, I can't do that.  I've begged, but first and foremost we need to have an agentless monitoring solution.  I'll test this out this week (and I apologize for the delay... hectic week).

Thank you very much. 
Title: Re: Import list of servers
Post by: MatthewDreher on June 15, 2016, 05:06:34 PM
Hey, finally was able to sit down and work on this.  Getting an error  .Error - "NXCException"!
Error message - "Incompatible operation".

It imports about 150 servers out of a list of about 600, then I get this message. 

Update:  Did a little troubleshooting.  Once I get past about 180 or so entires in the nodes table, I only seem to be able to import servers one at a time using the tool.  Otherwise it throws the above exception. 
Title: Re: Import list of servers
Post by: tomaskir on June 15, 2016, 07:10:12 PM
I will consult with Viktor (since the error is from the NetXMS API), and get back to you asap.
Title: Re: Import list of servers
Post by: MatthewDreher on June 15, 2016, 07:15:03 PM
Thank you very much.  You have no idea how helpful this is. 
Title: Re: Import list of servers
Post by: tomaskir on June 20, 2016, 08:57:53 PM
After consulting with Victor, we found a potential issue when containers for imported nodes have name duplicities with other objects in NetXMS.
(internally, code could have chosen a non-container object to attempt to bind a node to)

I fixed it and released a newer version:
https://github.com/tomaskir/NetXMS-csv-importer/releases

Please try and let me know if it works now.
Title: Re: Import list of servers
Post by: MatthewDreher on June 21, 2016, 08:14:42 PM
Ah... much better.  Thank you very much. 
Title: Re: Import list of servers
Post by: tomaskir on June 21, 2016, 08:33:53 PM
Is it working correctly for you now and importing all the nodes?
Title: Re: Import list of servers
Post by: MatthewDreher on June 22, 2016, 05:08:32 PM
I had a few duplicate IPs to weed out, but yes, I got everything imported.  Thank you very much for the assistance.
Title: Re: Import list of servers
Post by: gmonk63 on August 14, 2016, 01:29:55 AM
Would it be possible to auto create the container if it does not exist
Title: Re: Import list of servers
Post by: tomaskir on August 14, 2016, 02:40:27 AM
Do you want just to create the container under "Infrastructure services", or do you want to create a whole container path?
Title: Re: Import list of servers
Post by: gmonk63 on August 14, 2016, 03:31:09 AM
Just  under Infrastructure Services
Title: Re: Import list of servers
Post by: tomaskir on August 14, 2016, 12:45:19 PM
Done, I released a new version with container creation support on
https://github.com/tomaskir/NetXMS-csv-importer/releases
Title: Re: Import list of servers
Post by: gmonk63 on August 14, 2016, 07:03:47 PM
Wow that was fast ...   Thank you   :D :D
Title: Re: Import list of servers
Post by: gmonk63 on June 20, 2018, 11:14:03 PM
tomas,

is it possible to add a feature that allows setting of proxy address on import


currently its is

Node Name  |Address   |Container to bind to


but it would be nice if it could be as follows

Node Name | Address  | Agent Proxy  |  ICMP Proxy |  SNMP Proxy | SSH Proxy |  Container to bind to


Thanks,

Gary