Nagios SNMP Trap Interface 2.0.a documentation

Baseline Requirements

«  Nagios SNMP Trap Interface   ::   Contents   ::   Installation  »

Baseline Requirements

Operating System

Nagios SNMP Trap Interface (NSTI) has been developed and tested exclusively on Linux systems. While all attempts were made to make it wholely POSIX compliant, no such assurances are made. In order to run this software with minimal issues, the developer can only offer direct support when using a Linux based distribution.

32 bit or 64 bit is not of importance when making this decision, there should be no major dependence of NSTI on one architecture or the other, please your your best judgment about your hardware and software expertise when deciding between the varying architectures.

Hardware

As far as hardware goes, requirements are difficult to list due to the sheer difference in size of SNMP ecosystems. Some people have maybe 10 servers and are only receiving a minimal amount of traps from this already small setup, to the other end of the line where these servers may be sending SNMP traps every single time a log entry is created. Very different ecosystems, if hardware requirements are a large issue, please contact the developer directly as there is no hard and fast rule.

Software

Nagios SNMP Trap Interface utilises many technologies to process traps. The following is a list of prequisites of necessary software and a bit of an explanation of whether or not you are expected to install the software, or NSTI will take care of it.

  • Apache

    Something needs to serve the web content. Apache is expected to be installed on your system and NSTI will not attempt to install it for you. Apache should almost certainly be in your Linux distribution’s package repository. For help on installing Apache on your system, please refer to apache.org‘s excellent documentation on the issue.

    The NSTI installer will generate the necessary Apache configuration.

    Apache must also have the mod_wsgi extension installed, which is also generally in most distribution repositories. The installations documentation can be found on Google Code.

  • SNMPTT

    SNMPTT is the engine behind NSTI and therefore must all be installed. NSTI checks if this is installed, but will not install it for you. It will edit the config file if necessary. SNMPTT’s installation procedure is documented at SNMPTT’s sourceforge.

  • MySQL

    The entire point of this software is provide quick access to SNMP traps. These traps will get logged into a database, and the database of choice for this MySQL. Other databases are available, however they will not be documented here until sufficient demand for such documentation is garnered. MySQL is most certainly in your Linux distribution’s package repository as well. However, MySQL’s install documentation can be found at dev.mysql.com.

    Beyond installation, you will need to create a user with SELECT, INSERT and UPDATE privileges in a given database. The default database name you will need to create is snmptt. The default database user and password is snmptt/snmpttpass. If you create some user and do not use these defaults (which for security reasons, you shouldn’t), you must indicate the proper login credentials in the settings.py file located in the nagiosti/nsti directory.

    Finally, you do not have to populate the database with any schema, NSTI’s installer will do this for you.

    Note

    It is your responsibility to create the MySQL user. This guide will later cover where to specify your user for NSTI to use, but it will not go through the steps of creating a MySQL user.

    See also

    If you are unsure of how to create a new user with proper permissions in MySQL, please refer to MySQL’s official documentation on the matter.

  • Python

    NSTI is written in Python and as such Python must be installed on the system. The Python version must be greater than or equal to Python 2.4. Python 2.4 is a fairly old version so your server should almost definitely have it installed. To check simply run

    $ python -V
    Python 2.4.3
    

    As well as Python, you will also need to install the MySQL libraries for Python, which are usually located in your Linux distribution’s package repository. RedHat based distributions have it listed as MySQL-python and Debian based distributions generally have it listed as python-mysqldb. Consult your distribution’s package manager for these packages to save yourself some hassle of installing them manually.

  • curl

    The NSTI installer depends on curl to be accessible in a */bin directory. A quick test to make sure curl is installed is to simply type curl on the command line. However, the NSTI installer will check for this dependency and tell you if its inaccessible.

Time

Time considerations for installing NSTI, while following the documentation is about 30 minutes to an hour.

«  Nagios SNMP Trap Interface   ::   Contents   ::   Installation  »