Nagios configuration for Liberia
ThatOneNeji
2020-07-16 7ce05af8af539f631d1dae6f893a3b005cc71c6f
Minor updates. Added files
5 files modified
5 files added
1441 ■■■■ changed files
nagios/NMS_Hosts.cfg 25 ●●●●● patch | view | raw | blame | history
nagios/NMS_Services.cfg 177 ●●●●● patch | view | raw | blame | history
nagios/NMS_Templates.cfg 20 ●●●●● patch | view | raw | blame | history
nagios/hostgroups.cfg 19 ●●●●● patch | view | raw | blame | history
nagios/nagios.cfg 2 ●●●●● patch | view | raw | blame | history
nagios/objects/commands.cfg 458 ●●●● patch | view | raw | blame | history
nagios/objects/commands.cfg.orig 279 ●●●●● patch | view | raw | blame | history
nagios/scripts/check_facts_ldr_procs 213 ●●●●● patch | view | raw | blame | history
nagios/scripts/check_mem.pl 244 ●●●●● patch | view | raw | blame | history
nagios/servicegroups.cfg 4 ●●●● patch | view | raw | blame | history
nagios/NMS_Hosts.cfg
@@ -1,30 +1,5 @@
###
##
#   Host Group definitions
##
###
define hostgroup{
    hostgroup_name                     NMS Servers
    alias                              NMS Servers
}
define hostgroup{
    hostgroup_name                     NMS FACTS
    alias                              NMS FACTS
}
define hostgroup{
    hostgroup_name                     USA
    alias                              USA
}
define hostgroup{
    hostgroup_name                     ACC
    alias                              ACC
}
###
##
#   Host definitions
##
###
nagios/NMS_Services.cfg
@@ -43,7 +43,7 @@
###
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                CPU Load
    check_command                      check_nrpe!check_load
    notes                              OSxxxxx
@@ -59,7 +59,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Memory Usage 
    check_command                      check_nrpe!check_ram
    notes                              OSxxxxx
@@ -67,7 +67,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Partition - Free Space - /app 
    check_command                      check_nrpe!check_app
    notes                              OSxxxxx
@@ -75,7 +75,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Partition - Free Inodes - /app
    check_command                      check_inodes!70!80!"/app"
    notes                              OSxxxxx
@@ -83,7 +83,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Partition - Free Space - /root
    check_command                      check_nrpe!check_root 
    notes                              OSxxxxx
@@ -91,7 +91,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Partition - Free Inodes - /root
    check_command                      check_inodes!70!80!"/"
    notes                              OSxxxxx
@@ -99,7 +99,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Partition - Free Space - /var
    check_command                      check_nrpe!check_var
    notes                              OSxxxxx
@@ -107,7 +107,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Check DNS 
    check_command                      check_nrpe!check_dns
    notes                              OSxxxxx
@@ -115,7 +115,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                SSH Check
    check_command                      check_ssh!10
    notes                              OSxxxxx
@@ -123,7 +123,7 @@
define service{
    use                                nms-generic-service
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                SUDO Installed
    check_command                      check_nrpe!check_sudo
    notes                              OSxxxxx
@@ -224,7 +224,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Apache Service 
    check_command                      check_url!80!1.0!60.0!"Index of"!"/sm/"
    notes                              SWxxxxx
@@ -232,7 +232,7 @@
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Apache Service Running
    check_command                      check_url!80!1.0!60.0!"Apache Server Status"!"/server-status"
    notes                              SWxxxxx
@@ -244,7 +244,7 @@
#
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                Apache Service Running. Coldfusion might be having issues
    check_command                      check_url!80!1.0!60.0!"Network Group Home"!"/"
    notes                              SWxxxxx
@@ -256,7 +256,7 @@
#
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                FACTS - Loader Procs
    check_command                      check_nrpe!check_facts_ldr_procs
    notes                              SWxxxxx
@@ -268,42 +268,42 @@
# services check for "jboss"
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                USA - Jboss - Log - Age
    check_command                      check_nrpe!check_file_age -a 300 600 /app/usa3/jboss/server/latest/log/server.log
    check_command                      check_nrpe!check_file_age -a 300 600 /app/usa3/jboss/server/mtnusa3_rel76/log/server.log
    notes                              SWxxxxx
}
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    host_name                          NMSAPP.TNM.CO.MW
    service_description                USA - Jboss - Log - Java heap space
    check_command                      check_nrpe!check_log_generic -a  /app/usa3/jboss/server/latest/log/server.log /app2/nrpe/nrpe.acc.jboss.error 'Java heap space'
    check_command                      check_nrpe!check_log_generic -a  /app/usa3/jboss/server/mtnusa3_rel76/log/server.log /tmp/nrpe.acc.jboss.error 'Java heap space'
    notes                              SWxxxxx
}
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - Web Interface - 9090 - usa_jboss
    servicegroups                      jboss_instances
    check_command                      check_url!9090!1.0!60.0!"USA FCAPS Manager"!"/mtnusa_web/"
    notes                              SWxxxxx
}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - Web Interface - 9090 - usa_jboss
#    servicegroups                      jboss_instances
#    check_command                      check_url!9090!1.0!60.0!"USA FCAPS Manager"!"/mtnusa_web/"
#    notes                              SWxxxxx
#}
# services check for "http_service"
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - http_service - Log - Java heap space
    check_command                      check_nrpe!check_log_generic -a /app/usa3/nlusa/http/log/server.log /app2/nrpe/nrpe.acc.http_service.error 'Java heap space'
    notes                              SWxxxxx
}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - http_service - Log - Java heap space
#    check_command                      check_nrpe!check_log_generic -a /app/usa3/nlusa/http/log/server.log /tmp/nrpe.acc.http_service.error 'Java heap space'
#    notes                              SWxxxxx
#}
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - Web Interface - 8080 - http_svc
    host_name                          NMSAPP.TNM.CO.MW
    service_description                USA - Web Interface - 8080 - usa_jboss
    check_command                      check_url!8080!1.0!60.0!"USA FCAPS Manager"!"/mtnusa_web/"
    notes                              SWxxxxx
}
@@ -312,48 +312,75 @@
#  Plugins - Common
##
# services check for "vasc_subscriber"
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - VASC - vasc_subscriber - Log - Age
    check_command                      check_nrpe!check_file_age -a 300 600 /app/vasc/subscriber-0.9.1/log/server.log
    notes                              SWxxxxx
}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_alarm_disc - Log - Age
#    check_command                      check_nrpe!check_file_age -a 300 600 /app/vasc/enabled/vasc-0.8.0-alarm_disc/log/server.log
#    notes                              SWxxxxx
#}
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - VASC - vasc_subscriber - Log - Java heap space
    check_command                      check_nrpe!check_log_generic -a /app/vasc/subscriber-0.9.1/log/server.log /app2/nrpe/nrpe.acc.vasc_subscriber.error 'Java heap space'
    notes                              SWxxxxx
}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_alarm_disc - Log - Java heap space
#    check_command                      check_nrpe!check_log_generic -a /app/vasc/enabled/vasc-0.8.0-alarm_disc/log/server.log /tmp/nrpe.acc.vasc_alarm_disc.error 'Java heap space'
#    notes                              SWxxxxx
#}
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - VASC - vasc_subscriber - Plugin - Running
    check_command                      check_nrpe!check_procs_app -a 1:2 0:2 " vasc_subscriber "
    notes                              SWxxxxx
}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_alarm_disc - Plugin - Running
#    check_command                      check_nrpe!check_procs_app -a 1:2 0:2 " vasc_alarm_disc "
#    notes                              SWxxxxx
#}
##
# USA - NLUSA Cluster
##
# check usa web ports
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - Web Interface - 9090 - usa_jboss
    servicegroups                      jboss_instances
    check_command                      check_url!9090!1.0!60.0!"USA FCAPS Manager"!"/mtnusa_web/"
    notes                              SWxxxxx
}
define service{
    use                                nms-generic-service-crit
    host_name                          NMSAPP.TMN.CO.ZA
    service_description                USA - Web Interface - 8080 - http_svc
    check_command                      check_url!8080!1.0!60.0!"USA FCAPS Manager"!"/mtnusa_web/"
    notes                              SWxxxxx
}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_local - Log - Age
#    check_command                      check_nrpe!check_file_age -a 300 600 /app/vasc/enabled/vasc-0.8.0/log/server.log
#    notes                              SWxxxxx
#}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_local - Log - Java heap space
#    check_command                      check_nrpe!check_log_generic -a /app/vasc/enabled/vasc-0.8.0/log/server.log /tmp/nrpe.acc.vasc_local.error 'Java heap space'
#    notes                              SWxxxxx
#}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_local - Plugin - Running
#    check_command                      check_nrpe!check_procs_app -a 1:2 0:2 " vasc_local "
#    notes                              SWxxxxx
#}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_rules_engine - Log - Age
#    check_command                      check_nrpe!check_file_age -a 300 600 /app/vasc/enabled/vasc-0.8.0-rules_engine/log/server.log
#    notes                              SWxxxxx
#}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_rules_engine - Log - Java heap space
#    check_command                      check_nrpe!check_log_generic -a /app/vasc/enabled/vasc-0.8.0-rules_engine/log/server.log /tmp/nrpe.acc.vasc_rules_engine.error 'Java heap space'
#    notes                              SWxxxxx
#}
#define service{
#    use                                nms-generic-service-crit
#    host_name                          NMSAPP.TNM.CO.MW
#    service_description                USA - VASC - vasc_rules_engine - Plugin - Running
#    check_command                      check_nrpe!check_procs_app -a 1:2 0:2 " vasc_rules_engine "
#    notes                              SWxxxxx
#}
nagios/NMS_Templates.cfg
@@ -28,6 +28,7 @@
###
define service{
    name                               nms-generic-service                               ; The 'name' of this service template
    service_description                service
    active_checks_enabled              1                                                 ; Active service checks are enabled
    passive_checks_enabled             1                                                 ; Passive service checks are enabled/accepted
    parallelize_check                  1                                                 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
@@ -36,15 +37,15 @@
    notifications_enabled              1                                                 ; Service notifications are enabled
    event_handler_enabled              1                                                 ; Service event handler is enabled
    flap_detection_enabled             1                                                 ; Flap detection is enabled
    failure_prediction_enabled         1                                                 ; Failure prediction is enabled
#    failure_prediction_enabled         1                                                 ; Failure prediction is enabled
    process_perf_data                  1                                                 ; Process performance data
    retain_status_information          1                                                 ; Retain status information across program restarts
    retain_nonstatus_information       1                                                 ; Retain non-status information across program restarts
    is_volatile                        0                                                 ; The service is not volatile
    check_period                       24x7                                              ; The service can be checked at any time of the day
    max_check_attempts                 3                                                 ; Re-check the service up to 3 times in order to determine its final (hard) state
    normal_check_interval              4                                                ; Check the service every 10 minutes under normal conditions
    retry_check_interval               2                                                 ; Re-check the service every two minutes until a hard state can be determined
    check_interval                     4                                                 ; Check the service every 10 minutes under normal conditions
    retry_interval                     2                                                 ; Re-check the service every two minutes until a hard state can be determined
    contact_groups                     admins, nms_grp, nms_standby_grp                  ; Notifications get sent out to everyone in the 'admins' group
    notification_options               w,u,c,r                                           ; Send notifications about warning, unknown, critical, and recovery events
    notification_interval              60                                                ; Re-notify about service problems every hour
@@ -56,9 +57,10 @@
    use                                nms-generic-service
    name                               nms-generic-service-crit
    max_check_attempts                 3
    normal_check_interval              2
    retry_check_interval               1
    check_interval                     2
    retry_interval                     1
    notification_interval              30
    register                           0
}
###
##
@@ -69,10 +71,10 @@
define host{
    name                               nms-generic-host                                  ; The name of this host template
    notifications_enabled              1                                                 ; Host notifications are enabled
    event_handler                      NIDSERVERS_EVENT
    event_handler                      TTWSERVERS_EVENT
    event_handler_enabled              1                                                 ; Host event handler is enabled
    flap_detection_enabled             1                                                 ; Flap detection is enabled
    failure_prediction_enabled         1                                                 ; Failure prediction is enabled
#    failure_prediction_enabled         1                                                 ; Failure prediction is enabled
    process_perf_data                  1                                                 ; Process performance data
    retain_status_information          1                                                 ; Retain status information across program restarts
    retain_nonstatus_information       1                                                 ; Retain non-status information across program restarts
@@ -91,7 +93,7 @@
    check_command                      check-host-alive
    max_check_attempts                 3
    check_interval                     1
    retry_check_interval               2
    retry_interval                     2
    notification_interval              10
    notification_options               d,u,r
    register                           0                                                 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
@@ -104,7 +106,7 @@
    check_command                      check-host-alive
    max_check_attempts                 3
    check_interval                     1
    retry_check_interval               2
    retry_interval                     2
    notification_interval              10
    notification_options               d,u,r
    register                           0                                                 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
nagios/hostgroups.cfg
New file
@@ -0,0 +1,19 @@
define hostgroup{
    hostgroup_name                     NMS Servers
    alias                              NMS Servers
}
define hostgroup{
    hostgroup_name                     NMS FACTS
    alias                              NMS FACTS
}
define hostgroup{
    hostgroup_name                     USA
    alias                              USA
}
define hostgroup{
    hostgroup_name                     ACC
    alias                              ACC
}
nagios/nagios.cfg
@@ -31,6 +31,8 @@
cfg_file=/etc/nagios/objects/timeperiods.cfg
cfg_file=/etc/nagios/objects/templates.cfg
cfg_file=/etc/nagios/hostgroups.cfg
cfg_file=/etc/nagios/servicegroups.cfg
# Definitions for monitoring the local (Linux) host
cfg_file=/etc/nagios/objects/localhost.cfg
nagios/objects/commands.cfg
@@ -1,6 +1,7 @@
###############################################################################
# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS 4.4.3
# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS 3.0
#
# Last Modified: 05-31-2007
#
# NOTES: This config file provides you with some example command definitions
#        that you can reference in host, service, and contact definitions.
@@ -10,7 +11,6 @@
#        understand.
#
###############################################################################
################################################################################
@@ -23,45 +23,17 @@
#
################################################################################
# 'notify-host-by-email' command definition
define command{
    command_name                       notify-host-by-email
    command_line                       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-host-by-sms' command definition
define command{
    command_name                       notify-host-by-sms
    command_line                       /usr/bin/printf "Host: $HOSTALIAS$\nState: $HOSTSTATE$\nAdditional Info:\n$HOSTOUTPUT$\nTime: $SHORTDATETIME$\n" | /bin/mailx -s "Nagios" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-host-by-sms2' command definition
define command{
    command_name                       notify-host-by-sms2
    command_line                       /app/nagios_notifications/usa_sms.sh $CONTACTEMAIL$ "--NAGIOS-- Date/Time - $SHORTDATETIME$  Notification Type - $NOTIFICATIONTYPE$  Host - $HOSTALIAS$  State: $HOSTSTATE$   Additional Info - $HOSTOUTPUT$ "
    command_line                       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mailx -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
# 'notify-service-by-email' command definition
define command{
    command_name                       notify-service-by-email
    command_line                       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-service-by-sms' command definition
define command{
    command_name                       notify-service-by-sms
    command_line                       /usr/bin/printf "\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nState: $SERVICESTATE$\nAdditional Info:\n$SERVICEOUTPUT$\nTime: $SHORTDATETIME$\n" | /bin/mailx -s "Nagios" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-service-by-sms2' command definition
define command{
    command_name                       notify-service-by-sms2
    command_line                       /app/nagios_notifications/usa_sms.sh $CONTACTEMAIL$ "--NAGIOS-- Date/Time - $SHORTDATETIME$  Notification Type - $NOTIFICATIONTYPE$  Host - $HOSTALIAS$  Service - $SERVICEDESC$  State - $SERVICESTATE$   Additional Info - $SERVICEOUTPUT$ "
}
define command{
    command_name                       notify-service-by-iws-sms
    command_line                       /app/nagios_notifications/iws_usa_sms.sh $CONTACTEMAIL$ "--NAGIOS-- Date/Time - $SHORTDATETIME$  Notification Type - $NOTIFICATIONTYPE$  Host - $HOSTALIAS$  Service - $SERVICEDESC$  State - $SERVICESTATE$   Additional Info - $SERVICEOUTPUT$ "
    command_line                       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mailx -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
@@ -71,15 +43,22 @@
#
################################################################################
# This command checks to see if a host is "alive" by pinging it
# The check must result in a 100% packet loss or 5 second (5000ms) round trip
# average time to produce a critical error.
# Note: Five ICMP echo packets are sent (determined by the '-p 5' argument)
# 'check-host-alive' command definition
define command {
    command_name    check-host-alive
    command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
    command_line                       $USER1$/check_ping -H $HOSTADDRESS$ -w 5000.0,80% -c 10000.0,90% -p 5
}
# 'check-host-alive2' command definition, longer timeouts
define command{
    command_name                       check-host-alive2
    command_line                       $USER1$/check_ping -H $HOSTADDRESS$ -w 20000.0,80% -c 30000.0,90% -p 10 -t 60
}
@@ -96,52 +75,46 @@
#        various metrics on the host that Nagios is running on (i.e. this one).
################################################################################
# 'check_local_disk' command definition
define command {
    command_name    check_local_disk
    command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
# 'check_local_load' command definition
define command {
    command_name    check_local_load
    command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
}
# 'check_local_procs' command definition
define command {
    command_name    check_local_procs
    command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}
# 'check_users' command definition
define command {
    command_name    check_local_users
    command_name                       check_users
    command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$
}
# 'check_local_swap' command definition
define command {
    command_name    check_local_swap
    command_line    $USER1$/check_swap -w $ARG1$ -c $ARG2$
}
# 'check_local_mrtgtraf' command definition
define command {
    command_name    check_local_mrtgtraf
    command_line    $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$
}
################################################################################
@@ -149,109 +122,224 @@
#        both local and remote hosts.
################################################################################
# 'check_ftp' command definition
define command {
    command_name    check_ftp
    command_line    $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
}
# 'check_hpjd' command definition
define command {
    command_name    check_hpjd
    command_line    $USER1$/check_hpjd -H $HOSTADDRESS$ $ARG1$
}
# 'check_snmp' command definition
define command {
    command_name    check_snmp
    command_line    $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$
}
# 'check_http' command definition
define command {
    command_name    check_http
    command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
# 'check_ssh' command definition
define command {
    command_name    check_ssh
    command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
    command_line                       $USER1$/check_ssh -H $HOSTADDRESS$ -t $ARG1$
}
# 'check_inodes' command definition
define command {
    command_name                       check_inodes
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_inodes -a $ARG1$ $ARG2$ $ARG3$
}
# 'check_dhcp' command definition
define command{
    command_name    check_dhcp
    command_line    $USER1$/check_dhcp $ARG1$
}
# 'check_ping' command definition
define command {
    command_name    check_ping
    command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
# 'check_pop' command definition
define command {
    command_name    check_pop
    command_line    $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$
}
# 'check_imap' command definition
define command {
    command_name    check_imap
    command_line    $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$
}
# 'check_smtp' command definition
define command {
    command_name    check_smtp
    command_line    $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$
}
# 'check_tcp' command definition
define command {
    command_name    check_tcp
    command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
    command_line                       $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$
}
# 'check_tcp_mms' command definition
define command {
    command_name                       check_tcp_mms
    command_line                       $USER1$/check_tcp_mms -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$
}
# 'check_udp' command definition
define command{
    command_name    check_udp
    command_line    $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
}
# 'check_nt' command definition
define command {
    command_name    check_nt
    command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
    command_line                       $USER1$/check_nt -H $HOSTADDRESS$ -v $ARG1$ $ARG2$
}
# Always add NRPE command here
define command{
    command_name                       check_nrpe
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
define command{
    command_name                       check_nrpe600
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -t 600 -c $ARG1$
}
define command{
    command_name                       check_nrpe60
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -t 60 -c $ARG1$
}
#My Commands
define command{
    command_name                       check_mem
    command_line                       $USER1$/check_mem -H $HOSTADDRESS$ -c $ARG1$ $ARG2$
}
define command{
    command_name                       check_ram
    command_line                       $USER1$/check_ram -H $HOSTADDRESS$ -c $ARG1$ $ARG2$
}
define command{
    command_name                       check_ram_rica
    command_line                       $USER1$/check_ram_rica -H $HOSTADDRESS$ -c $ARG1$ $ARG2$
}
# check_procs' command definition
define command{
    command_name                       check_procs
    command_line                       $USER1$/check_procs -a $ARG1$
}
# 'check_local_procs' command definition
#define command{
#    command_name                       check_procs_nagios
#    command_line                       $USER1$/check_procs -a $ARG1$
#}
# 'check_local_procs' command definition
define command{
    command_name                       check_system_pp
    command_line                       /usr/local/nagios/libexec/check_system_pp
}
# 'check_local_users' command definition
define command{
    command_name                       check_local_users
    command_line                       $USER1$/check_users -w $ARG1$ -c $ARG2$
}
# 'check_dns' command definition
define command{
    command_name                       check_dns
    command_line                       /usr/local/nagios/libexec/check_dns -H $HOSTADDRESS$ -s $ARG1$
}
# 'check_dns' command definition
define command{
    command_name                       check_dns2
    command_line                       /usr/local/nagios/libexec/check_dns -H $HOSTADDRESS$ -s $HOSTADDRESS$ -t $ARG1$
}
# 'check_dns' command definition
define command{
    command_name                       check_dns3
    command_line                       /usr/local/nagios/libexec/check_dns
}
# 'check_root' command definition
define command{
    command_name                       check_var
    command_line                       $USER1$/check_disk
}
# 'check_log' command definition
#define command{
#    command_name                       check_log
#    command_line                       $USER1$/check_log $ARG1$
#}
# 'check_disk' command definition
define command{
    command_name                       check_root
    command_line                       $USER1$/check_disk
}
# 'check_disk' command definition
define command{
    command_name                       check_archive
    command_line                       $USER1$/check_disk
}
# 'check_disk' command definition
define command{
    command_name                       check_export
    command_line                       $USER1$/check_disk
}
#check_load
define command{
    command_name                       check_load
    command_line                       /usr/local/nagios/libexec/check_load -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
}
# 'check_procs' command definition
define command{
    command_name                       check_processes
    command_line                       /usr/local/nagios/libexec/check_processes
}
# 'check_uptime' command definition
define command{
    command_name                       check_uptime
    command_line                       /usr/local/nagios/libexec/check_uptime
}
################################################################################
#
@@ -264,16 +352,220 @@
#
################################################################################
define command {
# 'process-host-perfdata' command definition
define command{
    command_name    process-host-perfdata
    command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/log/nagios/host-perfdata.out
    command_line                       /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /usr/local/nagios/var/host-perfdata.out
}
# 'process-service-perfdata' command definition
define command{
    command_name                       process-service-perfdata
    command_line                       /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
}
##############################################################################
##############################################################################
define command{
    command_name                       host_event
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$
}
define command {
    command_name                       NODEB_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "NODEB_EVENT"
}
    command_name    process-service-perfdata
    command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/log/nagios/service-perfdata.out
define command{
    command_name                       IM_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "IM_EVENT"
}
define command{
    command_name                       IM_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "IM_SERVICES_EVENT"
}
define command{
    command_name                       TTWSERVERS_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "TTWSERVERS_EVENT"
}
define command{
    command_name                       TTWSERVERS_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "TTWSERVERS_SERVICES_EVENT"
}
define command{
    command_name                       SI_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "SI_SERVICES_EVENT"
}
define command{
    command_name                       IS_SERVERS_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "TTWSERVERS_EVENT"
}
define command{
    command_name                       SDPSERVERS_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "SDPSERVERS_EVENT"
}
define command{
    command_name                       SDPSERVERS_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "SDPSERVERS_SERVICES_EVENT"
}
define command{
    command_name                       SDP2SERVERS_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "SDP2SERVERS_EVENT"
}
define command{
    command_name                       SDP2SERVERS_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "SDP2SERVERS_SERVICES_EVENT"
}
define command{
    command_name                       service_event
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$
}
define command{
    command_name                       EXTERNAL_FACTS_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "EXTERNAL_FACTS_EVENT"
}
define command{
    command_name                       EXTERNAL_FACTS_SERVICE_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "EXTERNAL_FACTS_SERVICE_EVENT"
}
define command{
    command_name                       MTNSI_PSI
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "MTNSI PSI"
}
define command{
    command_name                       IWSSERVERS_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "MTNSI PSI"
}
define command{
    command_name                       IWSSERVERS_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "MTNSI PSI"
}
define command {
    command_name                       check_msmq
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -t 30 -c check_msmq -a $ARG1$
}
define command {
    command_name                       check_fileCount
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -t 30 -c check_fileCount -a $ARG1$ $ARG2$
}
define command {
    command_name                       check_fileCount_smtp
    command_line                       $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -t 30 -c check_fileCount_smtp -a $ARG1$ $ARG2$
}
define command{
    command_name                       IWSSMPP_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "IWSSMPP_EVENT"
}
define command{
    command_name                       IWSSMPP_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "IWSSMPP_SERVICES_EVENT"
}
# check_webserver definition = MTN NID
define command{
    command_name                       check_webserver
    command_line                       $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ -s $ARG4$
}
# check_url_auth definition = HTTP with user authentication
define command{
    command_name                       check_url_auth
    command_line                       $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ -s $ARG4$ -u $ARG5$ -a $ARG6$
}
# check_https definition = MTN NID
define command{
    command_name                       check_https
    command_line                       $USER1$/check_http -H $HOSTADDRESS$ -S -p $ARG1$ -w $ARG2$ -c $ARG3$ -s $ARG4$ -u $ARG5$
}
# check_jmx_memory definition = MTN NID
define command{
    command_name                       check_jmx_memory
    command_line                       $USER1$/check_jmx_heapmemory -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}
# check_ntlm definition = MTN NID
define command{
    command_name                       check_ntlm
    command_line                       $USER1$/check_ntlm.pl -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}
# check_ntlm definition = MTN NID
define command{
    command_name                       check_ntlm_nisweb01
    command_line                       $USER1$/check_ntlm.pl -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}
# check_ntlm definition = MTN NID
define command{
    command_name                       check_ntlm_ibs
    command_line                       $USER1$/check_ntlm.pl -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}
# check_ntlm definition = MTN NID
define command{
    command_name                       check_http_accDB
    command_line                       $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$
}
define command{
    command_name                       SAAE_EVENT
    command_line                       $USER2$/event.pl $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$ "HOST PING" "$HOSTOUTPUT$" $HOSTNAME$ "SAAE_EVENT"
}
define command{
    command_name                       CHARGING_SERVICES_EVENT
    command_line                       $USER2$/event.pl $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ "$SERVICEDESC$" "$SERVICEOUTPUT$" $HOSTNAME$ "CHARGING_SERVICES_EVENT"
}
# 'check_esxi_hardware' command definition
define command{
    command_name                       check_esxi_hardware
    command_line                       $USER1$/check_esxi_hardware.py -H $HOSTADDRESS$ -U $ARG1$ -P file:$ARG2$ -V $ARG3$
}
define command{
    command_name                       check_smpp_port
    command_line                       $USER1$/check_port.pl -h $HOSTADDRESS$ -p 5016 -c $ARG1$ -w $ARG2$
}
# Check Home Directory sizes
# check_homedirs
define command {
    command_name                       check_homedirs
    command_line                       $USER1/check_homedirs.pl -w $ARG2 -c $ARG1
}
define command{
    command_name                       check_url
    command_line                       $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ -s $ARG4$ -u $ARG5$
}
define command{
    command_name                       check_url2
    command_line                       $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ -u $ARG4$
}
nagios/objects/commands.cfg.orig
New file
@@ -0,0 +1,279 @@
###############################################################################
# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS 4.4.3
#
#
# NOTES: This config file provides you with some example command definitions
#        that you can reference in host, service, and contact definitions.
#
#        You don't need to keep commands in a separate file from your other
#        object definitions.  This has been done just to make things easier to
#        understand.
#
###############################################################################
################################################################################
#
# SAMPLE NOTIFICATION COMMANDS
#
# These are some example notification commands.  They may or may not work on
# your system without modification.  As an example, some systems will require
# you to use "/usr/bin/mailx" instead of "/usr/bin/mail" in the commands below.
#
################################################################################
# 'notify-host-by-email' command definition
define command{
    command_name                       notify-host-by-email
    command_line                       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-host-by-sms' command definition
define command{
    command_name                       notify-host-by-sms
    command_line                       /usr/bin/printf "Host: $HOSTALIAS$\nState: $HOSTSTATE$\nAdditional Info:\n$HOSTOUTPUT$\nTime: $SHORTDATETIME$\n" | /bin/mailx -s "Nagios" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-host-by-sms2' command definition
define command{
    command_name                       notify-host-by-sms2
    command_line                       /app/nagios_notifications/usa_sms.sh $CONTACTEMAIL$ "--NAGIOS-- Date/Time - $SHORTDATETIME$  Notification Type - $NOTIFICATIONTYPE$  Host - $HOSTALIAS$  State: $HOSTSTATE$   Additional Info - $HOSTOUTPUT$ "
}
# 'notify-service-by-email' command definition
define command{
    command_name                       notify-service-by-email
    command_line                       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-service-by-sms' command definition
define command{
    command_name                       notify-service-by-sms
    command_line                       /usr/bin/printf "\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nState: $SERVICESTATE$\nAdditional Info:\n$SERVICEOUTPUT$\nTime: $SHORTDATETIME$\n" | /bin/mailx -s "Nagios" -r nagios@sinagios01.mtn.co.za $CONTACTEMAIL$
}
# 'notify-service-by-sms2' command definition
define command{
    command_name                       notify-service-by-sms2
    command_line                       /app/nagios_notifications/usa_sms.sh $CONTACTEMAIL$ "--NAGIOS-- Date/Time - $SHORTDATETIME$  Notification Type - $NOTIFICATIONTYPE$  Host - $HOSTALIAS$  Service - $SERVICEDESC$  State - $SERVICESTATE$   Additional Info - $SERVICEOUTPUT$ "
}
define command{
    command_name                       notify-service-by-iws-sms
    command_line                       /app/nagios_notifications/iws_usa_sms.sh $CONTACTEMAIL$ "--NAGIOS-- Date/Time - $SHORTDATETIME$  Notification Type - $NOTIFICATIONTYPE$  Host - $HOSTALIAS$  Service - $SERVICEDESC$  State - $SERVICESTATE$   Additional Info - $SERVICEOUTPUT$ "
}
################################################################################
#
# SAMPLE HOST CHECK COMMANDS
#
################################################################################
# This command checks to see if a host is "alive" by pinging it
# The check must result in a 100% packet loss or 5 second (5000ms) round trip
# average time to produce a critical error.
# Note: Five ICMP echo packets are sent (determined by the '-p 5' argument)
define command {
    command_name    check-host-alive
    command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
}
################################################################################
#
# SAMPLE SERVICE CHECK COMMANDS
#
# These are some example service check commands.  They may or may not work on
# your system, as they must be modified for your plugins.  See the HTML
# documentation on the plugins for examples of how to configure command definitions.
#
# NOTE:  The following 'check_local_...' functions are designed to monitor
#        various metrics on the host that Nagios is running on (i.e. this one).
################################################################################
define command {
    command_name    check_local_disk
    command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
define command {
    command_name    check_local_load
    command_line    $USER1$/check_load -w $ARG1$ -c $ARG2$
}
define command {
    command_name    check_local_procs
    command_line    $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}
define command {
    command_name    check_local_users
    command_line    $USER1$/check_users -w $ARG1$ -c $ARG2$
}
define command {
    command_name    check_local_swap
    command_line    $USER1$/check_swap -w $ARG1$ -c $ARG2$
}
define command {
    command_name    check_local_mrtgtraf
    command_line    $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$
}
################################################################################
# NOTE:  The following 'check_...' commands are used to monitor services on
#        both local and remote hosts.
################################################################################
define command {
    command_name    check_ftp
    command_line    $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_hpjd
    command_line    $USER1$/check_hpjd -H $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_snmp
    command_line    $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_http
    command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_ssh
    command_line    $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
}
define command {
    command_name    check_dhcp
    command_line    $USER1$/check_dhcp $ARG1$
}
define command {
    command_name    check_ping
    command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
define command {
    command_name    check_pop
    command_line    $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_imap
    command_line    $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_smtp
    command_line    $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$
}
define command {
    command_name    check_tcp
    command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
}
define command {
    command_name    check_udp
    command_line    $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$
}
define command {
    command_name    check_nt
    command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
################################################################################
#
# SAMPLE PERFORMANCE DATA COMMANDS
#
# These are sample performance data commands that can be used to send performance
# data output to two text files (one for hosts, another for services).  If you
# plan on simply writing performance data out to a file, consider using the
# host_perfdata_file and service_perfdata_file options in the main config file.
#
################################################################################
define command {
    command_name    process-host-perfdata
    command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/log/nagios/host-perfdata.out
}
define command {
    command_name    process-service-perfdata
    command_line    /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/log/nagios/service-perfdata.out
}
nagios/scripts/check_facts_ldr_procs
New file
@@ -0,0 +1,213 @@
#!/bin/bash
##################################################################################
# NAME:    ./check_facts_ldr_procs
# PURPOSE: This script is a Nagios Plugin to test FACTS Loader processes
#          It checks Java if certain Java processes are running or not.
# USAGE: ./check_facts_ldr_procs [ -p {proc_list} ] [ -P {pidfile_list} ]
#       -p {proc_list}    = Comma seperated list of Process names to grep for
#   -P {pidfile_list} = Comma seperated lsit of PID Files. PIDs in files will
#                       be looked for.
#
# REVISIONS:
# Ver     Date        Author           Description
# ----- ----------  ----------  ------------------------------------
# 2.0   2010-05-07  JD Loots    1. Modified the script for MTN FACTS purposes.
#                                  Removed PORT checks.
# 2.1   2010-06-02  JD Loots    2. There was a bug in checking PIDs in Linux.
#                                  Bug was fixed by introducing a PS variable.
# 2.2   2011-05-31  JD Loots    3. Added ability to specify the processes and
#                                  PID files on command line (-p and -P) instead
#                                  of having the processes specified inside
#                                  script. Also removed Warning level procs tests.
# 2.3   2011-05-09  JD Loots    4. Added exit to printUsage sub.
##################################################################################
##################################################################################
#
# PID Files to check
PIDLIST=""           # Will be populated from -p argument
# Processes to check
PROCLIST=""          # Will be populated from -P argument
PATH="/usr/bin:/usr/sbin:/bin:/sbin"
if [ "`uname -s`" = "SunOS" ]
then
  PSAUXWWW="/usr/ucb/ps -auxwww"
  PS=/usr/bin/ps
elif [ "`uname -s`" = "Linux" ]
then
  PSAUXWWW="/bin/ps auxwww"
  PS=/bin/ps
else
  PSAUXWWW="/bin/ps -auxwww"
  PS=/bin/ps
fi
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
print_gpl() {
    echo "This program is free software; you can redistribute it and/or modify"
    echo "it under the terms of the GNU General Public License as published by"
    echo "the Free Software Foundation; either version 2 of the License, or"
    echo "(at your option) any later version."
    echo ""
    echo "This program is distributed in the hope that it will be useful,"
    echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
    echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the"
    echo "GNU General Public License for more details."
    echo ""
    echo "You should have received a copy of the GNU General Public License"
    echo "along with this program; if not, write to the Free Software"
    echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA"
}
printUsage(){
    echo ""
    echo "FACTS Loader process and port check script for Nagios."
        echo ""
    echo "USAGE: $0  [ -p {proc_list} ] [ -P {pidfile_list} ]"
    echo "-p {proc_list}    = Comma seperated list of Process names to grep for"
    echo "-P {pidfile_list} = Comma seperated lsit of PID Files. PIDs in files will"
    echo "                    be looked for."
        echo ""
        echo "EXAMPLE: $0 -p StatsGW,NotificationManager,DownloadManager,serviceManager,ViewManager,factsbi/cs/jboss \\"
        echo "   -P /app/factsbi/es/tmp/es.pid,/app/factsbi/en1/tmp/en.pid"
        print_gpl
    exit 1
}
check_processes()
{
        PROCESS="0"
        ERROR_PROCS=""
        for PROC in `echo $PROCLIST`
        do
          if [ `${PSAUXWWW} | grep $PROC | grep -v grep | wc -l` -lt 1 ]
          then
            PROCESS=1
            ERROR_PROCS="$ERROR_PROCS""$PROC ";
          fi
        done
        if [ $PROCESS -eq "1" ]
        then
          exit_proc=$STATE_CRITICAL
            elif [ $PROCESS -eq "0" ]
            then
                  exit_proc=$STATE_OK
        fi
}
check_pids()
{
  PROCESS="0"
  ERROR_PIDS=""
  for PIDFILE in `echo $PIDLIST`
  do
    if [ ! -r ${PIDFILE} ]
    then
      PROCESS=1
      ERROR_PIDS="${ERROR_PIDS} ${PIDFILE}"
    else
      PID=`cat ${PIDFILE} | head -1`
      ${PS} -p ${PID} > /dev/null 2>&1
      CODE=$?
      if [ ${CODE} -gt 0 ]
      then
        PROCESS=1
        ERROR_PIDS="${ERROR_PIDS} ${PIDFILE}"
      fi
    fi
  done
  if [ $PROCESS -eq "1" ]
  then
    exit_pid=$STATE_CRITICAL
  elif [ $PROCESS -eq "0" ]
  then
    exit_pid=$STATE_OK
  fi
}
#
# MAIN
#
if [ "$1" = "" ]
then
  echo "ERROR:No argument specified." >&2
  printUsage
fi
# Decode command-line arguments
while [ "$1" != "" ]
do
  case "$1" in
    '-p' ) PROCLIST=$2
           shift 2
           ;;
    '-P' ) PIDLIST=$2
           shift 2
           ;;
    '-h' ) printUsage
           shift
           ;;
     *)    # In case all parameters were passed as one, decode with awk
           if [ "$1" != "" ] && [ "$2" = "" ]
           then
             NF=`echo $1 | awk '{print NF}'`
             let i=1
             while [ $i -lt $NF ]
             do
               let j=i+1        # Make j 1 more than i
               ONE=`echo $1 | awk '{print $'${i}'}'`
               TWO=`echo $1 | awk '{print $'${j}'}'`
               case "${ONE}" in
                 '-p' ) PROCLIST=$TWO
                        let i=i+2       # shift 2
                        ;;
                 '-P' ) PIDLIST=`echo "scale=0;$TWO * ${SCALE} / 1" |bc`
                        let i=i+2       # shift 2
                        ;;
                 '-h' ) printUsage
                        let i=i+1       # shift
                        ;;
                 *)     echo "Unknown argument: \"$ONE\"" >&2
                        printUsage
                        ;;
               esac
             done
             shift
           else
             echo "Unknown argument: \"$1\"" >&2
             printUsage
           fi
           ;;
  esac
done
# At this stage, PROCLIST and PIDLIST are Comma Seperated Lists.
# Replace Comma's with spaces in these values.
PIDLIST=`echo ${PIDLIST} | sed 's/,/ /g'`
PROCLIST=`echo ${PROCLIST} | sed 's/,/ /g'`
# Do the Process checks
check_processes
check_pids
final_exit=`expr $exit_proc + $exit_pid`
if [ $final_exit -eq "0" ]
then
  echo "SYSTEM OK - All monitored resources OK. Processes: ${PROCLIST}. PID Files: ${PIDLIST}."
  exitstatus=$STATE_OK
else
  echo "SYSTEM CRITICAL - Processes DOWN! Processes: ${ERROR_PROCS} ${ERROR_PIDS}."
  exitstatus=$STATE_CRITICAL
fi
exit $exitstatus
nagios/scripts/check_mem.pl
New file
@@ -0,0 +1,244 @@
#!/usr/bin/perl -w
# $Id: check_mem.pl 2 2002-02-28 06:42:51Z egalstad $
# Original script stolen from:
# check_mem.pl Copyright (C) 2000 Dan Larsson <dl@tyfon.net>
# hacked by
# Justin Ellison <justin@techadvise.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# you should have received a copy of the GNU General Public License
# along with this program (or with Nagios);  if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA
# Tell Perl what we need to use
use strict;
use Getopt::Std;
#TODO - Convert to Nagios::Plugin
#TODO - Use an alarm
# Predefined exit codes for Nagios
use vars qw($opt_c $opt_f $opt_u $opt_w $opt_C $opt_v %exit_codes);
%exit_codes   = ('UNKNOWN' ,-1,
                         'OK'      , 0,
                 'WARNING' , 1,
                 'CRITICAL', 2,
                 );
# Get our variables, do our checking:
init();
# Get the numbers:
my ($free_memory_kb,$used_memory_kb,$caches_kb) = get_memory_info();
print "$free_memory_kb Free\n$used_memory_kb Used\n$caches_kb Cache\n" if ($opt_v);
if ($opt_C) { #Do we count caches as free?
    $used_memory_kb -= $caches_kb;
    $free_memory_kb += $caches_kb;
}
# Round to the nearest KB
$free_memory_kb = sprintf('%d',$free_memory_kb);
$used_memory_kb = sprintf('%d',$used_memory_kb);
$caches_kb = sprintf('%d',$caches_kb);
# Tell Nagios what we came up with
tell_nagios($used_memory_kb,$free_memory_kb,$caches_kb);
sub tell_nagios {
    my ($used,$free,$caches) = @_;
    # Calculate Total Memory
    my $total = $free + $used;
    print "$total Total\n" if ($opt_v);
    my $perfdata = "|TOTAL=${total}KB;;;; USED=${used}KB;;;; FREE=${free}KB;;;; CACHES=${caches}KB;;;;";
    if ($opt_f) {
      my $percent    = sprintf "%.1f", ($free / $total * 100);
      if ($percent <= $opt_c) {
          finish("CRITICAL - $percent% ($free kB) free!$perfdata",$exit_codes{'CRITICAL'});
      }
      elsif ($percent <= $opt_w) {
          finish("WARNING - $percent% ($free kB) free!$perfdata",$exit_codes{'WARNING'});
      }
      else {
          finish("OK - $percent% ($free kB) free.$perfdata",$exit_codes{'OK'});
      }
    }
    elsif ($opt_u) {
      my $percent    = sprintf "%.1f", ($used / $total * 100);
      if ($percent >= $opt_c) {
          finish("CRITICAL - $percent% ($used kB) used!|$perfdata",$exit_codes{'CRITICAL'});
      }
      elsif ($percent >= $opt_w) {
          finish("WARNING - $percent% ($used kB) used!|$perfdata",$exit_codes{'WARNING'});
      }
      else {
          finish("OK - $percent% ($used kB) used.|$perfdata",$exit_codes{'OK'});
      }
    }
}
# Show usage
sub usage() {
  print "\ncheck_mem.pl v1.0 - Nagios Plugin\n\n";
  print "usage:\n";
  print " check_mem.pl -<f|u> -w <warnlevel> -c <critlevel>\n\n";
  print "options:\n";
  print " -f           Check FREE memory\n";
  print " -u           Check USED memory\n";
  print " -C           Count OS caches as FREE memory\n";
  print " -w PERCENT   Percent free/used when to warn\n";
  print " -c PERCENT   Percent free/used when critical\n";
  print "\nCopyright (C) 2000 Dan Larsson <dl\@tyfon.net>\n";
  print "check_mem.pl comes with absolutely NO WARRANTY either implied or explicit\n";
  print "This program is licensed under the terms of the\n";
  print "GNU General Public License (check source code for details)\n";
  exit $exit_codes{'UNKNOWN'};
}
sub get_memory_info {
    my $used_memory_kb  = 0;
    my $free_memory_kb  = 0;
    my $total_memory_kb = 0;
    my $caches_kb       = 0;
    my $uname;
    if ( -e '/usr/bin/uname') {
        $uname = `/usr/bin/uname -a`;
    }
    elsif ( -e '/bin/uname') {
        $uname = `/bin/uname -a`;
    }
    else {
        die "Unable to find uname in /usr/bin or /bin!\n";
    }
    print "uname returns $uname" if ($opt_v);
    if ( $uname =~ /Linux/ ) {
        my @meminfo = `/bin/cat /proc/meminfo`;
        foreach (@meminfo) {
            chomp;
            if (/^Mem(Total|Free):\s+(\d+) kB/) {
                my $counter_name = $1;
                if ($counter_name eq 'Free') {
                    $free_memory_kb = $2;
                }
                elsif ($counter_name eq 'Total') {
                    $total_memory_kb = $2;
                }
            }
            elsif (/^(Buffers|Cached):\s+(\d+) kB/) {
                $caches_kb += $2;
            }
        }
        $used_memory_kb = $total_memory_kb - $free_memory_kb;
    }
    elsif ( $uname =~ /SunOS/ ) {
        eval "use Sun::Solaris::Kstat";
        if ($@) { #Kstat not available
            if ($opt_C) {
                print "You can't report on Solaris caches without Sun::Solaris::Kstat available!\n";
                exit $exit_codes{UNKNOWN};
            }
            my @vmstat = `/usr/bin/vmstat 1 2`;
            my $line;
            foreach (@vmstat) {
              chomp;
              $line = $_;
            }
            $free_memory_kb = (split(/ /,$line))[5] / 1024;
            my @prtconf = `/usr/sbin/prtconf`;
            foreach (@prtconf) {
                if (/^Memory size: (\d+) Megabytes/) {
                    $total_memory_kb = $1 * 1024;
                }
            }
            $used_memory_kb = $total_memory_kb - $free_memory_kb;
        }
        else { # We have kstat
            my $kstat = Sun::Solaris::Kstat->new();
            my $phys_pages = ${kstat}->{unix}->{0}->{system_pages}->{physmem};
            my $free_pages = ${kstat}->{unix}->{0}->{system_pages}->{freemem};
            # We probably should account for UFS caching here, but it's unclear
            # to me how to determine UFS's cache size.  There's inode_cache,
            # and maybe the physmem variable in the system_pages module??
            # In the real world, it looks to be so small as not to really matter,
            # so we don't grab it.  If someone can give me code that does this,
            # I'd be glad to put it in.
            my $arc_size = (exists ${kstat}->{zfs} && ${kstat}->{zfs}->{0}->{arcstats}->{size}) ?
                 ${kstat}->{zfs}->{0}->{arcstats}->{size} / 1024
                 : 0;
            $caches_kb += $arc_size;
            my $pagesize = `pagesize`;
            $total_memory_kb = $phys_pages * $pagesize / 1024;
            $free_memory_kb = $free_pages * $pagesize / 1024;
            $used_memory_kb = $total_memory_kb - $free_memory_kb;
        }
    }
    else {
        if ($opt_C) {
            print "You can't report on $uname caches!\n";
            exit $exit_codes{UNKNOWN};
        }
        my $command_line = `vmstat | tail -1 | awk '{print \$4,\$5}'`;
        chomp $command_line;
        my @memlist      = split(/ /, $command_line);
        # Define the calculating scalars
        $used_memory_kb  = $memlist[0]/1024;
        $free_memory_kb = $memlist[1]/1024;
        $total_memory_kb = $used_memory_kb + $free_memory_kb;
    }
    return ($free_memory_kb,$used_memory_kb,$caches_kb);
}
sub init {
    # Get the options
    if ($#ARGV le 0) {
      &usage;
    }
    else {
      getopts('c:fuCvw:');
    }
    # Shortcircuit the switches
    if (!$opt_w or $opt_w == 0 or !$opt_c or $opt_c == 0) {
      print "*** You must define WARN and CRITICAL levels!\n";
      &usage;
    }
    elsif (!$opt_f and !$opt_u) {
      print "*** You must select to monitor either USED or FREE memory!\n";
      &usage;
    }
    # Check if levels are sane
    if ($opt_w <= $opt_c and $opt_f) {
      print "*** WARN level must not be less than CRITICAL when checking FREE memory!\n";
      &usage;
    }
    elsif ($opt_w >= $opt_c and $opt_u) {
      print "*** WARN level must not be greater than CRITICAL when checking USED memory!\n";
      &usage;
    }
}
sub finish {
    my ($msg,$state) = @_;
    print "$msg\n";
    exit $state;
}
nagios/servicegroups.cfg
New file
@@ -0,0 +1,4 @@
define servicegroup{
    servicegroup_name                  jboss_instances
    alias                              JBoss Instances
}