Nagios-RPM

Install Nagios. 

Also Install basic plugins to monitor nagios server itself.


sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configsetenforce 0 

# install from EPEL

        yum -y install gcc glibc glibc-common gd gd-devel make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release perl-Net-SNMP httpd httpd-tools php php-cli xinetd unzip
yum --enablerepo=epel -y install  nagios  nagios-plugins-{ping,disk,users,procs,load,swap,ssh,http}yum install nrpe nagios-plugins*  -y yum --enablerepo=epel -y install nagios*

                     

  systemctl restart nagios.service  systemctl enable nagios.service

  systemctl restart xinetd 


#     vi /etc/nagios/nrpe.cfg

allowed_hosts=192.168.1.10


#    yum -y install nrpe nagios-plugins-nrpe


 systemctl start nrpesystemctl enable nrpe

#      vi /etc/nagios/objects/commands.cfg           # centos7

         vi /usr/local/nagios/etc/objects/commands.cfg                

# .check_nrpe. command definition #Added to the last line 


define command { command_name check_nrpe command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ }

[4] Configure Nagios.

[root@dlp ~]#     vi /etc/httpd/conf.d/nagios.conf

# line 24-26, change settings to set access permissionlike follows ( set for line 54-56, too )

 

Require all granted# Require local# Require ip 127.0.0.1 10.0.0.0/24

# add nagios admin user

[root@dlp ~]#       htpasswd -c /etc/nagios/passwd nagiosadmin 

New password:     # set any password

Re-type new password:

Adding password for user      nagiosadmin


[root@ns ~]#    vi /etc/nagios/objects/contacts.cfg

     32     email                   nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

                                          admin@worldcm.net


 systemctl restart httpd.service systemctl enable httpd.service

[5] If Firewalld is running, allow HTTP service.

[root@dlp ~]# firewall-cmd --add-service={http,https} --permanent 

success

[root@dlp ~]# firewall-cmd --reload 

success

[6] Access to the "http://(Nagios server's hostname or IP address)/nagios/" from a client which is in the network allowed by Nagios server 

and authenticate with the Nagios 

admin user "  nagiosadmin  " to login.

Host Allow

It's possible to monitor other servers on the network.

[1] For exmaple, add a server for monitoring target with simply Ping command.



# vi /etc/nagios/cgi.cfg 

 115 authorized_for_system_information=nagiosadmin,monitor

 127 authorized_for_configuration_information=nagiosadmin,monitor

 140 authorized_for_system_commands=nagiosadmin,monitor

 152 authorized_for_all_services=nagiosadmin,monitor

 153       authorized_for_all_hosts=nagiosadmin,monitor

 166 authorized_for_all_service_commands=nagiosadmin,monitor

  167 authorized_for_all_host_commands=nagiosadmin,monitor




------------------------------------------

[root@nagios ~]# vi /etc/nagios/nagios.cfg

# line 51: uncomment

cfg_dir=/etc/nagios/servers                          #[ Directory]

OR

cfg_file=/etc/nagios/objects/servers.cfg            #[File System]



creat Directory & permission 


 mkdir /etc/nagios/servers  chgrp nagios /etc/nagios/servers  chmod 750 /etc/nagios/servers 

[root@nagios ~]#     vi /etc/nagios/servers/mailserver.cfg

OR      vi /etc/nagios/objects/servers.cfg

# create new

define host{

    use                     linux-server

    host_name               google

    alias                   google

    address                 8.8.8.8

}

define service{

    use                     generic-service

    host_name               google

    service_description     PING

    check_command           check_ping!100.0,20%!500.0,60%

}

[root@nagios ~]#      systemctl restart nagios 

------------------------------------------------------------------------------------

 define host{

        use                     generic-dbl

        host_name               DBL-Tongi-Boardbazar

        alias                   DBL-Tongi-Boardbazar

        address                 172.16.5.98

        }

define host{

        use                     generic-dbl

        host_name               DBL-Uttara

        alias                   DBL-Uttara

        address                 172.16.5.94

        }

define hostgroup{

        hostgroup_name  dbl ; The name of the hostgroup

        alias           Dhaka Bank ; Long name of the group

        members         DBL-Dhanmondi-Model-Branch,DBL-Bhulta-ATM,DBL-Kakrail-ATM,DBL-Local-Office,DBL-Maijdee-Branch,DBL-Pagla-Branch,DBL-Rajshahi-Branch,DBL-Wari-ATM,DBL-Laxmipur-Branch,DBL-Amin-Bazar-Branch,DBL-Bashundhara-ATM,DBL-Chairman-Office,DBL-Shahjahanpur-Branch-ATM,DBL-Agargaon-Collection-Booth,DBL-Tangail-Branch-SM,DBL-Gulshan-2-Branch,DBL-Sayedpur-Branch,DBL-Dinajpur,DBL-Belkuchi-Tangail,DBL-Gohira-Rouzan,Dhaka-Bank-Rajanagor-branch,DBL-Madhabdi,DBL-Adomji-Court,DBL-Bogra,DBL-Dhanmondi,DBL-Dohar,DBL-Feni,DBL-Khulna,DBL-New-Market,DBL-Rangpur,DBL-Savar-Bazar,DBL-Satkhira,DBL-Sonaimuri,DBL-Tongi-Boardbazar,DBL-Uttara,DBL-Foreign-Exchange

        }

############################

define service{

        use                     generic-service

        host_name               DBL-Dhanmondi-Model-Branch,DBL-Bhulta-ATM,DBL-Kakrail-ATM,DBL-Local-Office,DBL-Maijdee-Branch,DBL-Pagla-Branch,DBL-Rajshahi-Branch,DBL-Wari-ATM,DBL-Laxmipur-Branch,DBL-Amin-Bazar-Branch,DBL-Bashundhara-ATM,DBL-Chairman-Office,DBL-Shahjahanpur-Branch-ATM,DBL-Agargaon-Collection-Booth,DBL-Tangail-Branch-SM,DBL-Gulshan-2-Branch,DBL-Sayedpur-Branch,Dhaka-Bank-Rajanagor-branch,DBL-Gohira-Rouzan,DBL-Dinajpur,DBL-Belkuchi-Tangail,DBL-Madhabdi,DBL-Adomji-Court,DBL-Bogra,DBL-Dhanmondi,DBL-Dohar,DBL-Feni,DBL-Khulna,DBL-New-Market,DBL-Rangpur,DBL-Savar-Bazar,DBL-Satkhira,DBL-Sonaimuri,DBL-Tongi-Boardbazar,DBL-Uttara,DBL-Foreign-Exchange

       

       service_description     PING

        check_command           check_ping!200.0,20%!600.0,60%

        normal_check_interval   5

        retry_check_interval    1

        }

---------

[2]

It's possible to view the status for a new server on the admin site.