在haproxy的global裡添加
stats socket /var/run/haproxy.sock mode 666 level user
打開haproxy的socket監控
以下為監控的腳本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<code>#!/bin/bash</code>
<code>[ $1 = </code><code>'http_server'</code> <code>] && WEBGROUP=$1,FRONTEND || WEBGROUP=$1,BACKEND</code>
<code>case</code> <code>"$2"</code> <code>in</code>
<code>"comp"</code> <code>)</code>
<code>IN=`</code><code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $52}'</code><code>`</code>
<code>OUT=`</code><code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $53}'</code><code>`</code>
<code>echo</code> <code>"scale=4;($IN-$OUT)/$IN*100"</code> <code>| </code><code>bc</code>
<code>;;</code>
<code>"qcur"</code> <code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $3}'</code>
<code>"qmax"</code> <code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $4}'</code>
<code>"scur"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $5}'</code>
<code>"smax"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $6}'</code>
<code>"slim"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $7}'</code>
<code>"stot"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $8}'</code>
<code>"bin"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $9}'</code>
<code>"bout"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $10}'</code>
<code>"dreq"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $11}'</code>
<code>"dresp"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $12}'</code>
<code>"ereq"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $13}'</code>
<code>"econ"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $14}'</code>
<code>"eresp"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $15}'</code>
<code>"eretr"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $16}'</code>
<code>"eredis"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $17}'</code>
<code>"status"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $18}'</code>
<code>"weight"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $19}'</code>
<code>"act"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $20}'</code>
<code>"bck"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $21}'</code>
<code>"chkfail"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $22}'</code>
<code>"chkdown"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $23}'</code>
<code>"lastchg"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $24}'</code>
<code>"downtime"</code><code>)</code>
<code>"qlimit"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $26}'</code>
<code>"pid"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $27}'</code>
<code>"iid"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $28}'</code>
<code>"sid"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $29}'</code>
<code>"throttle"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $30}'</code>
<code>"lbtot"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $31}'</code>
<code>"tracked"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $32}'</code>
<code>"tpye"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $33}'</code>
<code>"rate"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $34}'</code>
<code>"rate_lim"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $35}'</code>
<code>"rate_max"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $36}'</code>
<code>"check_status"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $37}'</code>
<code>"check_code"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $38}'</code>
<code>"check_duration"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $39}'</code>
<code>"hrsp_1xx"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $40}'</code>
<code>"hrsp_2xx"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $41}'</code>
<code>"hrsp_3xx"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $42}'</code>
<code>"hrsp_4xx"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $43}'</code>
<code>"hrsp_5xx"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $44}'</code>
<code>"hrsp_other"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $45}'</code>
<code>"hanafail"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $46}'</code>
<code>"req_rate"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $47}'</code>
<code>"req_rate_max"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $48}'</code>
<code>"req_tot"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $49}'</code>
<code>"cli_abrt"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $50}'</code>
<code>"srv_abrt"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $51}'</code>
<code>"comp_in"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $52}'</code>
<code>"comp_out"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $53}'</code>
<code>"comp_byp"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $54}'</code>
<code>"comp_rsp"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $55}'</code>
<code>"lastsess"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $56}'</code>
<code>"last_chk"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $57}'</code>
<code>"last_agt"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $58}'</code>
<code>"qtime"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $59}'</code>
<code>"ctime"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $60}'</code>
<code>"rtime"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $61}'</code>
<code>"ttime"</code><code>)</code>
<code>/bin/echo</code> <code>"show stat"</code><code>|</code><code>/usr/sbin/socat</code> <code>/var/run/haproxy</code><code>.sock stdio|</code><code>awk</code> <code>-</code><code>v</code> <code>n=$WEBGROUP -F, </code><code>'$0~n{print $62}'</code>
<code>*)</code>
<code>/bin/echo</code> <code>'error'</code>
<code>esac</code>
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
本文轉自 rong341233 51CTO部落格,原文連結:http://blog.51cto.com/fengwan/1713806