The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

netdisco-do - Run any Netdisco job from the command-line.

SYNOPSIS

 ~/bin/netdisco-do <action> [-DISQ] [-d <device> [-p <port>] [-e <extra>]]

DESCRIPTION

This program allows you to run any Netdisco poller job from the command-line.

The -d option will accept a hostname (that can be resolved to an IP with DNS), an IP address, or IP prefix (subnets in CIDR format). It can be any interface on the device known to Netdisco.

Note that some jobs (discoverall, macwalk, arpwalk, nbtwalk) simply add entries to the Netdisco job queue for other jobs, so won't seem to do much when you trigger them.

ACTIONS

discover

Run a discover on the device (specified with -d).

 ~netdisco/bin/netdisco-do discover -d 192.0.2.1

discoverall

Run a discover for all known devices.

macsuck

Run a macsuck on the device (specified with -d).

 ~netdisco/bin/netdisco-do macsuck -d 192.0.2.1

macwalk

Run a macsuck for all known devices.

arpnip

Run an arpnip on the device (specified with -d).

 ~netdisco/bin/netdisco-do arpnip -d 192.0.2.1

arpwalk

Run an arpnip for all known devices.

delete

Delete a device (specified with -d). Pass a log message for the action in the -e parameter. Optionally request for associated nodes to be archived (rather than deleted) by setting the -p parameter to "yes" (mnemonic: preserve).

 ~netdisco/bin/netdisco-do delete -d 192.0.2.1
 ~netdisco/bin/netdisco-do delete -d 192.0.2.1 -e 'older than the sun'
 ~netdisco/bin/netdisco-do delete -d 192.0.2.1 -e 'older than the sun' -p yes

renumber

Change the canonical IP address of a device (specified with -d). Pass the new IP address in the -e parameter. All related records such as topology, log and node information will also be updated to refer to the new device.

Note that no check is made as to whether the new IP is reachable for future polling.

 ~netdisco/bin/netdisco-do renumber -d 192.0.2.1 -e 192.0.2.254

nbtstat

Run an nbtstat on the node (specified with -d).

 ~netdisco/bin/netdisco-do nbtstat -d 192.0.2.2

nbtwalk

Run an nbtstat for all known nodes.

expire

Run Device and Node expiry actions according to configuration.

expirenodes

Archive nodes on the specified device. If you want to delete nodes, set the -e parameter to "no" (mnemonic: expire). If you want to perform the action on a specific port, set the -p parameter.

 ~netdisco/bin/netdisco-do expirenodes -d 192.0.2.1
 ~netdisco/bin/netdisco-do expirenodes -d 192.0.2.1 -p FastEthernet0/1 -e no

graph

Generate GrapgViz graphs for the largest cluster of devices.

You'll need to install the Graph::Undirected and GraphViz Perl modules, and possibly also the graphviz utility for your operating system. Also create a directory for the output files.

 mkdir ~netdisco/graph
 ~netdisco/bin/localenv cpanm Graph::Undirected
 ~netdisco/bin/localenv cpanm GraphViz

show

Dump the content of an SNMP MIB leaf, which is useful for diagnostics and troubleshooting. You should provide the "-e" option which is the name of the leaf (such as interfaces or uptime).

If you wish to test with a device class other than that discovered, prefix the leaf with the class short name, for example "Layer3::C3550::interfaces" or "Layer2::HP::uptime".

 ~netdisco/bin/netdisco-do show -d 192.0.2.1 -e interfaces
 ~netdisco/bin/netdisco-do show -d 192.0.2.1 -e Layer2::HP::interfaces

psql

Start an interactive terminal with the Netdisco PostgreSQL database. If you pass an SQL statement in the -e option then it will be executed.

 ~netdisco/bin/netdisco-do psql
 ~netdisco/bin/netdisco-do psql -e 'SELECT ip, dns FROM device'
 ~netdisco/bin/netdisco-do psql -e 'COPY (SELECT ip, dns FROM device) TO STDOUT WITH CSV HEADER'

location

Set the SNMP location field on the device (specified with -d). Pass the location string in the -e extra parameter.

 ~netdisco/bin/netdisco-do location -d 192.0.2.1 -e 'wiring closet'

contact

Set the SNMP contact field on the device (specified with -d). Pass the contact name in the -e extra parameter.

 ~netdisco/bin/netdisco-do contact -d 192.0.2.1 -e 'tel: 555-2453'

portname

Set the description on a device port. Requires the -d parameter (device), -p parameter (port), and -e parameter (description).

 ~netdisco/bin/netdisco-do portname -d 192.0.2.1 -p FastEthernet0/1 -e 'Web Server'

portcontrol

Set the up/down status on a device port. Requires the -d parameter (device), -p parameter (port), and -e parameter ("up" or "down").

 ~netdisco/bin/netdisco-do portcontrol -d 192.0.2.1 -p FastEthernet0/1 -e up
 ~netdisco/bin/netdisco-do portcontrol -d 192.0.2.1 -p FastEthernet0/1 -e down

vlan

Set the native VLAN on a device port. Requires the -d parameter (device), -p parameter (port), and -e parameter (VLAN number).

 ~netdisco/bin/netdisco-do vlan -d 192.0.2.1 -p FastEthernet0/1 -e 102

power

Set the PoE on/off status on a device port. Requires the -d parameter (device), -p parameter (port), and -e parameter ("on" or "off").

 ~netdisco/bin/netdisco-do power -d 192.0.2.1 -p FastEthernet0/1 -e on
 ~netdisco/bin/netdisco-do power -d 192.0.2.1 -p FastEthernet0/1 -e off

DEBUG LEVELS

The flags "-DISQ" can be specified, multiple times, and enable the following items in order:

-D

Netdisco debug log level

-I or -II

SNMP::Info trace level (1 or 2).

-S or -SS or -SSS

SNMP (net-snmp) trace level (1, 2 or 3).

-Q

DBIx::Class trace enabled