web-dev-qa-db-fra.com

comment afficher le statut haproxy sur la ligne de commande à l'aide d'un socket

Dans les exemples, j'ai vu sur le net

https://www.datadoghq.com/blog/how-to-collect-haproxy-metrics/#show-me-the-metrics

Vous pouvez utiliser la ligne de commande

echo "show stat" | nc -U /var/lib/haproxy/stats  

Ce qui est très moche dans la sortie. Les colonnes ne correspondent pas et il est difficile de voir ce qui se passe.

# 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,comp_in,comp_out,comp_byp,comp_rsp,lastsess,last_chk,last_agt,qtime,ctime,rtime,ttime,
someapp,FRONTEND,,,1,1,512,1,0,0,0,0,0,,,,,OPEN,,,,,,,,,1,2,0,,,,0,0,0,1,,,,,,,,,,,0,0,0,,,0,0,0,0,,,,,,,,
anotherdb,anotherdb-tp-01,0,0,1,1,,1,0,0,,0,,0,0,0,0,no check,1,1,0,,,,,,1,2,1,,1,,2,0,,1,,,,,,,,,,0,,,,0,0,,,,,3006,,,0,0,0,0,
someotherappdb,BACKEND,0,0,1,1,52,1,0,0,0,0,,0,0,0,0,UP,1,1,0,,0,3008,0,,1,2,0,,1,,1,0,,1,,,,,,,,,,,,,,0,0,0,0,0,0,3006,,,0,0,0,0,

Y at-il un bon moyen de nettoyer cela et de le rendre plus lisible.

6
nelaaro

J'ai trouvé ce qui suit utile

watch 'echo "show stat" | nc -U /var/lib/haproxy/stats | cut -d "," -f 1,2,5-11,18,24,27,30,36,50,37,56,57,62 | column -s, -t'

Il produira une sortie comme suit

Every 2.0s: echo "show stat" | nc -U /var/lib/haproxy/stats | cut -d "," -f 1,2,5-11,18,24,27,30,36,50,37,56,57,62 | column -s, -t                                                        Thu Mar 30 15:01:19 2017

# pxname          svname              scur  smax  slim  stot   bin        bout     dreq  status    lastchg  pid  throttle  rate_max  check_status  cli_abrt  lastsess  last_chk               ttime
somedb            FRONTEND            1     1     512   1      0          0        0     OPEN               1              1
appp01            coolappss-01        1     1           1      0          0              no check           1              1                       0         2973                             0
coredb            BACKEND             1     1     52    1      0          0        0     UP        2975     1              1                       0         2973                             0

Maintenant les colonnes sont alignées et seules les colonnes qui m'intéressent sont affichées.

Si vous voulez savoir quels sont les numéros de colonne pour cette commande, cela vous aidera.

echo "show stat" | nc -U /var/lib/haproxy/stats | grep "#" | tr ',' '\n' | nl
12
nelaaro