mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-24 12:06:57 +00:00
[DOC] documented the 'stats' parameter.
This commit is contained in:
parent
606788e4d5
commit
481132e07c
2
ROADMAP
2
ROADMAP
@ -8,7 +8,7 @@
|
|||||||
+ queueing
|
+ queueing
|
||||||
|
|
||||||
1.2.14 :
|
1.2.14 :
|
||||||
* HTML status page
|
+ HTML status page
|
||||||
|
|
||||||
stats enable
|
stats enable
|
||||||
stats uri /?stats
|
stats uri /?stats
|
||||||
|
@ -22,6 +22,8 @@ availability environments. Indeed, it can :
|
|||||||
- block requests matching a particular pattern ;
|
- block requests matching a particular pattern ;
|
||||||
- hold clients to the right application server depending on application
|
- hold clients to the right application server depending on application
|
||||||
cookies
|
cookies
|
||||||
|
- report detailed status as HTML pages to authenticated users from an URI
|
||||||
|
intercepted from the application.
|
||||||
|
|
||||||
It needs very little resource. Its event-driven architecture allows it to easily
|
It needs very little resource. Its event-driven architecture allows it to easily
|
||||||
handle thousands of simultaneous connections on hundreds of instances without
|
handle thousands of simultaneous connections on hundreds of instances without
|
||||||
@ -72,7 +74,7 @@ daemon mode and multi-process mode. The service can then be stopped by simply
|
|||||||
pressing Ctrl-C, without having to edit the config nor run full debug.
|
pressing Ctrl-C, without having to edit the config nor run full debug.
|
||||||
|
|
||||||
Statistics are only available if compiled in with the 'STATTIME' option. It's
|
Statistics are only available if compiled in with the 'STATTIME' option. It's
|
||||||
only used during code optimization phases.
|
only used during code optimization phases, and will soon disappear.
|
||||||
|
|
||||||
The '-st' and '-sf' options are used for hot reconfiguration (see below).
|
The '-st' and '-sf' options are used for hot reconfiguration (see below).
|
||||||
|
|
||||||
@ -1230,8 +1232,8 @@ Notes :
|
|||||||
4) Additionnal features
|
4) Additionnal features
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
Other features are available. They are transparent mode, event logging and
|
Other features are available. They are transparent mode, event logging, header
|
||||||
header rewriting/filtering.
|
rewriting/filtering, and the status as an HTML page.
|
||||||
|
|
||||||
|
|
||||||
4.1) Network features
|
4.1) Network features
|
||||||
@ -2205,6 +2207,109 @@ Examples :
|
|||||||
defaults
|
defaults
|
||||||
# this empty section voids all default parameters
|
# this empty section voids all default parameters
|
||||||
|
|
||||||
|
|
||||||
|
4.8) Status report in HTML page
|
||||||
|
-------------------------------
|
||||||
|
Starting with 1.2.14, it is possible for HAProxy to intercept requests for a
|
||||||
|
particular URI and return a full report of the proxy's activity and servers
|
||||||
|
statistics. This is available through the 'stats' keyword, associated to any
|
||||||
|
such options :
|
||||||
|
|
||||||
|
- stats enable
|
||||||
|
- stats uri <uri prefix>
|
||||||
|
- stats realm <authentication realm>
|
||||||
|
- stats auth <user:password>
|
||||||
|
- stats scope <proxy_id> | '.'
|
||||||
|
|
||||||
|
By default, the status report is disabled. Specifying any combination above
|
||||||
|
enables it for the proxy instance referencing it. The easiest solution is to
|
||||||
|
use "stats enable" which will enable the report with default parameters :
|
||||||
|
|
||||||
|
- default URI : "/haproxy?stats" (CONFIG_STATS_DEFAULT_URI)
|
||||||
|
- default auth : unspecified (no authentication)
|
||||||
|
- default realm : "HAProxy Statistics" (CONFIG_STATS_DEFAULT_REALM)
|
||||||
|
- default scope : unspecified (access to all instances)
|
||||||
|
|
||||||
|
The "stats uri <uri_prefix>" option allows one to intercept another URI prefix.
|
||||||
|
Note that any URI that BEGINS with this string will match. For instance, one
|
||||||
|
proxy instance might be dedicated to status page only and would reply to any
|
||||||
|
URI.
|
||||||
|
|
||||||
|
Example :
|
||||||
|
---------
|
||||||
|
# catches any URI and returns the status page.
|
||||||
|
listen stats :8080
|
||||||
|
mode http
|
||||||
|
stats uri /
|
||||||
|
|
||||||
|
The "stats auth <user:password>" option enables Basic authentication and adds a
|
||||||
|
valid user:password combination to the list of authorized accounts. The user
|
||||||
|
and password are passed in the configuration file as clear text, and since this
|
||||||
|
is HTTP Basic authentication, you should be aware that it transits as clear
|
||||||
|
text on the network, so you must not use any sensible account. The list is
|
||||||
|
unlimited in order to provide easy accesses to developpers or customers.
|
||||||
|
|
||||||
|
The "stats realm <realm>" option defines the "realm" name which is displayed
|
||||||
|
in the popup box when the browser asks for a password. It's important to ensure
|
||||||
|
that this one is not used by the application, otherwise the browser will try to
|
||||||
|
use a cached one from the application. Note that any space in the realm name
|
||||||
|
should be escaped with a backslash ('\').
|
||||||
|
|
||||||
|
The "stats scope <proxy_id>" option limits the scope of the status report. By
|
||||||
|
default, all proxy instances are listed. But under some circumstances, it would
|
||||||
|
be better to limit the listing to some proxies or only to the current one. This
|
||||||
|
is what this option does. The special proxy name "." (a single dot) references
|
||||||
|
the current proxy. The proxy name can be repeated multiple times, even for
|
||||||
|
proxies defined later in the configuration or some which do not exist. The name
|
||||||
|
is the one which appears after the 'listen' keyword.
|
||||||
|
|
||||||
|
Example :
|
||||||
|
---------
|
||||||
|
# simple application with authenticated embedded status report
|
||||||
|
listen app1 192.168.1.100:80
|
||||||
|
mode http
|
||||||
|
balance roundrobin
|
||||||
|
cookie SERVERID postonly insert indirect
|
||||||
|
server srv1 192.168.1.1:8080 cookie srv1 check inter 1000
|
||||||
|
server srv1 192.168.1.2:8080 cookie srv2 check inter 1000
|
||||||
|
stats uri /my_stats
|
||||||
|
stats realm Statistics\ for\ MyApp1-2
|
||||||
|
stats auth guest:guest
|
||||||
|
stats auth admin:AdMiN123
|
||||||
|
stats scope .
|
||||||
|
stats scope app2
|
||||||
|
|
||||||
|
# simple application with anonymous embedded status report
|
||||||
|
listen app2 192.168.2.100:80
|
||||||
|
mode http
|
||||||
|
balance roundrobin
|
||||||
|
cookie SERVERID postonly insert indirect
|
||||||
|
server srv1 192.168.2.1:8080 cookie srv1 check inter 1000
|
||||||
|
server srv1 192.168.2.2:8080 cookie srv2 check inter 1000
|
||||||
|
stats uri /my_stats
|
||||||
|
stats realm Statistics\ for\ MyApp2
|
||||||
|
stats scope .
|
||||||
|
|
||||||
|
listen admin_page :8080
|
||||||
|
mode http
|
||||||
|
stats uri /my_stats
|
||||||
|
stats realm Global\ statistics
|
||||||
|
stats auth admin:AdMiN123
|
||||||
|
|
||||||
|
Notes :
|
||||||
|
-------
|
||||||
|
- The 'stats' options can also be specified in the 'defaults' section, in
|
||||||
|
which case it will provide the exact same configuration to all further
|
||||||
|
instances (hence the usefulness of the scope "."). However, if an instance
|
||||||
|
redefines any 'stats' parameter, defaults will not be used for this
|
||||||
|
instance.
|
||||||
|
|
||||||
|
- HTTP Basic authentication is very basic and unsecure from snooping. No
|
||||||
|
sensible password should be used, and be aware that there is no way to
|
||||||
|
remove it from the browser so it will be sent to the whole application
|
||||||
|
upon further accesses.
|
||||||
|
|
||||||
|
|
||||||
=========================
|
=========================
|
||||||
| System-specific setup |
|
| System-specific setup |
|
||||||
=========================
|
=========================
|
||||||
|
Loading…
Reference in New Issue
Block a user