Nagios (Centos 6.6) Easy way
Centos 6 Easier way to install Nagios Server
Install Epel Repository GPG key
# rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
Install Epel Repository Package
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Search and Install Nagios Packages
Required Packages:
nagios.x86_64
nagios-plugins.x86_64
nagios-plugins-all.x86_64
httpd.x86_64
Install the packages
# yum install httpd.x86_64 nagios.x86_64 nagios-plugins.x86_64 nagios-plugins-all.x86_64 -y
It might be different on your system, depends on how many packages you already have installed.
Configuring Apache
# chkconfig --level 35 httpd on
# service httpd start
Test Apache Install
Open your broser and navigate to your server IP address to test Apache works
If it doesn't we need to open up the firewall
# vi /etc/sysconfig/iptables
Add the line below:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Save the file and restart iptables
# service iptables restart
Test acessing your Nagios IP address once again
http://192.168.1.23
Note: If you see the Apache Test Page your Apache is working fine
Replace 192.168.1.23 with your server's IP address
Setup Nagios Apache Virtual Host
# cd /etc/httpd/conf.d/
# vi nagios.conf
The file should look as per below:
ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/"
<Directory "/usr/lib64/nagios/cgi-bin/">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/passwd
Require valid-user
</Directory>
Alias /nagios "/usr/share/nagios/html"
<Directory "/usr/share/nagios/html">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /etc/nagios/passwd
Require valid-user
</Directory>
Restart Apache
# service httpd restart
Set an User Name and Password to protect Nagios access
# htpasswd -c /etc/nagios/passwd nagiosadmin
New password: TYPE in a Password
Re-type new password: Type the same password again
Test the Nagios web Interface access
http://192.168.1.23/nagios/
Type in: nagiosadmin and your password
Note: If you see the Nagios Web Interface, things are looking good and Nagios is installed correctly.
We need to start Nagios service
# chkconfig --level 35 nagios on
Start Nagios
# service nagios start
Navigate to the Nagios web Interface at: http://192.168.1.23/nagios/
Enter username and password and click on: * Services
Note: by Now you should see the localhost being monitored and some default services.
Httpd service will display a warning: HTTP WARNING: HTTP/1.1 403 Forbidden
Note: Just create an empty index.html page.
# touch /var/www/html/index.html
That should take care of the warning.
Nagios 3.4.4 looks a a lot better than previous versions.
Integrating Nagvis to Nagios
Integrating Nagvis front-end to Nagios
If you want to make your Nagios look really professional, want to customise the it to make it look absolutely customer presentable. Nagvis is the tool for you.
Installing NagVis Front End for Nagios. This tool will allow you creating a cool visual for your Nagios portal. You can create a nice diagram with Visio and use it to make your Nagios portal look more professionally presentable to customers.
If you have followed my previous post on how to Install Nagios (Centos 6.6) easy way, all you have to do is to follow the steps below, and you will have both (Nagios and Nagvis) working and nicely integrated.
There are few packages we must install first:
Dependencies:
* rsync
* graphviz
* php-mbstring
* php
* php-gd
* php-pdo
* mk-livestatus-1.1.12.rhel6.x86_64.rpm
Installing required Packages
# yum install rsync graphviz php-mbstring php-gd php-pdo php -y
Downloading mk-live
# cd /usr/local/
# mkdir downloads
# cd downloads
# wget http://www.thruk.org/files/pkg/v1.52/rhel6/x86_64/mk-livestatus-1.1.12.rhel6.x86_64.rpm
# rpm -Uvh mk-livestatus-1.1.12.rhel6.x86_64.rpm
or
Simply issue the command below:
# rpm -Uvh http://www.thruk.org/files/pkg/v1.52/rhel6/x86_64/mk-livestatus-1.1.12.rhel6.x86_64.rpm
Once the mk-live package has been installed, we need to move to configuring the it, by integrating it to the Nagios.
Note: If you followed my previous post about installing Nagios, your Nagios config files should be on /etc/nagios
Configure mk-live package
# cd /etc/nagios
# mkdir -p var/rw
# chown -R nagios: var/
Edit Nagios.cfg file
# vi /etc/nagios/nagios.cfg
Add the lines bellow to the nagios.cfg and save it
broker_module=-1
broker_module=/usr/lib64/mk-livestatus/livestatus.o /etc/nagios/var/rw/live
Restart Nagios and Apache
# service nagios restart
# service httpd restart
Note: I would like to draw your attention to something very important.
A good systems Administrator always make sure he/she has a backup of any modified file.
Before you change configuration files, it is good practice to make a copy of the file you are about to change.
Downloading and Installing NagVis Package
# cd /usr/local/downloads
# tar -zxvf nagvis-1.7.2.tar.gz
# cd nagvis-1.7.2
# ls
Note: you should see various files including a README and a INSTALL.
The installation process is described in the INSTALL file, I suggest taking a look at it..
Once the package has been decompressed and expanded, we need to install it.
Installing Nagvis
# chmod 755 install.sh
# ./install.sh
The install.sh script will check various things within your system, including; path to Nagios, path to mk-live and all the required packages if they are installed.
Questions asked by install.sh script
1. Do you want to proceed? [y]: Y
hit [ENTER]
2. Please enter the path to the nagios base directory [/usr/sbin/nagios]: /etc/nagios
hit [ENTER]
3. Please enter the path to NagVis base [/usr/sbin/nagvis]: /etc/nagvis
hit [ENTER]
4. Script will check for all required packages, see below:
| PHP 5.3 found |
| PHP Module: gd php found |
| PHP Module: mbstring php found |
| PHP Module: gettext compiled_in found |
| PHP Module: session compiled_in found |
| PHP Module: xml compiled_in found |
| PHP Module: pdo php found |
| Apache mod_php found |
Note: If any package is presented as missing, kill the script and install the missing package.
Live is file we don’t need to create. It will automatically create when nagios restart. Need to give required permission for /etc/nagios/var/rw directory.
5. Do you want to use backend mklivestatus? [y]:Y
hit [ENTER]
6. Do you want to use backend ndo2db? [n]:n
hit [ENTER]
7. Do you want to use backend ido2db? [n]:n
hit [ENTER]
8. Do you want to use backend merlinmy? [n]:n
hit [ENTER]
9. Livestatus Socket (/etc/nagios/var/rw/live) found |
| PHP Module: sockets compiled_in found |
| Graphviz 2.26 found |
| Graphviz Module dot 2.26.0 found |
| Graphviz Module neato 2.26.0 found |
| Graphviz Module twopi 2.26.0 found |
| Graphviz Module circo 2.26.0 found |
| Graphviz Module fdp 2.26.0 found |
| SQLite 3.6 found |
Note: Make sure everything on the list above has been found.
Otherwise kill the script and install the missing packages.
10. Please enter the web path to NagVis [/nagvis]:
hit [ENTER]
11. Please enter the name of the web-server user [apache]:
hit [ENTER]
Please enter the name of the web-server group [apache]:
hit [ENTER]
create Apache config file [y]:
hit [ENTER]
12. Do you want the installer to update your config files when possible? [y] y
hit [ENTER]
13. Remove backup directory after successful installation? [n]: n
hit [ENTER]
Note: At this time Nagvis will display a summary of all choices made by you, if everything looks OK as I describe above,
just accept it.
14. Do you really want to continue? [y]: y
hit [ENTER]
Once the installation has been complete, restart Apache
# service httpd restart
Accessing Nagvis frontend
Open your bowser and point it to: http://192.168.1.23/nagvis
User Name: admin
Password: Admin
By this point you should see the default Nagvis frontend and there are various demo you can see.
It is pretty easy to install the localhost to be monitored.
I will create a how to with screenshots at later date.
Make sure NagVis has enabled the LIVE backend
# cd /etc/nagvis/etc
# vi nagvis.ini.php
Search for the line:
; backend="live_1"
Remove the ';' (semi-colonm) and save the file
backend="live_1"
Save the file and restart Apache and Nagios
# service httpd restart
# service nagios restart
Now you should be able to add easily the localhost and any servers you might already have configured.
Troubleshooting
# tail /var/log/message
Note: any error message generated by Nagios will be logged to this file.