Learning Academy

The Cure of Ignorance is to Question. MUHAMMAD (PBUH)

Monitoring

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.

Muhammad Shaukat

Content Developer at LearnAcad.com

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest