+
+apache_keys_detected=0
+apache_key_accesses=
+apache_key_kbytes=
+apache_key_reqpersec=
+apache_key_bytespersec=
+apache_key_bytesperreq=
+apache_key_busyworkers=
+apache_key_idleworkers=
+apache_key_connstotal=
+apache_key_connsasyncwriting=
+apache_key_connsasynckeepalive=
+apache_key_connsasyncclosing=
+apache_detect() {
+ local i=0
+ for x in "${@}"
+ do
+ case "${x}" in
+ 'Accesses:') apache_key_accesses=$[i + 1] ;;
+ 'kBytes:') apache_key_kbytes=$[i + 1] ;;
+ 'ReqPerSec:') apache_key_reqpersec=$[i + 1] ;;
+ 'BytesPerSec:') apache_key_bytespersec=$[i + 1] ;;
+ 'BytesPerReq:') apache_key_bytesperreq=$[i + 1] ;;
+ 'BusyWorkers:') apache_key_busyworkers=$[i + 1] ;;
+ 'IdleWorkers:') apache_key_idleworkers=$[i + 1] ;;
+ 'ConnsTotal:') apache_key_connstotal=$[i + 1] ;;
+ 'ConnsAsyncWriting:') apache_key_connsasyncwriting=$[i + 1] ;;
+ 'ConnsAsyncKeepAlive:') apache_key_connsasynckeepalive=$[i + 1] ;;
+ 'ConnsAsyncClosing:') apache_key_connsasyncclosing=$[i + 1] ;;
+ esac
+
+ i=$[i + 1]
+ done
+
+ # we will not check of the Conns*
+ # keys, since these are apache 2.4 specific
+ if [ -z "${apache_key_accesses}" \
+ -o -z "${apache_key_kbytes}" \
+ -o -z "${apache_key_reqpersec}" \
+ -o -z "${apache_key_bytespersec}" \
+ -o -z "${apache_key_bytesperreq}" \
+ -o -z "${apache_key_busyworkers}" \
+ -o -z "${apache_key_idleworkers}" \
+ ]
+ then
+ echo >&2 "apache: Invalid response or missing keys from apache server: ${*}"
+ return 1
+ fi
+
+ return 0
+}