NetXMS Support Forum

English Support => General Support => Topic started by: innerfire on August 07, 2018, 02:05:37 PM

Title: Netxms rancid export script
Post by: innerfire on August 07, 2018, 02:05:37 PM
Hello, everyone.

I want to make a script that should dump all nodes within container with name {Customer-name} that have custom attribute RANCID_ENABLED=1 set in the following format:
<Node-Name>, <node-IP>, <node-type from node custom attribute RANCID_TYPE  >

But i don't know where to start with it. Can someone give me advice?
Title: Re: Netxms rancid export script
Post by: Victor Kirhenshtein on August 09, 2018, 02:34:52 PM
Hi,

this is simple nxshell script that do what you need:


import csv, sys

w = csv.writer(sys.stdout, dialect='excel')
w.writerow(['name', 'ip', 'type']) # Header

for node in [o for o in s.getAllObjects() if isinstance(o, objects.Node)]:
    enabled = node.getCustomAttributes().get("RANCID_ENABLED")
    if enabled != None and int(enabled) == 1:
        w.writerow([
            node.getObjectName(),
            node.getPrimaryIP().getHostAddress(),
            node.getCustomAttributes().get("RANCID_TYPE")
        ])


You can find more information about nxshell here: https://wiki.netxms.org/wiki/Using_nxshell_to_automate_bulk_operations (https://wiki.netxms.org/wiki/Using_nxshell_to_automate_bulk_operations)

Best regards,
Victor
Title: Re: Netxms rancid export script
Post by: innerfire on August 15, 2018, 05:01:40 PM
Thanks i will try. Have a nice day  :)