NetXMS Support Forum

Please login or register.

Login with username, password and session length

Author Topic: Netxms rancid export script  (Read 501 times)

innerfire

  • Newbie
  • *
  • Posts: 8
    • View Profile
Netxms rancid export script
« 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?
Logged

Victor Kirhenshtein

  • Lead Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 6509
    • View Profile
Re: Netxms rancid export script
« Reply #1 on: August 09, 2018, 02:34:52 pm »

Hi,

this is simple nxshell script that do what you need:

Code: [Select]
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

Best regards,
Victor
Logged

innerfire

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: Netxms rancid export script
« Reply #2 on: August 15, 2018, 05:01:40 pm »

Thanks i will try. Have a nice day  :)
Logged