FAQ
FAQ:
Please contact nmisdev@nmis.co.nz for help.
Q. If i want to customize dashboard to delete some of the buttons:
(Tables -> Locations Contacts Event Policy Logs List Escalation Thresholds Users Nodes Links Interface sysNodes sysInterface Services Model Slaves Toolset), which file do i edit?
A. You have two options - for example if the logged in user is privilege 'operator', then some buttons are grey out, and do not have an attached href. If this is not what you want, you want to remove the button, then set the bgroup to 'disabled' in toolset.csv.
Q. If i want to modify top row "Tue May 12 10:43:36 2009 EDT,
Dash,Large Dash,Doc,Statistics Type,Node,Group,Find,NMIS 4.3.1-beta4", which file do i edit?
A. Look at 'sub nmisMenuSmall' in cgi-bin/nmiscgi.pl and edit the select boxes as you require.
The version 'NMIS 4.3.1-xxx' is at the top of lib/NMIS.pm
Q. If i want to delete some of the buttons in NMIS_Tools column:
HEALTH TRAFFIC LINKLIST PORTSTATS TELNET HTTP PING TRACE
which file do i edit?
A. Set these to 'disabled' in toolset.csv
to check before you start to panic !!
Always check your file permissions, the files should be in the right
group and the HTTP Daemon should be able to read the files as well as
write some directories.
Did you check your config against the nmis-sample.conf?
Did you run "nmis.pl type=config" to make sure the config was right?
Have you run a "nmis.pl type=update debug=true"?
Have you been running NMIS for more then 1 hour?
NMIS creates lots of rrd's Round Robin Databases for each device it manages.
The current statistics options make the file sizes as follows:
health rrd 2.5megabytes
reachability rrd 756kilobytes
interface rrd 568kilobytes.
All of these RRD's make up the database and for a few routers could become
quite large quite quick.
the "interfaces" file?
A. The interfaces file is automatically generated by the NMIS system.
You don't need to manually make these interface files. There is
also an interfaces.dat which is all the interface data for all the devices
put together also generated automatically by the update process.
the loadoids_file subroutine?
A. This is a modification to the SNMP Simple package, SINS has made up
a distribution of SNMP_Simple availble here SNMP_Simple_NMIS.tar.gz
Q. How do I add support for my "name
of box" to NMIS ?
A. NMIS was written to support Cisco routers and switches. Well, thats
not quite true. NMIS can and does use the standard MIB-II SNMP statistics
that are available on modern equipment. So if you want to monitor a server,
printer or some other brand of equipment just identify it as a "server"
in the nodes.csv.
Of course, you aren't going to get the cool graphs that NMIS does for
CPU, Memory or Buffers. This is because they are not standard info and
moust be hardcoded into the Perl code. So if you want to monitor a Nortel
router or a Cabletron switch you will have to get the MIBs and read which
ones you want, then code into NMIS. This is not difficult but you do need
some Perl skills and you would have to be able to read a MIB and generate
an OID file. (Of course, networking knowledge would also be required to
configure the SNMP agent on the device).
A. You need to edit the loadmibs.pl script, put the names of the mibs
into the script and generate the OID files. Not straight forward
if you don't program in Perl but quite easy really. Something like:
mibdump.pl mibdir=/usr/local/share/snmp/mibs mibs=router outfile=/data/nmis/mibs/cisco-router.oid
You will need copies of MIBS, some available at http://www.sins.com.au/public/
Q. I am having problems with Ping?
A. NMIS now uses Perl Net::Ping and requires NMIS to be run with Root
privileges. For backwards compatibility the old routines are included
which execute Unix Ping.
Q, Why do my Catalyst (4000, 5000, 6000)
Switch Interfaces not appear in NMIS?
A. NMIS requires a description in the configuration on the switch interfaces
before it will collect data on them.
This is a good idea. You normally only want to monitor ports that connect
to servers or uplinks and who wants to spend time unmarking the interfaces
you don't want. Far better to put a description and let NMIS build the
config dynamically, than to spend time selecting which one of the {large
number} of interfaces you want to monitor (a la MRTG when you use configmaker).
Q.I have a Linux server that I would like to
test reachability of, and preferably graph interface statistics for. I've
got the ucd snmp server on it, and an snmpwalk from the box nmis is running
on to it gives me all the information I would think would be needed.
If I run an update or collect with debug true, it always tells me: "No
system file exists creating one."
and once I'm done, neither <BASE>/var/$node.dat nor <BASE>/var/$node-interface.dat
exists. This is the case when the node type is server or router.
Also, <BASE>/database/health/server/$node-reach.rrd exists, but
with no data in it, and <BASE>/database/interface/server/$node/
exists, but there are no files in it.
A. "The main thing is the removal of the check on system.sysServices,
as ucd-snmp doesn't define this (so NMIS will always think that SNMP is
not working for Linux boxes). "
Q. Do I need to do anything to SNMP Simple ?
A. No. SNMP Simple is now a part of the NMIS files and is already in
place. You can ignore those files.
You should take a few seconds to have a look through it and familiarise
yourself with what it does though. Its not compulsory just a good idea.
< height="223">
A. SNMP Simple is a set of Perl 5 modules that perform SNMP access requests.
They written by Simon Leinen simon@switch.ch.
Check his website
for full information. The SNMP Simple package contains Perl 5 modules
SNMP_Session.pm and BER.pm, which, when used together, provide rudimentary
access to remote SNMP (v1/v2) agent.
This module differs from existing SNMP packages in that it is completely
stand-alone, i.e. you don't need to have another SNMP package such as
NET-SNMP (as other monitoring packages do). It is also written entirely
in Perl, so you don't have to compile any C modules (very handy and easy
to use). It uses the Perl 5 Socket.pm module and should therefore be very
portable, even to non-Unix systems (so therefore works on a unusual platforms
like Amiga, Alpha and even Microsoft Windows ).
The SNMP operations currently supported are "get", "get-next",
"get-bulk" and "set", as well as trap generation and
reception. NMIS doesn't use the trap features at this time.
< height="142">
A. RRDtool refers to Round Robin Database tool. Round robin is a technique
that works with a fixed amount of data, and a pointer to the current element.
Think of a circle with some dots plotted on the edge, these dots are the
places where data can be stored. Draw an arrow from the center of the
circle to one of the dots, this is the pointer. When the current data
is read or written, the pointer moves to the next element. As we are on
a circle there is no beginning nor an end, you can go on and on. After
a while, all the available places will be used and the process automatically
reuses old locations. This way, the database will not grow in size and
therefore requires no maintenance. RRDtool works with with Round Robin
Databases (RRDs). It stores and retrieves data from them.
NMIS uses RRDtool as the database for SNMP information and the graphing
tool. Since NMIS does all of the requests to and from RRDtool, the average
NMIS user has little or no interaction with RRDtool.
Q. Does NMIS work on Microsoft
Windows (any version)?
A. You aren't going to like this. The short answer is no. The long answer
is yes, but.....
NMIS uses the Perl language and an Open Source Perl distribution is available
from ActiveState. However, NMIS uses
a couple of modules to provide Time to the program flow and these do so
at very high resolution. From what we (those good people on
the mailing list) can tell it seems that these modules are Unix/Linux
specific. Its seems that everyone uses a Unix/Linux variant at this time
(usually Red Hat or Debian although Keith wrote NMIS on Solaris i386)
so no-one has gotten around to fixing the problem. Some people have reported
problems with RRDtool on Microsoft platforms also but this is unconfirmed.
A couple of other points. One.The general consensus is that this
program is well suited to Linux/Unix environment and you are broadly encouraged
to do so as well. Two. Since very few people, or perhaps no-one,
is using Microsoft Windows then support is going to be a bit limited.
Three. It would be great if you can get it working on Microsoft
Windows and let us know. Then we can get a more people using NMIS and
develop the software even further than it is now.
< height="31">
Q. Why Don't ping and traceroute work?
NMIS was written on Solaris so until version 2.2 is finalised there are some hard-coded file locations you might have to change in /bin/admin.pl change the file locations for ping, traceroute etc. to suit your machine (the command 'which ping' will tell you where it lives)
You may need to change the syntax of ping - for eample the following works in Linux at about line 89 of /cgi-bin/admin.pl
if ($admin eq "ping") {
$adminoutput=`/bin/ping -c 5 -s 64 $node`;
}
The same applies for other commands. This will be automagically fixed in 2.2 :)
< height="31">
Q. Why Aren't I getting any stored reports?
Change the first line of run-reports.sh to #!/bin/sh if you don't have ksh at /bin/ksh ('which ksh' will tell you where it is or report an error if you don't have it at all.) Check that the path listed in the script will find all the commands listed in the file eg. date, col etc. Again, you can find their locations with 'which commandname
< height="31">
Q. How is the Group Summary metric derived
?
Reachability is 40%, health is 40% and availability is 20%.
< height="186">
Q. What are the weighting for the Health Metric
?
A. This more fully explained in the NMIS Changelog but the basic info
is:
reachability is 30%
interface utilisation is 20%
response time is 20%
availability is 10%
CPU is 10%
MEM is 10%
Interface Utilisation consists of all interface input and output utilisation
are each subtracted from 100, added together and then averaged, this number
is the interface weight, this will contribute 20% of the health metric
and should be quite responsive to interface utilisation.
Q. Can NMIS handle SNMP traps and
syslog?
A. No. But the NMIS event subsystem could be used in a real
time event system. It would be possible to integrate NMIS into the
Perl Syslog Daemon @ http://www.weirdness.net/acd/code/syslogacd
or into NET-SNMP which includes a trap daemon, some details are available
@ http://www.sins.com.au/nmis/net-snmp.html.
Q. Can't locate loadable object for module RRDs in @INC
A.
If you try to look at NMIS via a web browser at something like http://<your-web-server>/cgi-nmis/nmiscgi.pl
and you get an error message have a peek in your logs files (usually /usr/local/apache/logs/error.log).
If the last entry mentions "Can't locate loadable object for module RRDs
in @INC" then there are a couple of possibilities
You did install RRDTool didn't you?
It should also say what's in @INC. If you don't see a directory
there like /usr/local/rrdtool/lib/perl then go back to wher your rrdtool
source is and do a 'make site-perl-install' and try the webpage again
Check where RRDs.pm is (find /usr/local -name RRDs.pm
-print should do it). If that's in one of the paths in @INC then check each
and every dir and subdir from the root down to it is r_x by the apache user
(usually nobody or httpd).
