How to monitor a remote Linux host using Nagios?
Linux_Server.CFG
###############################################################################
# Linux_server.CFG – SAMPLE OBJECT CONFIG FILE FOR MONITORING REMOTE MACHINE
#
# Last Modified: xx-xx-xxxx
#
# NOTE: This config file is intended to serve as an *extremely* simple
# example of how you can create configuration entries to monitor
# the linux (Linux) machine.
#
###############################################################################
###############################################################################
###############################################################################
#
# HOST DEFINITION
#
###############################################################################
###############################################################################
# Define a host for the remote 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 linuxtest ;
alias linuxalias ;
address ; type ip address to
;remote linux client
}
###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################
# Define an optional hostgroup for Linux machines
#define hostgroup{
# hostgroup_name linux-servers ; The name of the hostgroup
# alias linuxalias ; Long name of the group
# members linuxtest ; Comma separated list of hosts that belong to this group
# }
###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################
# Define a service to “ping” the remote machine
define service{
use generic-service ; Name of service template to use
host_name linuxtest
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 remote machine. Warning if < 20% free, critical if
# < 10% free space on partition.
define service{
use generic-service ; Name of service template to use
host_name linuxtest
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 remote machine. Warning if > 20 users, critical
# if > 50 users.
define service{
use generic-service ; Name of service template to use
host_name linuxtest
service_description Current Users
check_command check_local_users!20!50
}
# Define a service to check the number of currently running procs
# on the remote machine. Warning if > 250 processes, critical if
# > 400 users.
define service{
use generic-service ; Name of service template to use
host_name linuxtest
service_description Total Processes
check_command check_local_procs!250!400!RSZDT
}
# Define a service to check the load on the remote machine.
define service{
use generic-service ; Name of service template to use
host_name linuxtest
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 remote machine.
# Critical if less than 10% of swap is free, warning if less than 20% is free
define service{
use generic-service ; Name of service template to use
host_name linuxtest
service_description Swap Usage
check_command check_local_swap!20!10
}
# Define a service to check SSH on the remote machine.
# Disable notifications for this service by default, as not all users may have SSH enabled.
define service{
use generic-service ; Name of service template to use
host_name linuxtest
service_description SSH
check_command check_ssh
notifications_enabled 0
}
# Define a service to check HTTP on the remote machine.
# Disable notifications for this service by default, as not all users may have HTTP enabled.
define service{
use generic-service ; Name of service template to use
host_name linuxtest
service_description HTTP
check_command check_http
notifications_enabled 0
}
Edit Nagios.cfg
[you@yourmachine nagios] vi /etc/nagios/nagios.cfg
——————————————————-
——————————————————-
cfg_file=/etc/nagios/objects/linux_server.cfg
————————————————-
Add cfg file path as mentioned above, save it and exit. That’s all on Nagios Server side.