Check_MK monitoren der haproxy Backends
Kleines lokales Plugin für check_mk um die HAProxy Backends zu monitoren.
das Skript muss unter /usr/lib/check_mk_agent/local angelegt werden.
Ergebnis sieht dann so aus
Natürlich muss auch der haproxy so konfiguriert sein das er die Statusseite ausliefert. Hier Auszug aus der haproxy.cfg
das Skript muss unter /usr/lib/check_mk_agent/local angelegt werden.
touch /usr/lib/check_mk_agent/local/haproxy-local.shDort dann den nachfolgenden Code reinkopieren und Konfiguration anpassen.
#!/bin/bash # # checks haproxy # _awk_bin=$(which awk) _status_url="http://localhost:9090/haproxy/" _server_name="ha-cap-" a=0 # $(curl -s ${_status_url}\;csv | grep "^${_server_name}" | grep -vE "(FRONTEND|BACKEND)") for line in $(curl -s ${_status_url}\;csv | grep "^${_server_name}" | grep -vE "(FRONTEND|BACKEND)"); do _name=$(echo $line | ${_awk_bin} -F',' '{ print $1; }' ) _host=$(echo $line | ${_awk_bin} -F',' '{ print $2; }' ) _stat=$(echo $line | ${_awk_bin} -F',' '{ print $18; }') STATUSTXT="${_name} ${_host} ${_stat}" if [ ${_stat} == "UP" ]; then _check_response="0" else _check_response="2" fi if [ ${a} -lt 10 ]; then echo "${_check_response} BEHIND-HAPROXY-0${a} - ${STATUSTXT}" else echo "${_check_response} BEHIND-HAPROXY-${a} - ${STATUSTXT}" fi a=$((a+1)) done
Ergebnis sieht dann so aus
check_mk + haproxy
Natürlich muss auch der haproxy so konfiguriert sein das er die Statusseite ausliefert. Hier Auszug aus der haproxy.cfg
listen status bind *:9090 mode http stats enable stats uri /haproxy acl localhost src 127.0.0.1 acl stats path_beg /haproxy http-request allow if stats localhost http-request deny if stats !localhost