Friday, July 29, 2016

Bacula Server Installation and Configuration on Centos 6.7

Bacula Server Installation and Configuration on Centos 6.7

hostname : node1.amit.com
ip :- 192.168.1.225 (server)
client 192.168.1.10
You have to Enable Epel Repository on Centos machine for installing Bacula.For this follow below steps:
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

install Webmin
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.801-1.noarch.rpm
hen install optional dependencies with :-
yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty
and then run the command :-
 rpm -U webmin-1.801-1.noarch.rpm
Webmin at the URL http://localhost:10000/
Step 2:Install Mysql and Bacula:
# yum install mysql-devel mysql-server
# yum install bacula-storage-mysql bacula-docs
# yum install bacula-director-mysql bacula-console
# yum install bacula-traymonitor
Start and Configure Mysql for Bacula:
# service mysqld start
# chkconfig mysqld on
mysql_secure_installation

and set password

login mysql :-

 mysql -u root –p    :- inter password in case root@123

create data base after mysql loign

create database bacula;

 Give permission to root user
grant all on *.* to 'root'@'localhost';
flush privileges;
update user set password=PASSWORD("root@123") where User='root';
Now, configure Mysql for bacula, for this run the following scripts, i used password as “redhat”:

# /usr/libexec/bacula/grant_mysql_privileges -u root –p
Enter password: root@123

 # /usr/libexec/bacula/create_mysql_database -u root –p
Enter password: root@123

 # /usr/libexec/bacula/make_mysql_tables -u root –p
Enter password: root@123

 # /usr/libexec/bacula/grant_bacula_privileges -u root –p

Enter password: root@123

Now, Check mysql database for bacula:

Baculaserver # mysql -u root –p

Enter password:

mysql> show databases; (let’s see what databases the bacula user have access to)

mysql> use bacula; (set default database to bacula (bacula is the name of the Catalog database).

mysql> show tables; (let’s see what tables are in the Catalog database)

mysql> quit (quit MySQL CLI prompt to return to OS system prompt)

Configure the default configuration file ``bacula-dir.conf `` on bacula server:
Step 1:Edit Director Section of “bacula-dir.conf” file and Change Director Name and Password of your choice as i mentioned below:
# vim  /etc/bacula/bacula-dir.conf

Step 2:Edit Catalog Section of bacula-dir.conf file and Change dbuser as bacula and dbpassword as redhat:

Step 3:Create Client {…} section in bacula-dir.conf file for client (192.168.0.151):
Name: this Client {…} section defines the client, so name it client.
Address: the IP address of the client.
Password: password specific for client and must match the password specified in bacula-fd.conf Director {…} section on the client server.

Step 4:Create Client {…} section in bacula-dir.conf file for window pc (192.168.0.100):

Step5:Edit Storage {…} section in bacula-dir.conf file:
Name: we are going to use 2 devices (disks) for backup, so I like the name of this section to represent the disk number of the device, this section is going to point to filestorage having name file and filestorage2 is having name file2.
Address: ip address of the pc which is having storage available.
SDPort: the port on which to connect the Storage Daemon.
Password: this password should match the bacula-sd.conf Director {…} section.
Media Type: Bacula supports many different media types, eg. DDS-4 tapes, DVDs etc. We are using files to store the backup data, so we specify the Media Type = File.


Step 6:create new Pools in Pool {…} section in bacula-dir.conf:


Step 7:Open bconsole.conf file and edit bconsole.conf Director Section on bacula server:
# vim /etc/bacula/bconsole.conf
Name: Here you must use the same name you gave the bacula-dir.conf Director {} section (there the Director defines itself).
DIRport: The port on which the Console will contact the Director.
Address: the address on which the Director run
Password: the password should match the password in the bacula-dir Director {} section.

Edit name, address and password. It should be same as mentioned in bacula-dir.conf file.
Step 8:Create the backup folders:
I am configuring storage on the same machine which i used for bacula server.So, storage and bacula server is on same PC.
# mkdir /backup1
# mkdir /backup2
#chown -R bacula:bacula /backup1
#chown -R bacula:bacula /backup2
#chmod -R 700 /backup1
#chmod -R 700 /backup2
Step 9:Now,Open bacula-sd.conf file and edit storage Section:
# vim /etc/bacula/bacula-sd.conf
Name: This same name is also in the bacula-dir.conf Storage {…} section.
SDPort: The port on which this Storage daemon will listen (and therefore the port on which the Director must contact this Storage daemon).
SDAdress: mention IP of the storage server.

Now, Edit Director Section in bacula-sd.conf file:
Name: the name of the Director that can administer this Storage daemon.
Password: the password that the Director must use to administer this Storage daemon. This same password is also in the bacula-dir.conf Storage {…} section.

Now, Edit device Section in bacula-sd.conf file:
Name: this will specify a disk device to use for storage.
Archive Device: here you specify the mount point of the actual device (the actual hard drive I want to use is mounted as /bacula/backup1). You can also use just a folder to store your backup, it does not need to be a fresh disk.


Step 10:Edit message Section in bacula-sd.conf file:
Change to correct Director Name, in our case its kvit-dir. This section Send all messages to the Director, mount messages also are sent to the email address.

 Now, start Bacula and Mysql services:
# service bacula-dir start
# service bacula-sd start
# chkconfig bacula-dir on
# chkconfig bacula-sd on
# service mysqld start
# chkconfig mysqld on
Install and configure Linux File Daemon (bacula-fd) on bacula client machine(centos machine):
Use Putty on a Windows box to log onto the client linux machine and install:
#yum install bacula-client
#rpm –qa bacula-client bacula-common
DONE – bacula file daemon installed on backup target server.
Now, Edit bacula-fd.conf file on client machine and do the following changes as mentioned in red circles:
# vim /etc/bacula/bacula-fd.conf



Start bacula-fd service on baculaclient:
# service bacula-fd start
#chkconfig bacula-fd on
Install and Configure Windows File Daemon on the windows machine : (bacula client)
Log on to a windows server that you want to backup either locally or remote using eg. Remote Desktop.
From SourceForge.net download the bacula windows file daemon that match the version on your backup server (in my case it is 5.0.3).
On your windows server, double click the downloaded installation file to start the bacula file daemon installer.


Write the name that you later will give to the Bacula Director (I choose kvit-dir). Press the “Install” button.
Navigate to C:\Program Files\Bacula, the Bacula main folder on the window (admin1) machine.
In C:\Program Files\Bacula folder notice  bacula-fd.conf file.Edit this file and change the followings:

Now, Restart the file daemon service on admin1 :
write services.msc at run and press the “Ok” button to launch the Services Manager.

Now, Window machine is configured for backup by bacula.
Configure Webmin and testing connections on bacula and mysql:
Now use your web browser and enter the host IP address where you installed Bacula:
https://192.168.0.125:10000


This will take you to the Webmin. Login using user root. You will find the Bacula module on the left under System. It’s showing error. Click on module configuration and do the following changes which mentioned in red circle and save it. Now, you are able to access bacula through webmin console.


Now, we are going to check the connections on bacula server:
On bacula server type bconsole and press enter:
#bconsole
This starts the console program and confirms that you can connect to bacula Director.
*status storage                  (test if you can connect to storage resources)

*status client (prompt for a client to connect to – try selecting win-fd to see if you can connect to window pc)

*list clients           (you should be able to see the 2 clients win & client)

*quit
Check database on mysql server:
#mysql –u bacula –p
Enter password:
Mysql>show databases; (show what databases the bacula user have access to)
Mysql> use bacula; (set default database to bacula (bacula is the name of the Catalog database).
Mysql> show tables; (let’s see what tables are in the Catalog database)
Mysql>select * from Client; (you get exactly the same 2 clients we saw before using the bacula list clients command)
Mysql>quit
Create Jobs and Filesets under bacula-dir directory:
#vi /etc/bacula/bacula-dir.conf
#######create backup and restore job for client pc############
Job {
Name = RemoteBackup
JobDefs = DefaultJob
Client = client-fd
Pool = RemoteFile
Level = Full
FileSet = “Full Set”
Storage = File
}
Job {
Name = “RestoreRemote”
Type = Restore
Client=client-fd
FileSet=”Full Set”
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}
#######create backup and restore job for windows pc############
Job {
Name = “RestorewinRemote”
Type = Restore
Client=win-fd
FileSet=”Full Set”
Storage = File
Pool = Default
Messages = Standard
Where = /bacula/restore
}
Job {
Name = “RemotewinBackup”
JobDefs = “DefaultJob”
Client = win-fd
Pool = RemoteFile
}
############### Create “Fileset” for window client #################
FileSet {
Name = win-backup
Include {
File = D:/folder1
Options {
}
}
}
################# Create “Fileset” for linux client #################
FileSet {
Name = “Full Set”
Include {
Options {
signature = MD5
}
}
}
Run backup and restore jobs for window client:
On bacula server type bconsole and press enter:
#bconsole
*run          (start the interactive prompt for running a job, you should see all jobs defined)


*status dir


As shown above in red circle job 39 completed.
Now, lets see how to Restore files:
On bacula server type bconsole and press enter:
#bconsole

Start the interactive restore process. The Catalog MyCatalog is automatically selected and you are presented with 12 different ways to select from which JobIds you want to restore.

Select method 5 “Select the most recent backup for a client” which will prompt you to select what client to restore.
Here I selected client win-fd

The latest full backup JobId (30) is selected.
we use dir to see what is in current folder, here we find a subfolder called D:/
cd D:/ : we use cd to change directory.
we use mark to mark files or folders we want to restore, here we mark “folder1” folder. We mark folder1 to backup.
we use done to tell that we are finished selecting files.




As above we can see that restore job is completed.



 hello dost I am done pratication from help link:- http://linuxgateway.in/bacula-server-installation-and-configuration-on-centos-6-2/
I am getting many trouble in doc and modified it. in future i will create and modified this document 

Friday, July 22, 2016

wget – recursively download all files from certain directory listed by APpache or HTTP



wget – recursively download all files from certain directory listed by apache

Case: recursively download all the files that are in the ‘ddd’  folder for the url ‘http://festvox.org/cmu_indic/unpacked_all/;
Solution:
wget -r -np -nH –cut-dirs=3 -R index.html http://festvox.org/cmu_indic/unpacked_all/

Explanation:
It will download all files and subfolders in ddd directory:
recursively (-r),
not going to upper directories, like ccc/… (-np),
not saving files to hostname folder (-nH),
but to ddd by omitting first 3 folders aaa, bbb, ccc (–cut-dirs=3),
excluding index.html files (-R index.html)


Nagios server and clinet configure in centos 6.7 with nagios_4.0.1

http://www.tecmint.com/install-nagios-in-linux/


 ifconfig
   12  vi /etc/selinux/config
   13  yum install gd gd-devel httpd php gcc glibc glibc-common
   14  useradd nagios
   15  groupadd nagios
   16  groupadd nagcmd
   17  usermod -G nagcmd nagios
   18  usermod -G nagcmd apache
   19  getnet group
   20  getent group
   21  mkdir /root/nagios
   22  cd /root/nagios/
   23  wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.1.tar.gz
   24  wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
         wget http://liquidtelecom.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
   25  tar –xvf nagios-4.0.1.tar.gz
   26  tar -xvfz nagios-4.0.1.tar.gz
   27  ls
   28  tar -xvfz nagios-4.0.1.tar.gz
   29  tar -xvf nagios-4.0.1.tar.gz
   30  ls
   31  tar -xvf nagios-plugins-1.5.tar.gz
   32  ls
   33  cd nagios-4.0.1
   34  cd ..
   35  ls -al
   36  cd nagios-4.0.1
   37  ./configure --with-command-group=nagcmd
   38  make all
   39  make install
   40  make install-init
   41  make install-commandmode
   42  make install-config
   43  vi /usr/local/nagios/etc/objects/contacts.cfg
   44  make install-webconf
   45  vi /usr/local/nagios/etc/objects/contacts.cfg
   46  htpasswd -s -c /usr/local/nagios/etc/htpasswd.users saurabh
   47  service httpd restart
   48  cd ..
   49  ls
   50  cd nagios-plugins-1.5
   51  ./configure --with-nagios-user=nagios --with-nagios-group=nagios
   52  make
   53  make install
   54  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
   55  vi /usr/local/nagios/etc/objects/contacts.cfg
   56  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
   57  vi /usr/local/nagios/etc/objects/contacts.cfg
   58  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
   59  chkconfig --add nagios
   60  chkconfig --level 235 nagios on
   61  chkconfig --add httpd
   62  chkconfig --level 35 httpd on
   63  service nagios start
   64  ifconfig
   65  service httpd start




Enter of contacts file in nagios
 vi /usr/local/nagios/etc/objects/contacts.cfg

###############################################################################
###############################################################################
#
# CONTACTS
#
###############################################################################
###############################################################################

# Just one contact defined by default - the Nagios admin (that's you)
# This contact definition inherits a lot of default values from the 'generic-contact'
# template which is defined elsewhere.

define contact{
       contact_name                    nagiosadmin             ; Short name of user
       use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
       alias                           Nagios Admin            ; Full name of user

       email                           tecmint@tecmint.com     ; *** CHANGE THIS TO YOUR EMAIL ADDRESS ****
       }


replace with contact_name – nagiosadmin with  saurabh


define contact{
        contact_name                    saurabh         ; Short name of user
        use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin            ; Full name of user

        email                           saurabhbhatt@weathersysbkc.com  ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        }



###############################################################################
###############################################################################
#
# CONTACT GROUPS
#
###############################################################################
###############################################################################

# We only have one contact in this simple configuration file, so there is
# no need to create more than one contact group.

define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 saurabh
        }

To change the password of the HTTPD web user -

htpasswd -s -c /usr/local/nagios/etc/htpasswd.users saurabh


how to add intery of client in nagios server

cd  /usr/local/nagios/etc/objects/

client1.cfg   contacts.cfg   printer.cfg  templates.cfg    windows.cfg
commands.cfg  localhost.cfg  switch.cfg   timeperiods.cfg

vim  /usr/local/nagios/etc/objects/windows.cfg

###############################################################################
# WINDOWS.CFG - SAMPLE CONFIG FILE FOR MONITORING A WINDOWS MACHINE
#
#
# NOTES: This config file assumes that you are using the sample configuration
#     files that get installed with the Nagios quickstart guide.
#
###############################################################################




###############################################################################
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
###############################################################################

# Define a host for the Windows machine we'll be monitoring
# Change the host_name, alias, and address to fit your situation

define host{
    use        windows-server    ; Inherit default values from a template
    host_name    bkc    ; The name we're giving to this host
    alias        My Windows Server    ; A longer name associated with the host
    address        192.168.101.231    ; IP address of the host
    }




###############################################################################
###############################################################################
#
# HOST GROUP DEFINITIONS
#
###############################################################################
###############################################################################


# Define a hostgroup for Windows machines
# All hosts that use the windows-server template will automatically be a member of this group

define hostgroup{
    hostgroup_name    windows-servers    ; The name of the hostgroup
    alias        Windows Servers    ; Long name of the group
    }




###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################


# Create a service for monitoring the version of NSCLient++ that is installed
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    NSClient++ Version
    check_command        check_nt!CLIENTVERSION
    }



# Create a service for monitoring the uptime of the server
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    Uptime
    check_command        check_nt!UPTIME
    }



# Create a service for monitoring CPU load
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    CPU Load
    check_command        check_nt!CPULOAD!-l 5,80,90
    }



# Create a service for monitoring memory usage
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    Memory Usage
    check_command        check_nt!MEMUSE!-w 80 -c 90
    }



# Create a service for monitoring C:\ disk usage
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    C:\ Drive Space
    check_command        check_nt!USEDDISKSPACE!-l c -w 80 -c 90
    }



# Create a service for monitoring the W3SVC service
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    W3SVC
    check_command        check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
    }



# Create a service for monitoring the Explorer.exe process
# Change the host_name to match the name of the host you defined above

define service{
    use            generic-service
    host_name        bkc
    service_description    Explorer
    check_command        check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
    }




###############################################################################
# LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE
#
# NOTE: This config file is intended to serve as an *extremely* simple
#       example of how you can create configuration entries to monitor
#       the local (Linux) machine.
#
###############################################################################




###############################################################################
###############################################################################
#
# HOST DEFINITION
#
###############################################################################
###############################################################################

# Define a host for the local machine

define host{
   use                    Linux-Server            ; Name of host template to use
                     ; This host definition will inherit all variables that are defined
                     ; in (or inherited by) the linux-server host template definition.
   host_name               client1
   alias                   client1
   address                 192.168.101.117
   }



###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################

# Define an optional hostgroup for Linux machines

define hostgroup{
   hostgroup_name  Linux-Servers ; The name of the hostgroup
   alias           Linux Servers ; Long name of the group
   members         client1     ; Comma separated list of hosts that belong to this group
   }



###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################


# Define a service to "ping" the local machine

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             PING
   check_command         check_ping!100.0,20%!500.0,60%
   }


# Define a service to check the disk space of the root partition
# on the local machine.  Warning if < 20% free, critical if
# < 10% free space on partition.

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             Root Partition
   check_command         check_local_disk!20%!10%!/
   }



# Define a service to check the number of currently logged in
# users on the local machine.  Warning if > 20 users, critical
# if > 50 users.

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             Current Users
   check_command         check_local_users!20!50
   }


# Define a service to check the number of currently running procs
# on the local machine.  Warning if > 250 processes, critical if
# > 400 users.

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             Total Processes
   check_command         check_local_procs!250!400!RSZDT
   }



# Define a service to check the load on the local machine.

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             Current Load
   check_command         check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
   }



# Define a service to check the swap usage the local machine.
# Critical if less than 10% of swap is free, warning if less than 20% is free

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             Swap Usage
   check_command         check_local_swap!20!10
   }



# Define a service to check SSH on the local machine.
# Disable notifications for this service by default, as not all users may have SSH enabled.

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             SSH
   check_command         check_ssh
   notifications_enabled      0
   }



# Define a service to check HTTP on the local machine.
# Disable notifications for this service by default, as not all users may have HTTP enabled.

define service{
   use                             local-service         ; Name of service template to use
   host_name                       client1
   service_description             HTTP
   check_command         check_http
   notifications_enabled      0
   }


# Define a service to check current startup delay of the Icinga core daemon.
# Disable notifications for this service by default, as no thresholds are defined.

#define service{
#   use                             local-service         ; Name of service template to use
#   host_name                       client1
#   service_description             Icinga Startup Delay
#   check_command                   check_icinga_startup_delay
#   notifications_enabled           0
#   }


 service restart :-   service nagios restart


###############################################################################
# SWITCH.CFG - SAMPLE CONFIG FILE FOR MONITORING A SWITCH
#
#
# NOTES: This config file assumes that you are using the sample configuration
#     files that get installed with the Nagios quickstart guide.
#
###############################################################################




###############################################################################
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
###############################################################################

# Define the switch/router that we'll be monitoring MAIPU ROUTER for SPECTRANET

define host{
    use        generic-switch        ; Inherit default values from a template
    host_name    BKC_NOIDA63        ; The name we're giving to this switch
    alias        Linksys SRW224P Switch    ; A longer name associated with the switch
    address        192.168.101.98        ; IP address of the switch
    hostgroups    switches        ; Host groups this switch is associated with
    }

# Define the switch/router that we'll be monitoring MAIPU ROUTER for Nextra

define host{
        use             generic-switch          ; Inherit default values from a template
        host_name       BKCWS            ; The name we're giving to this switch
        alias           Linksys SRW224P Switch  ; A longer name associated with the switch
        address         192.168.101.99          ; IP address of the switch
        hostgroups      switches                ; Host groups this switch is associated with
        }




###############################################################################
###############################################################################
#
# HOST GROUP DEFINITIONS
#
###############################################################################
###############################################################################

# Create a new hostgroup for switches

define hostgroup{
    hostgroup_name    switches        ; The name of the hostgroup
    alias        Network Switches    ; Long name of the group
    }




###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################

# Create a service to PING to switch

define service{
    use            generic-service    ; Inherit values from a template
    host_name        BKC_NOIDA63,BKCWS    ; The name of the host the service is associated with
    service_description    PING        ; The service description
    check_command        check_ping!200.0,20%!600.0,60%    ; The command used to monitor the service
    normal_check_interval    5        ; Check the service every 5 minutes under normal conditions
    retry_check_interval    1        ; Re-check the service every minute until its final/hard state is determined
    }


# Monitor uptime via SNMP

define service{
    use            generic-service    ; Inherit values from a template
    host_name        BKC_NOIDA63,BKCWS
    service_description    Uptime   
    check_command        check_snmp!-C public -o sysUpTime.0
    }



# Monitor Port 1 status via SNMP

define service{
    use            generic-service    ; Inherit values from a template
    host_name        BKC_NOIDA63,BKCWS
    service_description    Port 1 Link Status
    check_command        check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
    }



# Monitor bandwidth via MRTG logs

define service{
    use            generic-service    ; Inherit values from a template
    host_name        BKC_NOIDA63,BKCWS
    service_description    Port 1 Bandwidth Usage
    check_command        check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG!1000000,1000000!5000000,5000000!10
    }




###############################################################################
# PRINTER.CFG - SAMPLE CONFIG FILE FOR MONITORING A NETWORK PRINTER
#
#
# NOTES: This config file assumes that you are using the sample configuration
#     files that get installed with the Nagios quickstart guide.
#
###############################################################################




###############################################################################
###############################################################################
#
# HOST DEFINITIONS
#
###############################################################################
###############################################################################

# Define a host for the printer we'll be monitoring
# Change the host_name, alias, and address to fit your situation

define host{
    use        generic-printer        ; Inherit default values from a template
    host_name    NPIFE737E        ; The name we're giving to this printer
    alias        HP LaserJet 2605dn    ; A longer name associated with the printer
    address        192.168.101.29        ; IP address of the printer
    hostgroups    network-printers     ; Host groups this printer is associated with
    }




###############################################################################
###############################################################################
#
# HOST GROUP DEFINITIONS
#
###############################################################################
###############################################################################

# A hostgroup for network printers

define hostgroup{
    hostgroup_name    network-printers    ; The name of the hostgroup
    alias        Network Printers    ; Long name of the group
    }




###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################

# Create a service for monitoring the status of the printer
# Change the host_name to match the name of the host you defined above
# If the printer has an SNMP community string other than "public", change the check_command directive to reflect that

define service{
    use            generic-service        ; Inherit values from a template
    host_name        NPIFE737E        ; The name of the host the service is associated with
    service_description    Printer Status        ; The service description
    check_command        check_hpjd!-C public    ; The command used to monitor the service
    normal_check_interval    10    ; Check the service every 10 minutes under normal conditions
    retry_check_interval    1    ; Re-check the service every minute until its final/hard state is determined
    }


# Create a service for "pinging" the printer occassionally.  Useful for monitoring RTA, packet loss, etc.

define service{
    use            generic-service
    host_name        NPIFE737E
    service_description    PING
    check_command        check_ping!3000.0,80%!5000.0,100%
    normal_check_interval    10
    retry_check_interval    1
        }

/usr/local/nagios/etc/nagios.cfg 

##############################################################################
#
# NAGIOS.CFG - Sample Main Config File for Nagios 4.0.1
#
# Read the documentation for more information on this configuration
# file.  I've provided some comments here, but things may not be so
# clear without further explanation.
#
#
##############################################################################


# LOG FILE
# This is the main log file where service and host events are logged
# for historical purposes.  This should be the first option specified
# in the config file!!!

log_file=/usr/local/nagios/var/nagios.log



# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
# host groups, contacts, contact groups, services, etc.
# You can split your object definitions across several config files
# if you wish (as shown below), or keep them all in a single config file.

# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
#cfg_file=/usr/local/nagios/etc/services.cfg

# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
#cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/client1.cfg 
notes

/usr/local/nagios/etc/objects/  after that require if different client name add entry example :- /client1.cfg    other wise just uncomment  example :- #cfg_file=/usr/local/nagios/etc/objects/windows.cfg  change  cfg_file=/usr/local/nagios/etc/objects/windows.cfg
-------------------------------------------------------------------------------------------------------------
# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

# Definitions for monitoring a router/switch
cfg_file=/usr/local/nagios/etc/objects/switch.cfg

# Definitions for monitoring a network printer
cfg_file=/usr/local/nagios/etc/objects/printer.cfg


# You can also tell Nagios to process all config files (with a .cfg
# extension) in a particular directory by using the cfg_dir
# directive as shown below:

#cfg_dir=/usr/local/nagios/etc/servers
#cfg_dir=/usr/local/nagios/etc/printers
#cfg_dir=/usr/local/nagios/etc/switches
#cfg_dir=/usr/local/nagios/etc/routers




# OBJECT CACHE FILE
# This option determines where object definitions are cached when
# Nagios starts/restarts.  The CGIs read object definitions from
# this cache file (rather than looking at the object config files
# directly) in order to prevent inconsistencies that can occur
# when the config files are modified after Nagios starts.

object_cache_file=/usr/local/nagios/var/objects.cache



# PRE-CACHED OBJECT FILE
# This options determines the location of the precached object file.
# If you run Nagios with the -p command line option, it will preprocess
# your object configuration file(s) and write the cached config to this
# file.  You can then start Nagios with the -u option to have it read
# object definitions from this precached file, rather than the standard
# object configuration files (see the cfg_file and cfg_dir options above).
# Using a precached object file can speed up the time needed to (re)start
# the Nagios process if you've got a large and/or complex configuration.
# Read the documentation section on optimizing Nagios to find our more
# about how this feature works.

precached_object_file=/usr/local/nagios/var/objects.precache



# RESOURCE FILE
# This is an optional resource file that contains $USERx$ macro
# definitions. Multiple resource files can be specified by using
# multiple resource_file definitions.  The CGIs will not attempt to
# read the contents of resource files, so information that is
# considered to be sensitive (usernames, passwords, etc) can be
# defined as macros in this file and restrictive permissions (600)
# can be placed on this file.

resource_file=/usr/local/nagios/etc/resource.cfg



# STATUS FILE
# This is where the current status of all monitored services and
# hosts is stored.  Its contents are read and processed by the CGIs.
# The contents of the status file are deleted every time Nagios
#  restarts.

status_file=/usr/local/nagios/var/status.dat



# STATUS FILE UPDATE INTERVAL
# This option determines the frequency (in seconds) that
# Nagios will periodically dump program, host, and
# service status data.

status_update_interval=10



# NAGIOS USER
# This determines the effective user that Nagios should run as. 
# You can either supply a username or a UID.

nagios_user=nagios



# NAGIOS GROUP
# This determines the effective group that Nagios should run as. 
# You can either supply a group name or a GID.

nagios_group=nagios



# EXTERNAL COMMAND OPTION
# This option allows you to specify whether or not Nagios should check
# for external commands (in the command file defined below).  By default
# Nagios will *not* check for external commands, just to be on the
# cautious side.  If you want to be able to use the CGI command interface
# you will have to enable this.
# Values: 0 = disable commands, 1 = enable commands

check_external_commands=1



# EXTERNAL COMMAND FILE
# This is the file that Nagios checks for external command requests.
# It is also where the command CGI will write commands that are submitted
# by users, so it must be writeable by the user that the web server
# is running as (usually 'nobody').  Permissions should be set at the
# directory level instead of on the file, as the file is deleted every
# time its contents are processed.

command_file=/usr/local/nagios/var/rw/nagios.cmd



# QUERY HANDLER INTERFACE
# This is the socket that is created for the Query Handler interface

#query_socket=/usr/local/nagios/var/rw/nagios.qh



# LOCK FILE
# This is the lockfile that Nagios will use to store its PID number
# in when it is running in daemon mode.

lock_file=/usr/local/nagios/var/nagios.lock



# TEMP FILE
# This is a temporary file that is used as scratch space when Nagios
# updates the status log, cleans the comment file, etc.  This file
# is created, used, and deleted throughout the time that Nagios is
# running.

temp_file=/usr/local/nagios/var/nagios.tmp



# TEMP PATH
# This is path where Nagios can create temp files for service and
# host check results, etc.

temp_path=/tmp



# EVENT BROKER OPTIONS
# Controls what (if any) data gets sent to the event broker.
# Values:  0      = Broker nothing
#         -1      = Broker everything
#         <other> = See documentation

event_broker_options=-1



# EVENT BROKER MODULE(S)
# This directive is used to specify an event broker module that should
# by loaded by Nagios at startup.  Use multiple directives if you want
# to load more than one module.  Arguments that should be passed to
# the module at startup are seperated from the module path by a space.
#
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
# Do NOT overwrite modules while they are being used by Nagios or Nagios
# will crash in a fiery display of SEGFAULT glory.  This is a bug/limitation
# either in dlopen(), the kernel, and/or the filesystem.  And maybe Nagios...
#
# The correct/safe way of updating a module is by using one of these methods:
#    1. Shutdown Nagios, replace the module file, restart Nagios
#    2. Delete the original module file, move the new module file into place, restart Nagios
#
# Example:
#
#   broker_module=<modulepath> [moduleargs]

#broker_module=/somewhere/module1.o
#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0



# LOG ROTATION METHOD
# This is the log rotation method that Nagios should use to rotate
# the main log file. Values are as follows..
#    n    = None - don't rotate the log
#    h    = Hourly rotation (top of the hour)
#    d    = Daily rotation (midnight every day)
#    w    = Weekly rotation (midnight on Saturday evening)
#    m    = Monthly rotation (midnight last day of month)

log_rotation_method=d



# LOG ARCHIVE PATH
# This is the directory where archived (rotated) log files should be
# placed (assuming you've chosen to do log rotation).

log_archive_path=/usr/local/nagios/var/archives



# LOGGING OPTIONS
# If you want messages logged to the syslog facility, as well as the
# Nagios log file set this option to 1.  If not, set it to 0.

use_syslog=1



# NOTIFICATION LOGGING OPTION
# If you don't want notifications to be logged, set this value to 0.
# If notifications should be logged, set the value to 1.

log_notifications=1



# SERVICE RETRY LOGGING OPTION
# If you don't want service check retries to be logged, set this value
# to 0.  If retries should be logged, set the value to 1.

log_service_retries=1



# HOST RETRY LOGGING OPTION
# If you don't want host check retries to be logged, set this value to
# 0.  If retries should be logged, set the value to 1.

log_host_retries=1



# EVENT HANDLER LOGGING OPTION
# If you don't want host and service event handlers to be logged, set
# this value to 0.  If event handlers should be logged, set the value
# to 1.

log_event_handlers=1



# INITIAL STATES LOGGING OPTION
# If you want Nagios to log all initial host and service states to
# the main log file (the first time the service or host is checked)
# you can enable this option by setting this value to 1.  If you
# are not using an external application that does long term state
# statistics reporting, you do not need to enable this option.  In
# this case, set the value to 0.

log_initial_states=0



# CURRENT STATES LOGGING OPTION
# If you don't want Nagios to log all current host and service states
# after log has been rotated to the main log file, you can disable this
# option by setting this value to 0. Default value is 1.

log_current_states=1



# EXTERNAL COMMANDS LOGGING OPTION
# If you don't want Nagios to log external commands, set this value
# to 0.  If external commands should be logged, set this value to 1.
# Note: This option does not include logging of passive service
# checks - see the option below for controlling whether or not
# passive checks are logged.

log_external_commands=1



# PASSIVE CHECKS LOGGING OPTION
# If you don't want Nagios to log passive host and service checks, set
# this value to 0.  If passive checks should be logged, set
# this value to 1.

log_passive_checks=1



# GLOBAL HOST AND SERVICE EVENT HANDLERS
# These options allow you to specify a host and service event handler
# command that is to be run for every host or service state change.
# The global event handler is executed immediately prior to the event
# handler that you have optionally specified in each host or
# service definition. The command argument is the short name of a
# command definition that you define in your host configuration file.
# Read the HTML docs for more information.

#global_host_event_handler=somecommand
#global_service_event_handler=somecommand



# SERVICE INTER-CHECK DELAY METHOD
# This is the method that Nagios should use when initially
# "spreading out" service checks when it starts monitoring.  The
# default is to use smart delay calculation, which will try to
# space all service checks out evenly to minimize CPU load.
# Using the dumb setting will cause all checks to be scheduled
# at the same time (with no delay between them)!  This is not a
# good thing for production, but is useful when testing the
# parallelization functionality.
#    n    = None - don't use any delay between checks
#    d    = Use a "dumb" delay of 1 second between checks
#    s    = Use "smart" inter-check delay calculation
#       x.xx    = Use an inter-check delay of x.xx seconds

service_inter_check_delay_method=s



# MAXIMUM SERVICE CHECK SPREAD
# This variable determines the timeframe (in minutes) from the
# program start time that an initial check of all services should
# be completed.  Default is 30 minutes.

max_service_check_spread=30



# SERVICE CHECK INTERLEAVE FACTOR
# This variable determines how service checks are interleaved.
# Interleaving the service checks allows for a more even
# distribution of service checks and reduced load on remote
# hosts.  Setting this value to 1 is equivalent to how versions
# of Nagios previous to 0.0.5 did service checks.  Set this
# value to s (smart) for automatic calculation of the interleave
# factor unless you have a specific reason to change it.
#       s       = Use "smart" interleave factor calculation
#       x       = Use an interleave factor of x, where x is a
#                 number greater than or equal to 1.

service_interleave_factor=s



# HOST INTER-CHECK DELAY METHOD
# This is the method that Nagios should use when initially
# "spreading out" host checks when it starts monitoring.  The
# default is to use smart delay calculation, which will try to
# space all host checks out evenly to minimize CPU load.
# Using the dumb setting will cause all checks to be scheduled
# at the same time (with no delay between them)!
#    n    = None - don't use any delay between checks
#    d    = Use a "dumb" delay of 1 second between checks
#    s    = Use "smart" inter-check delay calculation
#       x.xx    = Use an inter-check delay of x.xx seconds

host_inter_check_delay_method=s



# MAXIMUM HOST CHECK SPREAD
# This variable determines the timeframe (in minutes) from the
# program start time that an initial check of all hosts should
# be completed.  Default is 30 minutes.

max_host_check_spread=30



# MAXIMUM CONCURRENT SERVICE CHECKS
# This option allows you to specify the maximum number of
# service checks that can be run in parallel at any given time.
# Specifying a value of 1 for this variable essentially prevents
# any service checks from being parallelized.  A value of 0
# will not restrict the number of concurrent checks that are
# being executed.

max_concurrent_checks=0



# HOST AND SERVICE CHECK REAPER FREQUENCY
# This is the frequency (in seconds!) that Nagios will process
# the results of host and service checks.

check_result_reaper_frequency=10




# MAX CHECK RESULT REAPER TIME
# This is the max amount of time (in seconds) that  a single
# check result reaper event will be allowed to run before
# returning control back to Nagios so it can perform other
# duties.

max_check_result_reaper_time=30




# CHECK RESULT PATH
# This is directory where Nagios stores the results of host and
# service checks that have not yet been processed.
#
# Note: Make sure that only one instance of Nagios has access
# to this directory! 

check_result_path=/usr/local/nagios/var/spool/checkresults




# MAX CHECK RESULT FILE AGE
# This option determines the maximum age (in seconds) which check
# result files are considered to be valid.  Files older than this
# threshold will be mercilessly deleted without further processing.

max_check_result_file_age=3600




# CACHED HOST CHECK HORIZON
# This option determines the maximum amount of time (in seconds)
# that the state of a previous host check is considered current.
# Cached host states (from host checks that were performed more
# recently that the timeframe specified by this value) can immensely
# improve performance in regards to the host check logic.
# Too high of a value for this option may result in inaccurate host
# states being used by Nagios, while a lower value may result in a
# performance hit for host checks.  Use a value of 0 to disable host
# check caching.

cached_host_check_horizon=15



# CACHED SERVICE CHECK HORIZON
# This option determines the maximum amount of time (in seconds)
# that the state of a previous service check is considered current.
# Cached service states (from service checks that were performed more
# recently that the timeframe specified by this value) can immensely
# improve performance in regards to predictive dependency checks.
# Use a value of 0 to disable service check caching.

cached_service_check_horizon=15



# ENABLE PREDICTIVE HOST DEPENDENCY CHECKS
# This option determines whether or not Nagios will attempt to execute
# checks of hosts when it predicts that future dependency logic test
# may be needed.  These predictive checks can help ensure that your
# host dependency logic works well.
# Values:
#  0 = Disable predictive checks
#  1 = Enable predictive checks (default)

enable_predictive_host_dependency_checks=1



# ENABLE PREDICTIVE SERVICE DEPENDENCY CHECKS
# This option determines whether or not Nagios will attempt to execute
# checks of service when it predicts that future dependency logic test
# may be needed.  These predictive checks can help ensure that your
# service dependency logic works well.
# Values:
#  0 = Disable predictive checks
#  1 = Enable predictive checks (default)

enable_predictive_service_dependency_checks=1



# SOFT STATE DEPENDENCIES
# This option determines whether or not Nagios will use soft state
# information when checking host and service dependencies. Normally
# Nagios will only use the latest hard host or service state when
# checking dependencies. If you want it to use the latest state (regardless
# of whether its a soft or hard state type), enable this option.
# Values:
#  0 = Don't use soft state dependencies (default)
#  1 = Use soft state dependencies

soft_state_dependencies=0



# TIME CHANGE ADJUSTMENT THRESHOLDS
# These options determine when Nagios will react to detected changes
# in system time (either forward or backwards).

#time_change_threshold=900



# AUTO-RESCHEDULING OPTION
# This option determines whether or not Nagios will attempt to
# automatically reschedule active host and service checks to
# "smooth" them out over time.  This can help balance the load on
# the monitoring server. 
# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE
# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY

auto_reschedule_checks=0



# AUTO-RESCHEDULING INTERVAL
# This option determines how often (in seconds) Nagios will
# attempt to automatically reschedule checks.  This option only
# has an effect if the auto_reschedule_checks option is enabled.
# Default is 30 seconds.
# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE
# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY

auto_rescheduling_interval=30



# AUTO-RESCHEDULING WINDOW
# This option determines the "window" of time (in seconds) that
# Nagios will look at when automatically rescheduling checks.
# Only host and service checks that occur in the next X seconds
# (determined by this variable) will be rescheduled. This option
# only has an effect if the auto_reschedule_checks option is
# enabled.  Default is 180 seconds (3 minutes).
# WARNING: THIS IS AN EXPERIMENTAL FEATURE - IT CAN DEGRADE
# PERFORMANCE, RATHER THAN INCREASE IT, IF USED IMPROPERLY

auto_rescheduling_window=180



# TIMEOUT VALUES
# These options control how much time Nagios will allow various
# types of commands to execute before killing them off.  Options
# are available for controlling maximum time allotted for
# service checks, host checks, event handlers, notifications, the
# ocsp command, and performance data commands.  All values are in
# seconds.

service_check_timeout=60
host_check_timeout=30
event_handler_timeout=30
notification_timeout=30
ocsp_timeout=5
perfdata_timeout=5



# RETAIN STATE INFORMATION
# This setting determines whether or not Nagios will save state
# information for services and hosts before it shuts down.  Upon
# startup Nagios will reload all saved service and host state
# information before starting to monitor.  This is useful for
# maintaining long-term data on state statistics, etc, but will
# slow Nagios down a bit when it (re)starts.  Since its only
# a one-time penalty, I think its well worth the additional
# startup delay.

retain_state_information=1



# STATE RETENTION FILE
# This is the file that Nagios should use to store host and
# service state information before it shuts down.  The state
# information in this file is also read immediately prior to
# starting to monitor the network when Nagios is restarted.
# This file is used only if the retain_state_information
# variable is set to 1.

state_retention_file=/usr/local/nagios/var/retention.dat



# RETENTION DATA UPDATE INTERVAL
# This setting determines how often (in minutes) that Nagios
# will automatically save retention data during normal operation.
# If you set this value to 0, Nagios will not save retention
# data at regular interval, but it will still save retention
# data before shutting down or restarting.  If you have disabled
# state retention, this option has no effect.

retention_update_interval=60



# USE RETAINED PROGRAM STATE
# This setting determines whether or not Nagios will set
# program status variables based on the values saved in the
# retention file.  If you want to use retained program status
# information, set this value to 1.  If not, set this value
# to 0.

use_retained_program_state=1



# USE RETAINED SCHEDULING INFO
# This setting determines whether or not Nagios will retain
# the scheduling info (next check time) for hosts and services
# based on the values saved in the retention file.  If you
# If you want to use retained scheduling info, set this
# value to 1.  If not, set this value to 0.

use_retained_scheduling_info=1



# RETAINED ATTRIBUTE MASKS (ADVANCED FEATURE)
# The following variables are used to specify specific host and
# service attributes that should *not* be retained by Nagios during
# program restarts.
#
# The values of the masks are bitwise ANDs of values specified
# by the "MODATTR_" definitions found in include/common.h. 
# For example, if you do not want the current enabled/disabled state
# of flap detection and event handlers for hosts to be retained, you
# would use a value of 24 for the host attribute mask...
# MODATTR_EVENT_HANDLER_ENABLED (8) + MODATTR_FLAP_DETECTION_ENABLED (16) = 24

# This mask determines what host attributes are not retained
retained_host_attribute_mask=0

# This mask determines what service attributes are not retained
retained_service_attribute_mask=0

# These two masks determine what process attributes are not retained.
# There are two masks, because some process attributes have host and service
# options.  For example, you can disable active host checks, but leave active
# service checks enabled.
retained_process_host_attribute_mask=0
retained_process_service_attribute_mask=0

# These two masks determine what contact attributes are not retained.
# There are two masks, because some contact attributes have host and
# service options.  For example, you can disable host notifications for
# a contact, but leave service notifications enabled for them.
retained_contact_host_attribute_mask=0
retained_contact_service_attribute_mask=0



# INTERVAL LENGTH
# This is the seconds per unit interval as used in the
# host/contact/service configuration files.  Setting this to 60 means
# that each interval is one minute long (60 seconds).  Other settings
# have not been tested much, so your mileage is likely to vary...

interval_length=60



# CHECK FOR UPDATES
# This option determines whether Nagios will automatically check to
# see if new updates (releases) are available.  It is recommend that you
# enable this option to ensure that you stay on top of the latest critical
# patches to Nagios.  Nagios is critical to you - make sure you keep it in
# good shape.  Nagios will check once a day for new updates. Data collected
# by Nagios Enterprises from the update check is processed in accordance
# with our privacy policy - see http://api.nagios.org for details.

check_for_updates=1



# BARE UPDATE CHECK
# This option deterines what data Nagios will send to api.nagios.org when
# it checks for updates.  By default, Nagios will send information on the
# current version of Nagios you have installed, as well as an indicator as
# to whether this was a new installation or not.  Nagios Enterprises uses
# this data to determine the number of users running specific version of
# Nagios.  Enable this option if you do not want this information to be sent.

bare_update_check=0



# AGGRESSIVE HOST CHECKING OPTION
# If you don't want to turn on aggressive host checking features, set
# this value to 0 (the default).  Otherwise set this value to 1 to
# enable the aggressive check option.  Read the docs for more info
# on what aggressive host check is or check out the source code in
# base/checks.c

use_aggressive_host_checking=0



# SERVICE CHECK EXECUTION OPTION
# This determines whether or not Nagios will actively execute
# service checks when it initially starts.  If this option is
# disabled, checks are not actively made, but Nagios can still
# receive and process passive check results that come in.  Unless
# you're implementing redundant hosts or have a special need for
# disabling the execution of service checks, leave this enabled!
# Values: 1 = enable checks, 0 = disable checks

execute_service_checks=1



# PASSIVE SERVICE CHECK ACCEPTANCE OPTION
# This determines whether or not Nagios will accept passive
# service checks results when it initially (re)starts.
# Values: 1 = accept passive checks, 0 = reject passive checks

accept_passive_service_checks=1



# HOST CHECK EXECUTION OPTION
# This determines whether or not Nagios will actively execute
# host checks when it initially starts.  If this option is
# disabled, checks are not actively made, but Nagios can still
# receive and process passive check results that come in.  Unless
# you're implementing redundant hosts or have a special need for
# disabling the execution of host checks, leave this enabled!
# Values: 1 = enable checks, 0 = disable checks

execute_host_checks=1



# PASSIVE HOST CHECK ACCEPTANCE OPTION
# This determines whether or not Nagios will accept passive
# host checks results when it initially (re)starts.
# Values: 1 = accept passive checks, 0 = reject passive checks

accept_passive_host_checks=1



# NOTIFICATIONS OPTION
# This determines whether or not Nagios will sent out any host or
# service notifications when it is initially (re)started.
# Values: 1 = enable notifications, 0 = disable notifications

enable_notifications=1



# EVENT HANDLER USE OPTION
# This determines whether or not Nagios will run any host or
# service event handlers when it is initially (re)started.  Unless
# you're implementing redundant hosts, leave this option enabled.
# Values: 1 = enable event handlers, 0 = disable event handlers

enable_event_handlers=1



# PROCESS PERFORMANCE DATA OPTION
# This determines whether or not Nagios will process performance
# data returned from service and host checks.  If this option is
# enabled, host performance data will be processed using the
# host_perfdata_command (defined below) and service performance
# data will be processed using the service_perfdata_command (also
# defined below).  Read the HTML docs for more information on
# performance data.
# Values: 1 = process performance data, 0 = do not process performance data

process_performance_data=0



# HOST AND SERVICE PERFORMANCE DATA PROCESSING COMMANDS
# These commands are run after every host and service check is
# performed.  These commands are executed only if the
# enable_performance_data option (above) is set to 1.  The command
# argument is the short name of a command definition that you
# define in your host configuration file.  Read the HTML docs for
# more information on performance data.

#host_perfdata_command=process-host-perfdata
#service_perfdata_command=process-service-perfdata



# HOST AND SERVICE PERFORMANCE DATA FILES
# These files are used to store host and service performance data.
# Performance data is only written to these files if the
# enable_performance_data option (above) is set to 1.

#host_perfdata_file=/usr/local/nagios/var/host-perfdata
#service_perfdata_file=/usr/local/nagios/var/service-perfdata



# HOST AND SERVICE PERFORMANCE DATA FILE TEMPLATES
# These options determine what data is written (and how) to the
# performance data files.  The templates may contain macros, special
# characters (\t for tab, \r for carriage return, \n for newline)
# and plain text.  A newline is automatically added after each write
# to the performance data file.  Some examples of what you can do are
# shown below.

#host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$
#service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$



# HOST AND SERVICE PERFORMANCE DATA FILE MODES
# This option determines whether or not the host and service
# performance data files are opened in write ("w") or append ("a")
# mode. If you want to use named pipes, you should use the special
# pipe ("p") mode which avoid blocking at startup, otherwise you will
# likely want the defult append ("a") mode.

#host_perfdata_file_mode=a
#service_perfdata_file_mode=a



# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING INTERVAL
# These options determine how often (in seconds) the host and service
# performance data files are processed using the commands defined
# below.  A value of 0 indicates the files should not be periodically
# processed.

#host_perfdata_file_processing_interval=0
#service_perfdata_file_processing_interval=0



# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING COMMANDS
# These commands are used to periodically process the host and
# service performance data files.  The interval at which the
# processing occurs is determined by the options above.

#host_perfdata_file_processing_command=process-host-perfdata-file
#service_perfdata_file_processing_command=process-service-perfdata-file



# HOST AND SERVICE PERFORMANCE DATA PROCESS EMPTY RESULTS
# These options determine wether the core will process empty perfdata
# results or not. This is needed for distributed monitoring, and intentionally
# turned on by default.
# If you don't require empty perfdata - saving some cpu cycles
# on unwanted macro calculation - you can turn that off. Be careful!
# Values: 1 = enable, 0 = disable

#host_perfdata_process_empty_results=1
#service_perfdata_process_empty_results=1


# OBSESS OVER SERVICE CHECKS OPTION
# This determines whether or not Nagios will obsess over service
# checks and run the ocsp_command defined below.  Unless you're
# planning on implementing distributed monitoring, do not enable
# this option.  Read the HTML docs for more information on
# implementing distributed monitoring.
# Values: 1 = obsess over services, 0 = do not obsess (default)

obsess_over_services=0



# OBSESSIVE COMPULSIVE SERVICE PROCESSOR COMMAND
# This is the command that is run for every service check that is
# processed by Nagios.  This command is executed only if the
# obsess_over_services option (above) is set to 1.  The command
# argument is the short name of a command definition that you
# define in your host configuration file. Read the HTML docs for
# more information on implementing distributed monitoring.

#ocsp_command=somecommand



# OBSESS OVER HOST CHECKS OPTION
# This determines whether or not Nagios will obsess over host
# checks and run the ochp_command defined below.  Unless you're
# planning on implementing distributed monitoring, do not enable
# this option.  Read the HTML docs for more information on
# implementing distributed monitoring.
# Values: 1 = obsess over hosts, 0 = do not obsess (default)

obsess_over_hosts=0



# OBSESSIVE COMPULSIVE HOST PROCESSOR COMMAND
# This is the command that is run for every host check that is
# processed by Nagios.  This command is executed only if the
# obsess_over_hosts option (above) is set to 1.  The command
# argument is the short name of a command definition that you
# define in your host configuration file. Read the HTML docs for
# more information on implementing distributed monitoring.

#ochp_command=somecommand



# TRANSLATE PASSIVE HOST CHECKS OPTION
# This determines whether or not Nagios will translate
# DOWN/UNREACHABLE passive host check results into their proper
# state for this instance of Nagios.  This option is useful
# if you have distributed or failover monitoring setup.  In
# these cases your other Nagios servers probably have a different
# "view" of the network, with regards to the parent/child relationship
# of hosts.  If a distributed monitoring server thinks a host
# is DOWN, it may actually be UNREACHABLE from the point of
# this Nagios instance.  Enabling this option will tell Nagios
# to translate any DOWN or UNREACHABLE host states it receives
# passively into the correct state from the view of this server.
# Values: 1 = perform translation, 0 = do not translate (default)

translate_passive_host_checks=0



# PASSIVE HOST CHECKS ARE SOFT OPTION
# This determines whether or not Nagios will treat passive host
# checks as being HARD or SOFT.  By default, a passive host check
# result will put a host into a HARD state type.  This can be changed
# by enabling this option.
# Values: 0 = passive checks are HARD, 1 = passive checks are SOFT

passive_host_checks_are_soft=0



# ORPHANED HOST/SERVICE CHECK OPTIONS
# These options determine whether or not Nagios will periodically
# check for orphaned host service checks.  Since service checks are
# not rescheduled until the results of their previous execution
# instance are processed, there exists a possibility that some
# checks may never get rescheduled.  A similar situation exists for
# host checks, although the exact scheduling details differ a bit
# from service checks.  Orphaned checks seem to be a rare
# problem and should not happen under normal circumstances.
# If you have problems with service checks never getting
# rescheduled, make sure you have orphaned service checks enabled.
# Values: 1 = enable checks, 0 = disable checks

check_for_orphaned_services=1
check_for_orphaned_hosts=1



# SERVICE FRESHNESS CHECK OPTION
# This option determines whether or not Nagios will periodically
# check the "freshness" of service results.  Enabling this option
# is useful for ensuring passive checks are received in a timely
# manner.
# Values: 1 = enabled freshness checking, 0 = disable freshness checking

check_service_freshness=1



# SERVICE FRESHNESS CHECK INTERVAL
# This setting determines how often (in seconds) Nagios will
# check the "freshness" of service check results.  If you have
# disabled service freshness checking, this option has no effect.

service_freshness_check_interval=60



# SERVICE CHECK TIMEOUT STATE
# This setting determines the state Nagios will report when a
# service check times out - that is does not respond within
# service_check_timeout seconds.  This can be useful if a
# machine is running at too high a load and you do not want
# to consider a failed service check to be critical (the default).
# Valid settings are:
# c - Critical (default)
# u - Unknown
# w - Warning
# o - OK

service_check_timeout_state=c



# HOST FRESHNESS CHECK OPTION
# This option determines whether or not Nagios will periodically
# check the "freshness" of host results.  Enabling this option
# is useful for ensuring passive checks are received in a timely
# manner.
# Values: 1 = enabled freshness checking, 0 = disable freshness checking

check_host_freshness=0



# HOST FRESHNESS CHECK INTERVAL
# This setting determines how often (in seconds) Nagios will
# check the "freshness" of host check results.  If you have
# disabled host freshness checking, this option has no effect.

host_freshness_check_interval=60




# ADDITIONAL FRESHNESS THRESHOLD LATENCY
# This setting determines the number of seconds that Nagios
# will add to any host and service freshness thresholds that
# it calculates (those not explicitly specified by the user).

additional_freshness_latency=15




# FLAP DETECTION OPTION
# This option determines whether or not Nagios will try
# and detect hosts and services that are "flapping". 
# Flapping occurs when a host or service changes between
# states too frequently.  When Nagios detects that a
# host or service is flapping, it will temporarily suppress
# notifications for that host/service until it stops
# flapping.  Flap detection is very experimental, so read
# the HTML documentation before enabling this feature!
# Values: 1 = enable flap detection
#         0 = disable flap detection (default)

enable_flap_detection=1



# FLAP DETECTION THRESHOLDS FOR HOSTS AND SERVICES
# Read the HTML documentation on flap detection for
# an explanation of what this option does.  This option
# has no effect if flap detection is disabled.

low_service_flap_threshold=5.0
high_service_flap_threshold=20.0
low_host_flap_threshold=5.0
high_host_flap_threshold=20.0



# DATE FORMAT OPTION
# This option determines how short dates are displayed. Valid options
# include:
#    us        (MM-DD-YYYY HH:MM:SS)
#    euro        (DD-MM-YYYY HH:MM:SS)
#    iso8601        (YYYY-MM-DD HH:MM:SS)
#    strict-iso8601    (YYYY-MM-DDTHH:MM:SS)
#

date_format=us




# TIMEZONE OFFSET
# This option is used to override the default timezone that this
# instance of Nagios runs in.  If not specified, Nagios will use
# the system configured timezone.
#
# NOTE: In order to display the correct timezone in the CGIs, you
# will also need to alter the Apache directives for the CGI path
# to include your timezone.  Example:
#
#   <Directory "/usr/local/nagios/sbin/">
#      SetEnv TZ "Australia/Brisbane"
#      ...
#   </Directory>

#use_timezone=US/Mountain
#use_timezone=Australia/Brisbane



# ILLEGAL OBJECT NAME CHARACTERS
# This option allows you to specify illegal characters that cannot
# be used in host names, service descriptions, or names of other
# object types.

illegal_object_name_chars=`~!$%^&*|'"<>?,()=



# ILLEGAL MACRO OUTPUT CHARACTERS
# This option allows you to specify illegal characters that are
# stripped from macros before being used in notifications, event
# handlers, etc.  This DOES NOT affect macros used in service or
# host check commands.
# The following macros are stripped of the characters you specify:
#    $HOSTOUTPUT$
#    $HOSTPERFDATA$
#    $HOSTACKAUTHOR$
#    $HOSTACKCOMMENT$
#    $SERVICEOUTPUT$
#    $SERVICEPERFDATA$
#    $SERVICEACKAUTHOR$
#    $SERVICEACKCOMMENT$

illegal_macro_output_chars=`~$&|'"<>



# REGULAR EXPRESSION MATCHING
# This option controls whether or not regular expression matching
# takes place in the object config files.  Regular expression
# matching is used to match host, hostgroup, service, and service
# group names/descriptions in some fields of various object types.
# Values: 1 = enable regexp matching, 0 = disable regexp matching

use_regexp_matching=0



# "TRUE" REGULAR EXPRESSION MATCHING
# This option controls whether or not "true" regular expression
# matching takes place in the object config files.  This option
# only has an effect if regular expression matching is enabled
# (see above).  If this option is DISABLED, regular expression
# matching only occurs if a string contains wildcard characters
# (* and ?).  If the option is ENABLED, regexp matching occurs
# all the time (which can be annoying).
# Values: 1 = enable true matching, 0 = disable true matching

use_true_regexp_matching=0



# ADMINISTRATOR EMAIL/PAGER ADDRESSES
# The email and pager address of a global administrator (likely you).
# Nagios never uses these values itself, but you can access them by
# using the $ADMINEMAIL$ and $ADMINPAGER$ macros in your notification
# commands.

admin_email=nagios@localhost
admin_pager=pagenagios@localhost



# DAEMON CORE DUMP OPTION
# This option determines whether or not Nagios is allowed to create
# a core dump when it runs as a daemon.  Note that it is generally
# considered bad form to allow this, but it may be useful for
# debugging purposes.  Enabling this option doesn't guarantee that
# a core file will be produced, but that's just life...
# Values: 1 - Allow core dumps
#         0 - Do not allow core dumps (default)

daemon_dumps_core=0



# LARGE INSTALLATION TWEAKS OPTION
# This option determines whether or not Nagios will take some shortcuts
# which can save on memory and CPU usage in large Nagios installations.
# Read the documentation for more information on the benefits/tradeoffs
# of enabling this option.
# Values: 1 - Enabled tweaks
#         0 - Disable tweaks (default)

use_large_installation_tweaks=0



# ENABLE ENVIRONMENT MACROS
# This option determines whether or not Nagios will make all standard
# macros available as environment variables when host/service checks
# and system commands (event handlers, notifications, etc.) are
# executed.
# Enabling this is a very bad idea for anything but very small setups,
# as it means plugins, notification scripts and eventhandlers may run
# out of environment space. It will also cause a significant increase
# in CPU- and memory usage and drastically reduce the number of checks
# you can run.
# Values: 1 - Enable environment variable macros
#         0 - Disable environment variable macros (default)

enable_environment_macros=0



# CHILD PROCESS MEMORY OPTION
# This option determines whether or not Nagios will free memory in
# child processes (processed used to execute system commands and host/
# service checks).  If you specify a value here, it will override
# program defaults.
# Value: 1 - Free memory in child processes
#        0 - Do not free memory in child processes

#free_child_process_memory=1



# CHILD PROCESS FORKING BEHAVIOR
# This option determines how Nagios will fork child processes
# (used to execute system commands and host/service checks).  Normally
# child processes are fork()ed twice, which provides a very high level
# of isolation from problems.  Fork()ing once is probably enough and will
# save a great deal on CPU usage (in large installs), so you might
# want to consider using this.  If you specify a value here, it will
# program defaults.
# Value: 1 - Child processes fork() twice
#        0 - Child processes fork() just once

#child_processes_fork_twice=1



# DEBUG LEVEL
# This option determines how much (if any) debugging information will
# be written to the debug file.  OR values together to log multiple
# types of information.
# Values:
#          -1 = Everything
#          0 = Nothing
#       1 = Functions
#          2 = Configuration
#          4 = Process information
#       8 = Scheduled events
#          16 = Host/service checks
#          32 = Notifications
#          64 = Event broker
#          128 = External commands
#          256 = Commands
#          512 = Scheduled downtime
#          1024 = Comments
#          2048 = Macros

debug_level=0



# DEBUG VERBOSITY
# This option determines how verbose the debug log out will be.
# Values: 0 = Brief output
#         1 = More detailed
#         2 = Very detailed

debug_verbosity=1



# DEBUG FILE
# This option determines where Nagios should write debugging information.

debug_file=/usr/local/nagios/var/nagios.debug




# MAX DEBUG FILE SIZE
# This option determines the maximum size (in bytes) of the debug file.  If
# the file grows larger than this size, it will be renamed with a .old
# extension.  If a file already exists with a .old extension it will
# automatically be deleted.  This helps ensure your disk space usage doesn't
# get out of control when debugging Nagios.

max_debug_file_size=1000000



# Should we allow hostgroups to have no hosts, we default this to off since
# that was the old behavior

allow_empty_hostgroup_assignment=0



# Normally worker count is dynamically allocated based on 1.5 * number of cpu's
# with a minimum of 4 workers.  This value will override the defaults

#check_workers=3



# EXPERIMENTAL load controlling options
# To get current defaults based on your system issue a command to
# the query handler. Please note that this is an experimental feature
# and not meant for production use. Used incorrectly it can induce
# enormous latency.
# #core loadctl
#   jobs_max - The maximum amount of jobs to run at one time
#   jobs_min - The minimum amount of jobs to run at one time
#   jobs_limit - The maximum amount of jobs the current load lets us run
#   backoff_limit - The minimum backoff_change
#   backoff_change - # of jobs to remove from jobs_limit when backing off
#   rampup_limit - Minimum rampup_change
#   rampup_change - # of jobs to add to jobs_limit when ramping up
# NOTE: The backoff_limit and rampup_limit are NOT used by anything currently,
#       so if your system is under load nothing will actively modify the jobs
#       even if you have these options enabled, they are for external
#       connector information only.  However, if you change the jobs_max or
#       jobs_min manually here or through the query handler interface that
#       WILL affect your system
#loadctl_options=jobs_max=100;backoff_limit=10;rampup_change=5





 client  side configration

 9  yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel
   10  useradd nagios
   11  passwd nagios
   12  mkdir /root/nagios
   13  cd /root/nagios/
   14  wget https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz
   15  tar –xvf nagios-plugins-1.5.tar.gz
   16  tar -xvf nagios-plugins-1.5.tar.gz
17  ls
   18  cd nagios-plugins-1.5
   19  ./configure
   20  make
   21  make install
   22  chown nagios.nagios /usr/local/nagios
   23  chown -R nagios.nagios /usr/local/nagios/libexec
   24  yum install xinetd
   25  cd /root/nagios/
   26  wget http://liquidtelecom.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
   27  tar -xvf nrpe-2.15.tar.gz
28  cd nrpe-2.15
   29  ./configure
   30  make all
   31  make install-plugin
   32  make install-daemon
   33  make install-daemon-config
   34  make install-xinetd
   35  vi /etc/xinetd.d/nrpe
  add server ip
   36  vi /etc/services
add port ,   nrpe   5666/tcp   #nagios
   37  service xinetd restart
   38  netstat -at | grep nrpe
   39  /usr/local/nagios/libexec/check_nrpe -H localhost
   40  iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT
   41  service iptables save
   42  vi /usr/local/nagios/etc/nrpe.cfg
   43  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
   44  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
   45  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
   46  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
   47  fdisk -l
   48  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_vda1
   49  /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
   50  /usr/local/nagios/libexec/check_nrpe -H 192.168.101.117
   51  /usr/local/nagios/libexec/check_nrpe -H 192.168.101.116

[root@localhost nagios-plugins-1.5]# service httpd start

Add new template into nagios
%s/exiting name/which want to replace/g