| nagios/NMS_Hosts.cfg | ●●●●● patch | view | raw | blame | history | |
| nagios/NMS_Services.cfg | ●●●●● patch | view | raw | blame | history | |
| nagios/NMS_Templates.cfg | ●●●●● patch | view | raw | blame | history | |
| nagios/hostgroups.cfg | ●●●●● patch | view | raw | blame | history | |
| nagios/nagios.cfg | ●●●●● patch | view | raw | blame | history | |
| nagios/objects/commands.cfg | ●●●●● patch | view | raw | blame | history | |
| nagios/objects/commands.cfg.orig | ●●●●● patch | view | raw | blame | history | |
| nagios/scripts/check_facts_ldr_procs | ●●●●● patch | view | raw | blame | history | |
| nagios/scripts/check_mem.pl | ●●●●● patch | view | raw | blame | history | |
| nagios/servicegroups.cfg | ●●●●● 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,10 +1,11 @@ ############################################################################### # 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. # # # 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. @@ -12,56 +13,27 @@ ############################################################################### ################################################################################ # # 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 # 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$ " 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 # 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 { # 'check-host-alive' command definition define command{ command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 5000.0,80% -c 10000.0,90% -p 5 } command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -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 } @@ -89,59 +68,53 @@ # 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 # 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$ # 'check_local_disk' command definition 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$ # 'check_local_load' command definition 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$ # 'check_local_procs' command definition 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$ # 'check_users' command definition define command{ command_name check_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$ # 'check_local_swap' command definition 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$ # '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. ################################################################################ define command { command_name check_ftp command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$ # 'check_ftp' command definition 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$ # '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$ } define command { # 'check_http' command definition define command{ command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ } command_name check_snmp command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$ # 'check_ssh' command definition define command{ command_name check_ssh 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$ } define command { command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ # 'check_ping' command definition define command{ command_name check_ping command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 } define command { command_name check_ssh command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$ # 'check_pop' command definition define command{ command_name check_pop command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$ } define command { command_name check_dhcp command_line $USER1$/check_dhcp $ARG1$ # 'check_imap' command definition define command{ command_name check_imap command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$ } define command { command_name check_ping command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 # 'check_smtp' command definition define command{ command_name check_smtp command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$ } define command { command_name check_pop command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$ # 'check_tcp' command definition define command{ command_name check_tcp command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ } define command { command_name check_imap command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$ # 'check_tcp_mms' command definition define command{ command_name check_tcp_mms command_line $USER1$/check_tcp_mms -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ } define command { command_name check_smtp command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$ # 'check_udp' command definition define command{ command_name check_udp command_line $USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$ } define command { command_name check_tcp command_line $USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$ # 'check_nt' command definition define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -v $ARG1$ $ARG2$ } define command { command_name check_udp command_line $USER1$/check_udp -H $HOSTADDRESS$ -p $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_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ 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 } ################################################################################ # @@ -259,21 +347,225 @@ # # 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 # 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 # '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" >> /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" } 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$ } 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 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 }