Tabla de Contenidos
Nagios
Installation
- Create the nagios group and user:
groupadd -g 213 nagios useradd -u 213 -d /dev/null -s /bin/false -g nagios nagios
- Add the 'apache' user to the 'nagios' group, so that it can write to the
/var/nagios/rw
directory ('a' option prevents the user to be removed from other groups, the member of which he is already):usermod -aG nagios apache
- Install the Nagios::Plugin Perl module:
cpan -i Monitoring::Plugin
- Use sbopkg or install the individual packages using scripts from SlackBuilds.org, and install the following in this order:
- RRDTool
- nagios (currently, the package which can be built using a SlackBuilds.org script is nagios-4.0.8)
- nagios-plugin package
- nagios-graphing
- Edit
/etc/nagios/nagios.conf
and turn off the logging:CHANGE: use_syslog=1 TO: use_syslog=0 CHANGE: log_notifications=1 TO: log_notification=0
- Edit
/etc/httpd/extra/nagios.conf
, after the<Directory “/var/www/htdocs/nagios”>
line:CHANGE: Options None TO: Options FollowSymLinks
- Edit
/etc/httpd/http.conf
COMMENT: LoadModule mpm_event_module lib64/httpd/modules/mod_mpm_event.so UNCOMMENT: #LoadModule mpm_prefork_module lib64/httpd/modules/mod_mpm_prefork.so UNCOMMENT: #LoadModule cgi_module lib64/httpd/modules/mod_cgi.so (or #LoadModule cgi_module lib/httpd/modules/mod_cgi.so on 32bit installs) CHANGE: <IfModule dir_module> DirectoryIndex index.html </IfModule> TO: <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> CHANGE: # Uncomment the following line to enable PHP: # # Include /etc/httpd/mod_php.conf TO: # Uncomment the following line to enable PHP: # Include /etc/httpd/mod_php.conf RIGHT AFTER: DocumentRoot /srv/httpd/htdocs ADD: Include /etc/httpd/extra/nagios.conf
- Make sure apache starts at boot and start/restart apache:
chmod 755 /etc/rc.d/rc.httpd /etc/rc.d/rc.httpd restart
- Set the password for nagiosadmin :
htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
- (Not sure if this is necessary but, leaving it in until I can test)
Make sure nagios starts at boot and start/restart nagios:- Edit
/etc/rc.d/rc.local
and add:# Start nagios: if [ -x /etc/rc.d/rc.nagios ]; then echo "Starting nagios..." /etc/rc.d/rc.nagios start fi
- Edit
/etc/rc.d/rc.local_shutdown
(you may have to create this file if it does not exist, and make it executable) and add:# Stop nagios: if [ -x /etc/rc.d/rc.nagios ]; then echo "Stopping nagios..." /etc/rc.d/rc.nagios stop fi
- Make rc.nagios executable:
# chmod 755 /etc/rc.d/rc.nagios
- Start nagios:
# /etc/rc.d/rc.nagios restart
Check That Nagios Is Running
Goto http://YOUR_MACHINE/nagios/ and you should see Nagios working.
Add Users
- Run the
htpasswd
command for each user:htpasswd -c /etc/nagios/htpasswd.users bob htpasswd -c /etc/nagios/htpasswd.users sue
- Edit
/etc/nagios/cgi.cfg
and add the user(s) too:authorized_for_all_services=nagiosadmin,bob,sue authorized_for_all_hosts=nagiosadmin,bob,sue
(or add “
*
” to allow all authenticated users)
TROUBLESHOOTING
ERROR: When browsing to the nagios webpage (as nagiosadmin) you get “You do not have permission”
HINT: Check /var/log/httpd/error_log to see what is failing.
FIX1: Make sure that /srv/www/htdocs/nagios is “drwxrwxr-x nagios nagios”
FIX2: In /etc/http/httpd.conf make sure:
UNCOMMENT: Include /etc/httpd/mod_php.conf Do the "<IfModule dir_module>" change listed above.
—–
ERROR: When clicking on Nagios cgi pages, they are downloaded and not executed.
FIX: Make sure the “LoadModule cgi_module” is uncommented as described above.
ERROR: “stderr: execvp(/usr/libexec/monitoring-plugins/check_ping, …) failed. errno is 2: No such file or directory”
FIX: vi /etc/nagios/resource.cfg
CHANGE: $USER1$=/usr/libexec/monitoring-plugins TO: $USER1$=/usr/libexec/nagios
ERROR: I've done the FIXes above and it's still not working…
FIX: Didya restart httpd and/or nagios?
/etc/rc.d/rc.httpd restart /etc/rc.d/rc.nagios restart
Install NRPE On A Target Machine
ON THE TARGET MACHINE (as root):
groupadd -g 213 nagios useradd -u 213 -d /dev/null -s /bin/false -g nagios nagios
Install nagios via SBo (Required by Nagios-plugins)
Install nagios-plugins via SBo (Required by NRPE)
Install nrpe via SBo
Ignore the xinetd stuff, you have to run NRPE as a daemon on Slackware (unless you want to go through the headache of replacing inetd with xinetd)
So, start NRPE in Daemon mode:
chmod 755 /etc/rc.d/rc.nrpe /etc/rc.d/rc.nrpe start
Test NRPE
/usr/libexec/nagios/check_nrpe -H localhost NRPE v2.15 /usr/libexec/nagios/check_nrpe -H localhost -c check_users USERS OK - 1 users currently logged in |users=1;5;10;0
Add your Nagios server's IP into the allowed_hosts list:
vi /etc/nagios/nrpe.cfg allowed_hosts=127.0.0.1,192.168.1.77 (WHERE: 192.168.1.77 is the IP of your Nagios server)
chown nagios:nagios /etc/nagios/nrpe.cfg
ON THE NAGIOS SERVER MACHINE:
Add the client machine into one of the .cfg files
I did this:
vi /etc/nagios/nagios.cfg
ADD:
# Definitions for monitoring a linux machine cfg_file=/etc/nagios/objects/linux.cfg
chown nagios:nagios /etc/nagios/nagios.cfg
vi /etc/nagios/objects/linux.cfg_file ######################################################### # Linux configuration file ######################################################### define host { use linux-server host_name MyLinuxBox alias LinuxBox1 address 192.168.1.110 register 1 } define service{ host_name MyLinuxBox service_description PING check_command check_ping!100.0,20%!500.0,60% max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } ######################################################### # END OF FILE #########################################################
chown nagios:nagios /etc/nagios/objects/linux.cfg_file
Restart Nagios
/etc/rc.d/rc.nagios restart
Sources
* Originally written by arfon