App::Netdisco::Manual::Troubleshooting - Tips and Tricks for Troubleshooting
The netdisco-do command has several debug flags which will show what's going on internally. Usually you always add -D for general Netdisco debugging, then -I for SNMP::Info logging and Q for SQL tracing. For example:
netdisco-do
-D
-I
Q
~netdisco/bin/netdisco-do discover -d 192.0.2.1 -DIQ
You will see that SNMPv2 community strings are hidden by default, to make the output safe for sending to Netdisco developers. To show the community string, set the SHOW_COMMUNITY envinronment variable:
SHOW_COMMUNITY
SHOW_COMMUNITY=1 ~netdisco/bin/netdisco-do discover -d 192.0.2.1 -DIQ
This is useful when trying to work out why some information isn't displaying correctly (or at all) in Netdisco. It may be that the SNMP response isn't understood. Netdisco can dump any leaf or table, by name:
~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
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'
The last example above is useful for sending data to Netdisco developers, as it's more compact and readable than the standard tabular output (second example).
The database schema can be fully redeployed (even over an existing installation), in a safe way, using the following command:
~netdisco/bin/netdisco-db-deploy --redeploy-all
You can see HTTP Headers received by Netdisco, and other information such as how it's parsing the config file, by enabling the Dancer debug plugin. First download the plugin:
~netdisco/bin/localenv cpanm --notest Dancer::Debug
Then run the web daemon with the environment variable to enable the feature:
DANCER_DEBUG=1 ~/bin/netdisco-web restart
A side panel appears in the web page with debug information. Be sure to turn this off when you're done (stop and start without the environment variable) otherwise secrets could be leaked to end users.
To install App::Netdisco, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Netdisco
CPAN shell
perl -MCPAN -e shell install App::Netdisco
For more information on module installation, please visit the detailed CPAN module installation guide.