MXS-2333 Add Clustrix monitor tutorial
This commit is contained in:
parent
21d9ec34cf
commit
1fd4ad64f6
88
Documentation/Tutorials/Configuring-Clustrix-Monitor.md
Normal file
88
Documentation/Tutorials/Configuring-Clustrix-Monitor.md
Normal file
@ -0,0 +1,88 @@
|
||||
# Configuring the Clustrix Monitor
|
||||
|
||||
This document describes how to configure the Clustrix monitor for use
|
||||
with a Clustrix cluster.
|
||||
|
||||
## Configuring the Monitor
|
||||
|
||||
Contrary to the other monitors of MaxScale, the Clustrix monitor will
|
||||
autonomously figure out the cluster configuration and for each Clustrix
|
||||
node create the corresponding MaxScale server object.
|
||||
|
||||
In order to do that, a _sufficient_ number of "bootstrap" server instances
|
||||
must be specified in the MaxScale configuration file for the Clustrix
|
||||
monitor to start with. One server instance is in principle sufficient, but
|
||||
if the corresponding node happens to be down when MaxScale starts, the
|
||||
monitor will not be able to function.
|
||||
|
||||
```
|
||||
[Bootstrap1]
|
||||
type=server
|
||||
address=10.2.224.101
|
||||
port=3306
|
||||
protocol=mariadbbackend
|
||||
|
||||
[Bootstrap2]
|
||||
type=server
|
||||
address=10.2.224.102
|
||||
port=3306
|
||||
protocol=mariadbbackend
|
||||
```
|
||||
|
||||
The server configuration is identical with that of any other server, but since
|
||||
these servers are _only_ used for bootrstrapping the Clustrix monitor it is
|
||||
adviceable to use names that clearly will identify them as such.
|
||||
|
||||
The actual Clustrix monitor configuration looks as follows:
|
||||
```
|
||||
[Clustrix]
|
||||
type=monitor
|
||||
module=clustrixmon
|
||||
servers=Bootstrap1, Bootstrap2
|
||||
user=monitor_user
|
||||
password=monitor_password
|
||||
monitor_interval=2000
|
||||
cluster_monitor_interval=60000
|
||||
```
|
||||
|
||||
The mandatory parameters are the object type, the monitor module to use, the
|
||||
list of servers to use for bootstrapping and the username and password to use
|
||||
when connecting to the servers.
|
||||
|
||||
The `monitor_interval` parameter specifies how frequently the monitor should
|
||||
ping the health check port of each server and the `cluster_monitor_interval`
|
||||
specifies how frequently the monitor should do a complete cluster check, that
|
||||
is, access the `system` tables of the Cluster for checking the Cluster
|
||||
configuration. The default values are `2000` and `60000`, that is, 2 seconds
|
||||
and 1 minute, respectively.
|
||||
|
||||
For each detected Clustrix node a corresponding MaxScale server object will be
|
||||
created, whose name is `@@<Monitor-Name>:node-<id>, where _Monitor-Name_
|
||||
is the name of the monitor, in this example `Clustrix` and _id_ is the node id
|
||||
of the Clustrix node. So, with a cluster of three nodes, the created servers
|
||||
might be named like.
|
||||
|
||||
```
|
||||
@@Clustrix:node-2`
|
||||
@@Clustrix:node-3`
|
||||
@@Clustrix:node-7`
|
||||
```
|
||||
Note that as these are created at runtime and may disappear at any moment,
|
||||
depending on changes happening in and made to the Clustrix cluster, they
|
||||
should never be referred to directly from service configurations. Instead,
|
||||
services should refer to the monitor, as shown in the following:
|
||||
```
|
||||
[MyService]
|
||||
type=service
|
||||
router=readconnroute
|
||||
user=service_user
|
||||
password=service_password
|
||||
cluster=Clustrix
|
||||
```
|
||||
Instead of listing the servers of the service explicitly using the `servers`
|
||||
parameter as usually is the case, the service refers to the Clustrix monitor
|
||||
using the `cluster` parameter. This will cause the service to use the Clustrix
|
||||
nodes that the Clustrix monitor discovers at runtime.
|
||||
|
||||
For additional details, please consult the monitor
|
||||
[documentation](../Monitors/Clustrix-Monitor.md).
|
Loading…
x
Reference in New Issue
Block a user