在haproxy的global里添加

stats socket /var/run/haproxy.sock  mode 666 level user

打开haproxy的socket监控


以下为监控的脚本

#!/bin/bash
[ $1 = 'http_server' ] && WEBGROUP=$1,FRONTEND || WEBGROUP=$1,BACKEND

case "$2" in

"comp" )
IN=`/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $52}'`
OUT=`/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $53}'`
echo "scale=4;($IN-$OUT)/$IN*100" | bc
;;

"qcur" )
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $3}'
;;

"qmax" )
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $4}'
;;

"scur")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $5}'
;;

"smax")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $6}'
;;

"slim")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $7}'
;;

"stot")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $8}'
;;
"bin")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $9}'
;;
"bout")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $10}'
;;
"dreq")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $11}'
;;
"dresp")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $12}'
;;
"ereq")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $13}'
;;
"econ")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $14}'
;;
"eresp")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $15}'
;;
"eretr")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $16}'
;;
"eredis")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $17}'
;;
"status")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $18}'
;;
"weight")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $19}'
;;
"act")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $20}'
;;
"bck")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $21}'
;;
"chkfail")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $22}'
;;
"chkdown")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $23}'
;;
"lastchg")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $24}'
;;
"downtime")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $24}'
;;
"qlimit")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $26}'
;;
"pid")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $27}'
;;
"iid")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $28}'
;;
"sid")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $29}'
;;
"throttle")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $30}'
;;
"lbtot")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $31}'
;;
"tracked")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $32}'
;;
"tpye")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $33}'
;;
"rate")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $34}'
;;
"rate_lim")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $35}'
;;
"rate_max")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $36}'
;;
"check_status")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $37}'
;;
"check_code")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $38}'
;;
"check_duration")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $39}'
;;
"hrsp_1xx")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $40}'
;;

"hrsp_2xx")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $41}'
;;
"hrsp_3xx")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $42}'
;;
"hrsp_4xx")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $43}'
;;
"hrsp_5xx")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $44}'
;;
"hrsp_other")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $45}'
;;
"hanafail")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $46}'
;;
"req_rate")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $47}'
;;
"req_rate_max")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $48}'
;;
"req_tot")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $49}'
;;
"cli_abrt")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $50}'
;;
"srv_abrt")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $51}'
;;
"comp_in")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $52}'
;;
"comp_out")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $53}'
;;
"comp_byp")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $54}'
;;
"comp_rsp")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $55}'
;;
"lastsess")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $56}'
;;
"last_chk")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $57}'
;;
"last_agt")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $58}'
;;
"qtime")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $59}'
;;
"ctime")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $60}'
;;
"rtime")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $61}'
;;
"ttime")
/bin/echo "show stat"|/usr/sbin/socat /var/run/haproxy.sock stdio|awk -v n=$WEBGROUP -F, '$0~n{print $62}'
;;
*)
/bin/echo 'error'
;;

esac



haproxy的一些指标

pxname  组名

svname  服务器名

qcur    当前队列

qmax    最大队列

scur当前会话用户

smax最大会话用户

slim会话限制

stot会话总量

bin入口流量

bout出口流量

dreq拒绝的请求

dresp拒绝的响应

ereq错误请求

econ错误链接

eresp错误响应

wretr警告重试次数

wredis

status服务器状态

weight权重

act是否活动Y/N

bck备用

chkfail检查宕机0

chkdown检查宕机0

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

comp_in压缩入口前大小

comp_out压缩输出大小

comp_bypbypass大小

comp_rsp

lastsess

last_chk

last_agt

qtime

ctime

rtime

ttime