DOC: management: rework the Master CLI section

Rework the master CLI section the same way the "Unix Socket commands"
section is made, ordering the available keywords in the section.
This commit is contained in:
William Lallemand 2022-02-02 14:44:19 +01:00
parent 2454d6ef5b
commit af140ab2f5

View File

@ -31,6 +31,7 @@ Summary
9.2. Typed output format
9.3. Unix Socket commands
9.4. Master CLI
9.4.1. Master CLI commands
10. Tricks for easier configuration management
11. Well-known traps to avoid
12. Debugging and performance issues
@ -3623,43 +3624,20 @@ Example:
# haproxy -Ws -S /tmp/master-socket,uid,1000,gid,1000,mode,600 -f test1.cfg
# haproxy -W -S /tmp/master-socket,level,user -f test1.cfg
The master CLI introduces a 'show proc' command to surpervise the
processes:
Example:
9.4.1 Master CLI commands
--------------------------
$ echo 'show proc' | socat /var/run/haproxy-master.sock -
#<PID> <type> <reloads> <uptime> <version>
1162 master 5 [failed: 0] 0d00h02m07s 2.5-dev13
# workers
1271 worker 1 0d00h00m00s 2.5-dev13
# old workers
1233 worker 3 0d00h00m43s 2.0-dev3-6019f6-289
# programs
1244 foo 0 0d00h00m00s -
1255 bar 0 0d00h00m00s -
@<[!]pid>
The master CLI uses a special prefix notation to access the multiple
processes. This notation is easily identifiable as it begins by a @.
A @ prefix can be followed by a relative process number or by an exclamation
point and a PID. (e.g. @1 or @!1271). A @ alone could be use to specify the
master. Leaving processes are only accessible with the PID as relative process
number are only usable with the current processes.
In this example, the master has been reloaded 5 times but one of the old
worker is still running and survived 3 reloads. You could access the CLI of
this worker to understand what's going on.
When the prompt is enabled (via the "prompt" command), the context the CLI is
working on is displayed in the prompt. The master is identified by the "master"
string, and other processes are identified with their PID. In case the last
reload failed, the master prompt will be changed to "master[ReloadFailed]>" so
that it becomes visible that the process is still running on the previous
configuration and that the new configuration is not operational.
The master CLI uses a special prefix notation to access the multiple
processes. This notation is easily identifiable as it begins by a @.
A @ prefix can be followed by a relative process number or by an exclamation
point and a PID. (e.g. @1 or @!1271). A @ alone could be use to specify the
master. Leaving processes are only accessible with the PID as relative process
number are only usable with the current processes.
Examples:
Examples:
$ socat /var/run/haproxy-master.sock readline
prompt
@ -3676,10 +3654,10 @@ Examples:
$ echo '@!1271 show info; @!1272 show info' | socat /var/run/haproxy-master.sock -
[...]
A prefix could be use as a command, which will send every next commands to
the specified process.
A prefix could be use as a command, which will send every next commands to
the specified process.
Examples:
Examples:
$ socat /var/run/haproxy-master.sock readline
prompt
@ -3694,16 +3672,45 @@ Examples:
$ echo '@1; show info; show stat; @2; show info; show stat' | socat /var/run/haproxy-master.sock -
[...]
You can also reload the HAProxy master process with the "reload" command which
does the same as a `kill -USR2` on the master process, provided that the user
has at least "operator" or "admin" privileges.
prompt
When the prompt is enabled (via the "prompt" command), the context the CLI is
working on is displayed in the prompt. The master is identified by the "master"
string, and other processes are identified with their PID. In case the last
reload failed, the master prompt will be changed to "master[ReloadFailed]>" so
that it becomes visible that the process is still running on the previous
configuration and that the new configuration is not operational.
Example:
reload
You can also reload the HAProxy master process with the "reload" command which
does the same as a `kill -USR2` on the master process, provided that the user
has at least "operator" or "admin" privileges.
Example:
$ echo "reload" | socat /var/run/haproxy-master.sock stdin
Note that a reload will close the connection to the master CLI.
Note that a reload will close the connection to the master CLI.
show proc
The master CLI introduces a 'show proc' command to surpervise the
processe.
Example:
$ echo 'show proc' | socat /var/run/haproxy-master.sock -
#<PID> <type> <reloads> <uptime> <version>
1162 master 5 [failed: 0] 0d00h02m07s 2.5-dev13
# workers
1271 worker 1 0d00h00m00s 2.5-dev13
# old workers
1233 worker 3 0d00h00m43s 2.0-dev3-6019f6-289
# programs
1244 foo 0 0d00h00m00s -
1255 bar 0 0d00h00m00s -
In this example, the master has been reloaded 5 times but one of the old
worker is still running and survived 3 reloads. You could access the CLI of
this worker to understand what's going on.
10. Tricks for easier configuration management
----------------------------------------------