Installing Nagios on Fedora

If you follow these instructions, here's what you'll end up with:
  • Nagios and the plugins will be installed underneath /usr/local/nagios
  • Nagios will be configured to monitor a few aspects of your local system (CPU load, disk usage, etc.)
  • The Nagios web interface will be accessible at http://localhost/nagios/
  • Preparing Linux for Nagios installation
    • Make sure you've installed the following packages on your Fedora installation before continuing
      • Apache
      • GCC compiler
      • GD development libraries
    •  They can be installed by running
      • yum install httpd
      • yum install gcc
      • yum install glibc glibc-common
      • yum install gd gd-devel
    • Become the root user.
      • su -l
    • Create a new nagios user account and give it a password.
      • /usr/sbin/useradd -m nagios passwd nagios
    • Create a new nagcmd group for allowing external commands to be submitted through the web interface. Add both the nagios user and the apache user to the group.
      • /usr/sbin/groupadd nagcmd /usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd apache
  • Create a directory for storing the downloads.
    • mkdir ~/downloads
    • cd ~/downloads
  • Download the source code tarballs of both Nagios and the Nagios plugins
    • wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.1.2.tar.gz
    • wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
  • Compile and Install Nagios
    • Extract the Nagios source code tarball.
      • cd ~/downloads tar xzf nagios-3.1.2.tar.gz cd nagios-3.1.2 
    • Run the Nagios configure script, passing the name of the group you created earlier like so
      • ./configure --with-command-group=nagcmd
    • Compile the Nagios source code.
      • make all
    • Install binaries, init script, sample config files and set permissions on the external command directory.
      • make install
      • make install-init
      • make install-config
      • make install-commandmode
  • Customize Configuration
    • Sample configuration files have now been installed in the /usr/local/nagios/etc directory. These sample files should work fine for getting started with Nagios. You'll need to make just one change before you proceed... 
      •  Edit the /usr/local/nagios/etc/objects/contacts.cfg config file with your favorite editor and change the email address associated with the nagiosadmin contact definition to the address you'd like to use for receiving alerts.
        • nano /usr/local/nagios/etc/objects/contacts.cfg
  • Configure the Web Interface
    • Install the Nagios web config file in the Apache conf.d directory.
      • make install-webconf
    • Create a nagiosadmin account for logging into the Nagios web interface. Remember the password you assign to this account - you'll need it later.
      • htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
    • Restart Apache to make the new settings take effect.
      • service httpd restart
  • Compile and Install the Nagios Plugins
    • Extract the Nagios plugins source code tarball.
      • cd ~/downloads tar xzf nagios-plugins-1.4.11.tar.gz cd nagios-plugins-1.4.11
    • Compile and install the plugins.
      • ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
  • Start Nagios
    • Add Nagios to the list of system services and have it automatically start when the system boots.
      • chkconfig --add nagios chkconfig nagios on 
    • Verify the sample Nagios configuration files
      • /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
    • If there are no errors, start Nagios.
      • service nagios start
  • Modify SELinux Settings
    • Fedora ships with SELinux (Security Enhanced Linux) installed and in Enforcing mode by default. This can result in "Internal Server Error" messages when you attempt to access the Nagios CGIs.
      • See if SELinux is in Enforcing mode.
        • getenforce
      • Put SELinux into Permissive mode.
        • setenforce 0
      • To make this change permanent, you'll have to modify the settings in /etc/selinux/config and reboot.
    • Instead of disabling SELinux or setting it to permissive mode, you can use the following command to run the CGIs under SELinux enforcing/targeted mode:
      • chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
  • Login to the Web Interface
    • You should now be able to access the Nagios web interface at the URL below. You'll be prompted for the username (nagiosadmin) and password you specified earlier.
      • http://localhost/nagios/ 

To make sure an snmp check is working you can issue the following command in /usr/local/nagios/libexe.

./check_snmp -H -p -w 35 -c 40 -o 1.3.6.1.4.1.1748.3.1.1.6.0
 

    0 comments:

    Post a Comment