Quick Installation Guide

Below is the result of our efforts to be able to walk you through, step by step, the process of installing SANdMan on a central server and have it monitor your systems. Walk through it sequentially or hit the quick links to skip to the juicy bits. We've tried very hard to not leave anything out, but, hey, we're only humanoid. If you're having problems, visit our documentation pages to see if your problem has already been addressed. If not, please, .





System Requirements

  • Disk Space
  • In general, you will need around 5.6MB for each port you wish to monitor, or about 135MB for each 24-port switch. For example, we have 6 switches with a combined total of 122 ports, and the data directory takes up 686 megabytes.

  • Switches
  • SANdMan should work with any Fibre Channel (FC) switch that is SNMP enabled and supports the Fibre Alliance MIB version 4.0.

  • OS
  • Linux

  • Perl 5.10 (or greater)
  • Also, the following modules, all of which are available from http://www.cpan.org

    Required Perl Modules
    Data::Dumper(Data/Dumper.pm)
    File::Basename(standard distribution)
    File::Copy(File/Copy.pm)
    Getopt::Long(standard distribution)
    List::Util(List/Util.pm)
    Log::Dispatch::FileRotate(Log/Dispatch/FileRotate.pm)
    Log::Log4perl(Log/Log4perl.pm)
    Math::BigInt(standard distribution)
    Net::SNMP(Net/SNMP.pm)
    Number::Format(Number/Format.pm)
    Regexp::Common::time(Regexp/Common/time.pm)
    Template(Template.pm)
    Time::Piece(Time/Piece.pm)

    Some of the above modules come with Perl while the others are available from the CPAN website listed above.

  • HTTP Server
  • e.g. Apache webserver. Only required if you want to use the web interface.

  • Web Browser
  • e.g. Mozilla Firefox, Microsoft IE. Only required if you want to use the web interface.

  • RRDTool
  • Perl bindings must be installed in the system Perl directory. http://oss.oetiker.ch/rrdtool/

Installation

  1. Make sure all of the above prerequisites are installed.
  2. Edit Makefile.inc and modify the following variables in the user-configurable variables section to suit your site:
    1. ORGANIZATION - appears in the page header

      SANDMAN_PREFIX - the path to the installation, e.g. '/usr/local'

      DOCUMENTROOT - the document root of your webserver, e.g. '/var/www/html'

      SANDMAN_HTTP - the path to the web files used by SANdMan, like CGI and HTML files. Should be inside the document root, e.g. '/var/www/html'

      PERL - the path to the Perl binary, e.g. '/usr/bin/perl'

      RRDCGI_BIN - the path to the rrdcgi binary, e.g. '/usr/local/rrdtool/bin/rrdcgi'

      SANDMAN_USER, SANDMAN_GROUP - the user and group that will run snmp-poll and port-map

      HTTPD_USER, HTTPD_GROUP - the user and group that own the files on your web server

  3. Type 'make install'. If you wish to install in a root-owned directory (e.g. /usr/local), you must run this command as root.

Configuration/Post-Installation

  1. Edit the hosts.cfg file.
  2. Change directory to ${SANDMAN_PREFIX}/sandman, where ${SANDMAN_PREFIX} is the value you specified in Makefile.inc before running make install.

    Add a line to hosts.cfg for each host and partition you wish to collect partition and volume information on (fields are explained at the top of the file). This is for the RAIDPart functionality that was added to SANdMan in v0.0.5.

    Ex.
    host1 // /var
    host2 // /home\d

  3. Edit the switch.cfg file.
  4. Add a line to switch.cfg for each FC switch you wish to monitor (fields are explained at the top of the file).

    Ex.
    SAN1 // switch1 // switch1 description // 161 // public // 10 00 00 C0 DD 12 CA FE // 16.0.0.192.221.18.202.254

  5. Edit the wwpn_name_table.dat file.
  6. Add a line to wwpn_name_table.dat for each device connected to your SAN (fields are explained at the top of the file). This is used for the port mapper. Note that if the same device has multiple ports connected to the SAN, you need to list each port separately.

    Ex.
    host1-portA // 21 00 00 24 FF 3E 53 9E
    host1-portB // 21 00 00 24 FF 3E 53 9F

  7. Configure your Apache web server.
  8. Copy the file cfg/sandman-httpd.conf into Apache's conf.d directory and restart Apache.

    Ex.
    % cp /usr/local/sandman/cfg/sandman-httpd.conf /etc/httpd/conf.d/
    % service httpd configtest
    % service httpd reload

  9. Run webgen.
  10. This will generate the web pages.

    Ex. % /usr/local/sandman/bin/webgen

  11. Generate additional pages.
  12. To generate the port-map, hardware, and RAIDPart pages, run the following scripts (in order):

    % /usr/local/sandman/bin/port-map
    % /usr/local/sandman/bin/hardware
    % /usr/local/sandman/sbin/san_mapping
    % /usr/local/sandman/sbin/logical_volumes
    % /usr/local/sandman/sbin/partitions
    % /usr/local/sandman/sbin/physical_volumes

  13. Create a crontab entry.
  14. The scripts other than webgen should run on a regular basis, especially snmp-poll, which populates the RRD files with data. You can make sure they run at the right intervals by adding a crontab entry like the following:

    0-59/5 * * * * /usr/local/sandman/bin/snmp-poll > /dev/null 2>&1
    2 0,12 * * * /usr/local/sandman/bin/port-map > /dev/null 2>&1
    5 0,12 * * * /usr/local/sandman/bin/hardware > /dev/null 2>&1
    8 0,12 * * * /usr/local/sandman/sbin/san_mapping > /dev/null 2>&1
    10 0,12 * * * /usr/local/sandman/sbin/physical_volumes > /dev/null 2>&1
    15 0,12 * * * /usr/local/sandman/sbin/logical_volumes > /dev/null 2>&1
    20 0,12 * * * /usr/local/sandman/sbin/partitions > /dev/null 2>&1

That should be it. Congrats! You now have SANdMan installed. For questions and support, see our documentation page where you can get all kinds of useless helpful information, or .