I achieved this via service dependency where all nrpe checks depend on nrpe service availability check.
define servicedependency{
hostgroup linux-servers
# host_name xyz.example.com
service_description check_nrpe_alive
dependent_service_description check_disk,check_mem,chech_load,check_time,check_disk
execution_failure_criteria w,c,u
notification_failure_criteria u,w,c,o
}
Below is check_nrpe_alive check command definition.
define command{
command_name check_nrpe_alive
command_line $USER1$/check_nrpe -H $HOSTADDRESS$
}
Also needed to set soft_service_dependencies=1 in nagios.cfg
# SOFT STATE DEPENDENCIES
# This option determines whether or not Nagios will use soft state
# information when checking host and service dependencies. Normally
# Nagios will only use the latest hard host or service state when
# checking dependencies. If you want it to use the latest state (regardless
# of whether its a soft or hard state type), enable this option.
# Values:
# 0 = Don't use soft state dependencies (default)
# 1 = Use soft state dependencies
# Changing fpr service dependency
#soft_state_dependencies=0
soft_state_dependencies=1
When nrpe service on client is in CRITCAL state Nagios will only send out notification for check_nrpe_alive but not any dependent service checks. This is tested on Nagios core 4.4.6