Added the documentation for Aurora monitor. The documentation describes the monitoring process and how to configure the monitor.
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Aurora Monitor
 | 
						|
 | 
						|
This module monitors the status of Aurora cluster replicas. These replicas do
 | 
						|
not use the standard MySQL protocol replication but rely on a mechanism provided
 | 
						|
by AWS to replicate changes.
 | 
						|
 | 
						|
# How Aurora Is Monitored
 | 
						|
 | 
						|
Each node in an Aurora cluster has the variable `@@aurora_server_id` which is
 | 
						|
the unique identifier for that node. An Aurora replica stores information
 | 
						|
relevant to replication in the `information_schema.replica_host_status`
 | 
						|
table. The table contains information about the status of all replicas in the
 | 
						|
cluster. The `server_id` column in this table holds the values of
 | 
						|
`@@aurora_server_id` variables from all nodes. The `session_id` column contains
 | 
						|
an unique string for all read-only replicas. For the master node, this value
 | 
						|
will be `MASTER_SESSION_ID`. By executing the following query, we are able to
 | 
						|
retrieve the `@@aurora_server_id` of the master node along with the
 | 
						|
`@@aurora_server_id` of the current node.
 | 
						|
 | 
						|
```
 | 
						|
SELECT @@aurora_server_id, server_id FROM information_schema.replica_host_status WHERE session_id = 'MASTER_SESSION_ID';
 | 
						|
```
 | 
						|
 | 
						|
The node which returns a row with two identical fields is the master. All other
 | 
						|
nodes are read-only replicas and will be labeled as slave servers.
 | 
						|
 | 
						|
In addition to replica status information, the
 | 
						|
`information_schema.replica_host_status` table contains information about
 | 
						|
replication lag between the master and the read-only nodes. This value is stored
 | 
						|
in the `replica_lag_in_milliseconds` column. This can be used to detect read
 | 
						|
replicas that are lagging behind the master node. This information can then be
 | 
						|
used by the routing modules to route reads to up-to-date nodes.
 | 
						|
 | 
						|
# Configuring the Aurora Monitor
 | 
						|
 | 
						|
The Aurora monitor should connect directly to the unique endpoints of the Aurora
 | 
						|
replicas. The cluster end point should not be included in the set of monitored
 | 
						|
servers. Read the [Amazon RDS User Guide](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html#Aurora.Overview.Endpoints)
 | 
						|
for more information about how to retrieve the unique endpoints of your cluster.
 | 
						|
 | 
						|
The Aurora monitor requires no parameters apart from the standard monitor
 | 
						|
parameters. It supports the monitor script functionality described in
 | 
						|
[Monitor Common](Monitor-Common.md) documentation.
 | 
						|
 | 
						|
Here is an example Aurora monitor configuration.
 | 
						|
 | 
						|
```
 | 
						|
[Aurora-Monitor]
 | 
						|
type=monitor
 | 
						|
module=auroramon
 | 
						|
servers=cluster-1,cluster-2,cluster-3
 | 
						|
user=aurora
 | 
						|
passwd=borealis
 | 
						|
monitor_interval=2500
 | 
						|
```
 | 
						|
 | 
						|
The servers _cluster-1_, _cluster-2_ and _cluster-3_ are the unique Aurora
 | 
						|
endpoints configured as MaxScale servers. The monitor will use the
 | 
						|
_aurora_:_borealis_ credentials to connect to each of the endpoint. The status
 | 
						|
of the nodes is inspected every 2500 milliseconds.
 |