Estado de HAProxy desde socket
HAProxy se trata de un balanceador de carga que puede actuar tanto en modo TCP (únicamente conexiones) o bien en la capa de aplicación. Vamos a ver como obtener algunas estadísticas para ver su estado.
Mediante la opción stats podemos indicar donde queramos dejar el socket que luego usaremos para obtener datos del estado de los balanceos y los backends:
stats socket /usr/local/chroot/haproxy/haproxy.sock level operator
Mediante level, para la versión 1.4, podemos indicar que nivel de permisos queremos dar al socket para modificar el comportamiento del HAProxy:
- operator: Por defecto, permite leer todos los datos pero no modificar datos sensibles. Por lo tanto como mucho se pueden resetear contadores.
- user: Únicamente datos muy básicos pueden ser leidos
- admin: Se permite todo
Para obtener el estado del HAProxy podemos enviar el comando “show stat” al socket mediante socat:
$ echo "show stat" | socat stdio unix-connect:/usr/local/chroot/haproxy/haproxy.sock # pxname,svname,qcur,qmax,scur,smax,slim,stot,bin,bout,dreq,dresp,ereq,econ,eresp,wretr,wredis,status,weight,act,bck,chkfail,chkdown,lastchg,downtime,qlimit,pid,iid,sid,throttle,lbtot,tracked,type,rate,rate_lim,rate_max,check_status,check_code,check_duration,hrsp_1xx,hrsp_2xx,hrsp_3xx,hrsp_4xx,hrsp_5xx,hrsp_other,hanafail,req_rate,req_rate_max,req_tot,cli_abrt,srv_abrt, mycluster,FRONTEND,,,0,0,2000,0,0,0,0,0,0,,,,,OPEN,,,,,,,,,1,1,0,,,,0,0,0,0,,,,,,,,,,,0,0,0,,, mycluster,mysqld1,0,0,0,0,,0,0,0,,0,,0,0,0,0,UP,50,1,0,0,0,3018,0,,1,1,1,,0,,2,0,,0,L7OK,0,1,,,,,,,0,,,,0,0, mycluster,mysqld2,0,0,0,0,,0,0,0,,0,,0,0,0,0,UP,50,1,0,0,0,3018,0,,1,1,2,,0,,2,0,,0,L7OK,0,0,,,,,,,0,,,,0,0, mycluster,BACKEND,0,0,0,0,2000,0,0,0,0,0,,0,0,0,0,UP,100,2,0,,0,3018,0,,1,1,0,,0,,1,0,,0,,,,,,,,,,,,,,0,0,
Obtenemos un conjunto de valores separados por comas (CSV) que nos pueden ser útiles tanto para leerlos directamente como para usarlos en algún script o check para Nagios.
Relacionados
Imprimir
30. November 2011 at 12:16 am :
Yo alguna vez he usado PEN, también es un balanceador sencillo y que funciona bastante bien