Sella NMS v0.1.0 (05/13/01) - http://www.digitalgenesis.com

Quick Install:

  0. Untar the distribution into a temp directory. It will create a sella_nms-0.1.0
     directory. Several examples follow:

     For .tar.gz files:
       tar xvzf sella_nms-0.1.0.tar.gz
        -or-
       zcat sella_nms-0.1.0.tar.gz | tar xvf -

     For .tar.bz2 files:
       tar xvIf sella_nms-0.1.0.tar.bz2
        -or-
       tar xvf sella_nms-0.1.0.tar.bz2 --with-compress-program=bzip2
        -or-
       bzcat sella_nms-0.1.0.tar.bz2 | tar xvf -

  1. Run './configure' in the sella_nms directory (you may need extra flags).

     cd sella_nms-0.1.0

     ./configure
     -or-
     ./configure --with-mysql-inc=/usr/local/include --with-mysql-lib=/usr/local/lib/mysql

  2. Run 'make all', then 'make install' as root.

     make all
     su -c 'make install'

  3. Setup sella_nms MySQL database.

     mysqladmin -u root -p create sella_nms
     mysql -u root -p sella_nms < docs/sella_nms-mysql.sql

  4. Open and edit sella_nms.conf. Configure as needed. Most options
     are described to the right of the option.

     vi /usr/local/sella_nms/etc/sella_nms.conf
     -or-
     emacs /usr/local/sella_nms/etc/sella_nms.conf

     The options that *must* be changed are the 'netblock' section and
     the 'mysql' section. The sella_nms.conf file is described in detail
     later in this file.

  5. Start up Sella NMS's discovery daemon.

     cd /usr/local/sella_nms/sbin
     ./start-discovery.sh
     -or-
     ./discovery ../libexec/configuration/libflatfile.so ../etc/sella_nms.conf

  6. Edit config.php in the html directory. Setting the database options as needed.

     cd /usr/local/sella_nms/html
     vi config.php
     -or-
     emacs config.php

  7. Copy html/*.php into your website's script directory.

     cd /usr/local/sella_nms/html
     cp sella_nms.php config.php utils.php <path to website script directory>

  8. Test by viewing sella_nms.php with your web browser.


Configuration:

  sella_nms.conf - This file contains all configuration options for Sella NMS.

  Below is a full list of options and descriptions of how they work:

  Format Overview
  ---------------

    The basic format of the config file follows a 'key value' pair, or a
    'key block' pair. All 'key value' pairs are terminated by a semicolon
    as shown below:

      threads 32;

    All 'key block' pairs are a keyword followed by a { } block. The block may
    contain a series of 'key value', 'key block' or values. Below is an example:

      icmp {
        enabled;
        threads 32;
        netblock {
          10.0.0.0/24;
        }
      }

    The config file supports nesting up to a depth of 255. The limit can be
    altered by editing FLATFILE_MAXDEPTH within flatfile.h and recompiling.


  Directives
  ----------

    action - The action block specifies the parameters and directives to each
             listed daemon.

      Syntax: action { ... }
      Context: root
      Default: n/a
      Required: yes
      Module: core
      Compatibility: Since v0.1.0.


    module - The module block specifies which modules a daemon will load and any
             parameters needed to load the module.

      Syntax: module { ... }
      Context: root
      Default: n/a
      Required: yes
      Module: core
      Compatibility: Since v0.1.0.


    discovery - Specifies options to the discovery daemon.

      Syntax: discovery { ... }
      Context: action, module
      Default: n/a
      Required: yes
      Module: core
      Compatibility: Since v0.1.0.


    storage - Specifies options to the storage module.

      Syntax: storage { ... }
      Context: module
      Default: n/a
      Required: yes
      Module: core
      Compatibility: Since v0.1.0.


    interval - Specifies the interval in seconds at which an action should occur.

      Syntax: interval <seconds>
      Context: action discovery
      Default: 300
      Required: no
      Module: core
      Compatibility: Since v0.1.0.


    icmp - Specifies options to specific to the icmp module.

      Syntax: icmp { ... }
      Context: action discovery, module discovery
      Default: n/a
      Required: no (except this is the only discovery module currently.)
      Module: modules/discovery/icmp/libicmp.so
      Compatibility: Since v0.1.0.


    mysql - Specifies options to specific to the mysql module.

      Syntax: mysql { ... }
      Context: module storage
      Default: n/a
      Required: no (except this is the only storage module currently.)
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    threads - Specifies the number of threads to use for this module.

      Syntax: threads <number>
      Context: action daemon_name module_name
      Default: 10
      Required: no
      Module: modules/discovery/icmp/libicmp.so
      Compatibility: Since v0.1.0.


    send - Specifies the number of packets to send to each IP.

      Syntax:  send <number>
      Context: action discovery icmp
      Default: 3
      Required: no
      Module: modules/discovery/icmp/libicmp.so
      Compatibility: Since v0.1.0.


    require - Specifies the number of packets required to be a an active IP.

      Syntax:  require <number>
      Context: action discovery icmp
      Default: 1
      Required: no
      Module: modules/discovery/icmp/libicmp.so
      Compatibility: Since v0.1.0.


    maxrtt - Specifies the maximum round trip time (rtt) for each packet in
             milliseconds. Longer maxrtt settings will make a discovery take
             longer, but will compensate for loaded devices.

      Syntax:  maxrtt <number>
      Context: action discovery icmp
      Default: 1000
      Required: no
      Module: modules/discovery/icmp/libicmp.so
      Compatibility: Since v0.1.0.


    netblock - Specifies the netblock(s) to scan for active devices. Supports
               CIDR notation.

      Syntax:  netblock <netblock | { ... }>
      Context: action discovery icmp
      Default: n/a
      Required: yes
      Module: modules/discovery/icmp/libicmp.so
      Compatibility: Since v0.1.0.


    load - Specifies the dynamic library that should be loaded for this module.

      Syntax:  load <dynamic library>
      Context: module daemon_name module_name
      Default: n/a
      Required: no
      Module: core
      Compatibility: Since v0.1.0.


    persistent - Specifies that libmysql.so should use persistent connections
                 to the database. This will result in faster transactions, but
                 will keep the socket open the majority of the time the daemon
                 is running.

      Syntax:  persistent
      Context: module storage mysql
      Default: enabled
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    compression - Specifies that libmysql.so should compress data on connections
                  to the database. This will cause additional overhead when
                  communicating with the database, but could give a speed benefit
                  if you are reading or writing to a database over a low speed
                  Internet connection.

      Syntax:  compression
      Context: module storage mysql
      Default: disabled
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    server - Specifies the IP address or hostname of the MySQL server. If this
             is set to 'localhost', then the MySQL client library will use the
             default file socket for access (usually /tmp/mysql.socket).

      Syntax:  server <IP or hostname>
      Context: module storage mysql
      Default: localhost
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    socket - Specifies the MySQL socket to use, rather than using TCP/IP.

      Syntax:  socket <filename>
      Context: module storage mysql
      Default: /tmp/mysql.socket
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    port - Specifies the TCP port to use when accessing the database.

      Syntax:  port <integer>
      Context: module storage mysql
      Default: 3306
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    database - Specifies the MySQL database to utilize.

      Syntax:  database <string>
      Context: module storage mysql
      Default: sella_nms
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    username - Specifies the MySQL username when connecting to the database.

      Syntax:  username <string>
      Context: module storage mysql
      Default: sella_nms
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


    password - Specifies the MySQL password when connecting to the database.

      Syntax:  password <string>
      Context: module storage mysql
      Default: empty string/no password
      Required: no
      Module: modules/storage/mysql/libmysql.so
      Compatibility: Since v0.1.0.


L' Estremit
