642 lines
28 KiB
Markdown
642 lines
28 KiB
Markdown
# MaxInfo Plugin
|
|
The maxinfo plugin is a special router plugin similar to the one used for
|
|
implementing the server side component of the MaxAdmin interface. The plugin
|
|
is designed to return data regarding the internals of MariaDB MaxScale, it
|
|
provides an information schema approach to monitoring the internals of
|
|
MariaDB MaxScale itself.
|
|
|
|
The plugin is capable of returning data in one of two ways, either as MySQL
|
|
result sets or as JSON encoded data. The choice of which mechanism used to
|
|
return the data is determined by the type of the request the router
|
|
receives. If a MySQL command is received then the router will return the
|
|
results as a MySQL result set, if an HTTP request is received then the data
|
|
will be returned as a JSON document.
|
|
|
|
# Configuration
|
|
|
|
The plugin is configured in the `maxscale.cnf` configuration file in much
|
|
the same way as any other router service is configured; there must be a
|
|
service section in the configuration file and also listeners defined for
|
|
that service. The service does not however require any backend servers to be
|
|
associated with it, or any monitors.
|
|
|
|
The service entry should define the service name, the type as service and
|
|
the router module to load. The specified user, with the password (plain or
|
|
encrypted via maxpassword utility) is allowed to connect via MySQL
|
|
protocol. Currently the user can connect to maxinfo from any remote IP and
|
|
to localhost as well.
|
|
|
|
```
|
|
[MaxInfo]
|
|
type=service
|
|
router=maxinfo
|
|
user=monitor
|
|
passwd=my_secret
|
|
```
|
|
|
|
The listener section defines the protocol, port and other information needed
|
|
to create a listener for the service. To listen on a port using the MySQL
|
|
protocol a section as shown below should be added to the configuration
|
|
file.
|
|
|
|
In this example we use a cleartext password `my_secret`. For increased
|
|
security the password can be encrypted as explained
|
|
[here](../Getting-Started/Configuration-Guide.md#encrypting-passwords).
|
|
|
|
```
|
|
[MaxInfo Listener]
|
|
type=listener
|
|
service=MaxInfo
|
|
protocol=MariaDBClient
|
|
port=9003
|
|
```
|
|
|
|
To listen with the HTTP protocol and hence return JSON documents a section
|
|
as shown below is required.
|
|
|
|
```
|
|
[MaxInfo JSON Listener]
|
|
type=listener
|
|
service=MaxInfo
|
|
protocol=HTTPD
|
|
port=8003
|
|
|
|
```
|
|
|
|
If both the MySQL and JSON responses are required then a single service can
|
|
be configured with both types of listener.
|
|
|
|
As with any other listeners within MariaDB MaxScale the listeners can be
|
|
bound to a particular interface by use of the address= parameter. This
|
|
allows the access to the maxinfo data to be limited to the localhost by
|
|
adding an address=localhost parameter in the configuration file.
|
|
|
|
```
|
|
[MaxInfo Listener]
|
|
type=listener
|
|
service=MaxInfo
|
|
protocol=MariaDBClient
|
|
address=localhost
|
|
port=9003
|
|
```
|
|
|
|
# MySQL Interface to maxinfo
|
|
|
|
The maxinfo supports a small subset of SQL statements in addition to the
|
|
MySQL status and ping requests. These may be used for simple monitoring of
|
|
MariaDB MaxScale.
|
|
|
|
```
|
|
% mysqladmin -hmaxscale.mariadb.com -P9003 -umonitor -pmy_secret ping
|
|
mysqld is alive
|
|
% mysqladmin -hmaxscale.mariadb.com -P9003 -umonitor -pmy_secret status
|
|
Uptime: 72 Threads: 1 Sessions: 11
|
|
%
|
|
```
|
|
|
|
The SQL command used to interact with maxinfo is the show command, a variety
|
|
of show commands are available and will be described in the following
|
|
sections.
|
|
|
|
Maxinfo also supports the `FLUSH LOGS`, `SET SERVER <name> <status>` and
|
|
`CLEAR SERVER <name> <status>` commands. These behave the same as their
|
|
MaxAdmin counterpart.
|
|
|
|
## Show variables
|
|
|
|
The show variables command will display a set of name and value pairs for a
|
|
number of MariaDB MaxScale system variables.
|
|
|
|
```
|
|
mysql> show variables;
|
|
+--------------------+-------------------------+
|
|
| Variable_name | Value |
|
|
+--------------------+-------------------------+
|
|
| version | 1.0.6-unstable |
|
|
| version_comment | MariaDB MaxScale |
|
|
| basedir | /home/mriddoch/skygate2 |
|
|
| MAXSCALE_VERSION | 1.0.6-unstable |
|
|
| MAXSCALE_THREADS | 1 |
|
|
| MAXSCALE_NBPOLLS | 3 |
|
|
| MAXSCALE_POLLSLEEP | 1000 |
|
|
| MAXSCALE_UPTIME | 223 |
|
|
| MAXSCALE_SESSIONS | 11 |
|
|
+--------------------+-------------------------+
|
|
9 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
The show variables command can also accept a limited like clause. This like
|
|
clause must either be a literal string to match, a pattern starting with a
|
|
%, a pattern ending with a % or a string with a % at both the start and the
|
|
end.
|
|
|
|
```
|
|
mysql> show variables like 'version';
|
|
+---------------+----------------+
|
|
| Variable_name | Value |
|
|
+---------------+----------------+
|
|
| version | 1.0.6-unstable |
|
|
+---------------+----------------+
|
|
1 row in set (0.02 sec)
|
|
|
|
mysql> show variables like 'version%';
|
|
+-----------------+------------------+
|
|
| Variable_name | Value |
|
|
+-----------------+------------------+
|
|
| version | 1.0.6-unstable |
|
|
| version_comment | MariaDB MaxScale |
|
|
+-----------------+------------------+
|
|
2 rows in set (0.02 sec)
|
|
|
|
mysql> show variables like '%comment';
|
|
+-----------------+------------------+
|
|
| Variable_name | Value |
|
|
+-----------------+------------------+
|
|
| version_comment | MariaDB MaxScale |
|
|
+-----------------+------------------+
|
|
1 row in set (0.02 sec)
|
|
|
|
mysql> show variables like '%ers%';
|
|
+------------------+------------------+
|
|
| Variable_name | Value |
|
|
+------------------+------------------+
|
|
| version | 1.0.6-unstable |
|
|
| version_comment | MariaDB MaxScale |
|
|
| MAXSCALE_VERSION | 1.0.6-unstable |
|
|
+------------------+------------------+
|
|
3 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show status
|
|
|
|
The show status command displays a set of status counters, as with show
|
|
variables the show status command can be passed a simplified like clause to
|
|
limit the values returned.
|
|
|
|
```
|
|
mysql> show status;
|
|
+---------------------------+-------+
|
|
| Variable_name | Value |
|
|
+---------------------------+-------+
|
|
| Uptime | 156 |
|
|
| Uptime_since_flush_status | 156 |
|
|
| Threads_created | 1 |
|
|
| Threads_running | 1 |
|
|
| Threadpool_threads | 1 |
|
|
| Threads_connected | 11 |
|
|
| Connections | 11 |
|
|
| Client_connections | 2 |
|
|
| Backend_connections | 0 |
|
|
| Listeners | 9 |
|
|
| Zombie_connections | 0 |
|
|
| Internal_descriptors | 2 |
|
|
| Read_events | 22 |
|
|
| Write_events | 24 |
|
|
| Hangup_events | 0 |
|
|
| Error_events | 0 |
|
|
| Accept_events | 2 |
|
|
| Event_queue_length | 1 |
|
|
| Pending_events | 0 |
|
|
| Max_event_queue_length | 1 |
|
|
| Max_event_queue_time | 0 |
|
|
| Max_event_execution_time | 0 |
|
|
+---------------------------+-------+
|
|
22 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show services
|
|
|
|
The show services command will return a set of basic statistics regarding
|
|
each of the configured services within MariaDB MaxScale.
|
|
|
|
```
|
|
mysql> show services;
|
|
+----------------+----------------+--------------+----------------+
|
|
| Service Name | Router Module | No. Sessions | Total Sessions |
|
|
+----------------+----------------+--------------+----------------+
|
|
| Test Service | readconnroute | 1 | 1 |
|
|
| Split Service | readwritesplit | 1 | 1 |
|
|
| Filter Service | readconnroute | 1 | 1 |
|
|
| Named Service | readwritesplit | 1 | 1 |
|
|
| QLA Service | readconnroute | 1 | 1 |
|
|
| Debug Service | debugcli | 1 | 1 |
|
|
| CLI | cli | 1 | 1 |
|
|
| MaxInfo | maxinfo | 4 | 4 |
|
|
+----------------+----------------+--------------+----------------+
|
|
8 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
The show services command does not accept a like clause and will ignore any
|
|
like clause that is given.
|
|
|
|
## Show listeners
|
|
|
|
The show listeners command will return a set of status information for every
|
|
listener defined within the MariaDB MaxScale configuration file.
|
|
|
|
```
|
|
mysql> show listeners;
|
|
+----------------+-----------------+-----------+------+---------+
|
|
| Service Name | Protocol Module | Address | Port | State |
|
|
+----------------+-----------------+-----------+------+---------+
|
|
| Test Service | MariaDBClient | * | 4006 | Running |
|
|
| Split Service | MariaDBClient | * | 4007 | Running |
|
|
| Filter Service | MariaDBClient | * | 4008 | Running |
|
|
| Named Service | MariaDBClient | * | 4010 | Running |
|
|
| QLA Service | MariaDBClient | * | 4009 | Running |
|
|
| Debug Service | telnetd | localhost | 4242 | Running |
|
|
| CLI | maxscaled | localhost | 6603 | Running |
|
|
| MaxInfo | MariaDBClient | * | 9003 | Running |
|
|
| MaxInfo | HTTPD | * | 8003 | Running |
|
|
+----------------+-----------------+-----------+------+---------+
|
|
9 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
The show listeners command will ignore any like clause passed to it.
|
|
|
|
## Show sessions
|
|
|
|
The show sessions command returns information on every active session within
|
|
MariaDB MaxScale. It will ignore any like clause passed to it.
|
|
|
|
```
|
|
mysql> show sessions;
|
|
+-----------+---------------+----------------+---------------------------+
|
|
| Session | Client | Service | State |
|
|
+-----------+---------------+----------------+---------------------------+
|
|
| 0x1a92a60 | 127.0.0.1 | MaxInfo | Session ready for routing |
|
|
| 0x1a92100 | 80.240.130.35 | MaxInfo | Session ready for routing |
|
|
| 0x1a76a00 | | MaxInfo | Listener Session |
|
|
| 0x1a76020 | | MaxInfo | Listener Session |
|
|
| 0x1a75d40 | | CLI | Listener Session |
|
|
| 0x1a75220 | | Debug Service | Listener Session |
|
|
| 0x1a774b0 | | QLA Service | Listener Session |
|
|
| 0x1a78630 | | Named Service | Listener Session |
|
|
| 0x1a60270 | | Filter Service | Listener Session |
|
|
| 0x1a606f0 | | Split Service | Listener Session |
|
|
| 0x19b0380 | | Test Service | Listener Session |
|
|
+-----------+---------------+----------------+---------------------------+
|
|
11 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show clients
|
|
|
|
The show clients command reports a row for every client application
|
|
connected to MariaDB MaxScale. `Like` clauses cannot be used in the show
|
|
clients command.
|
|
|
|
```
|
|
mysql> show clients;
|
|
+-----------+---------------+---------+---------------------------+
|
|
| Session | Client | Service | State |
|
|
+-----------+---------------+---------+---------------------------+
|
|
| 0x1a92a60 | 127.0.0.1 | MaxInfo | Session ready for routing |
|
|
| 0x1a92100 | 80.240.130.35 | MaxInfo | Session ready for routing |
|
|
+-----------+---------------+---------+---------------------------+
|
|
2 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show servers
|
|
|
|
The show servers command returns data for each backend server configured
|
|
within the MariaDB MaxScale configuration file. This data includes the
|
|
current number of connections MariaDB MaxScale has to that server and the
|
|
state of that server as monitored by MariaDB MaxScale.
|
|
|
|
```
|
|
mysql> show servers;
|
|
+---------+-----------+------+-------------+---------+
|
|
| Server | Address | Port | Connections | Status |
|
|
+---------+-----------+------+-------------+---------+
|
|
| server1 | 127.0.0.1 | 3306 | 0 | Running |
|
|
| server2 | 127.0.0.1 | 3307 | 0 | Down |
|
|
| server3 | 127.0.0.1 | 3308 | 0 | Down |
|
|
| server4 | 127.0.0.1 | 3309 | 0 | Down |
|
|
+---------+-----------+------+-------------+---------+
|
|
4 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show modules
|
|
|
|
The show modules command reports the information on the modules currently
|
|
loaded into MariaDB MaxScale. This includes the name type and version of
|
|
each module. It also includes the API version the module has been written
|
|
against and the current release status of the module.
|
|
|
|
```
|
|
mysql> show modules;
|
|
+----------------+-------------+---------+-------------+----------------+
|
|
| Module Name | Module Type | Version | API Version | Status |
|
|
+----------------+-------------+---------+-------------+----------------+
|
|
| HTTPD | Protocol | V1.0.1 | 1.0.0 | In Development |
|
|
| maxscaled | Protocol | V1.0.0 | 1.0.0 | GA |
|
|
| telnetd | Protocol | V1.0.1 | 1.0.0 | GA |
|
|
| MariaDBClient | Protocol | V1.0.0 | 1.0.0 | GA |
|
|
| mariadbmon | Monitor | V1.4.0 | 1.0.0 | GA |
|
|
| readwritesplit | Router | V1.0.2 | 1.0.0 | GA |
|
|
| readconnroute | Router | V1.1.0 | 1.0.0 | GA |
|
|
| debugcli | Router | V1.1.1 | 1.0.0 | GA |
|
|
| cli | Router | V1.0.0 | 1.0.0 | GA |
|
|
| maxinfo | Router | V1.0.0 | 1.0.0 | Alpha |
|
|
+----------------+-------------+---------+-------------+----------------+
|
|
10 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show monitors
|
|
|
|
The show monitors command reports each monitor configured within the system
|
|
and the state of that monitor.
|
|
|
|
```
|
|
mysql> show monitors;
|
|
+---------------+---------+
|
|
| Monitor | Status |
|
|
+---------------+---------+
|
|
| MySQL Monitor | Running |
|
|
+---------------+---------+
|
|
1 row in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
## Show eventTimes
|
|
|
|
The show eventTimes command returns a table of statistics that reflect the
|
|
performance of the event queuing and execution portion of the MariaDB
|
|
MaxScale core.
|
|
|
|
```
|
|
mysql> show eventTimes;
|
|
+---------------+-------------------+---------------------+
|
|
| Duration | No. Events Queued | No. Events Executed |
|
|
+---------------+-------------------+---------------------+
|
|
| < 100ms | 460 | 456 |
|
|
| 100 - 200ms | 0 | 3 |
|
|
| 200 - 300ms | 0 | 0 |
|
|
| 300 - 400ms | 0 | 0 |
|
|
| 400 - 500ms | 0 | 0 |
|
|
| 500 - 600ms | 0 | 0 |
|
|
| 600 - 700ms | 0 | 0 |
|
|
| 700 - 800ms | 0 | 0 |
|
|
| 800 - 900ms | 0 | 0 |
|
|
| 900 - 1000ms | 0 | 0 |
|
|
| 1000 - 1100ms | 0 | 0 |
|
|
| 1100 - 1200ms | 0 | 0 |
|
|
| 1200 - 1300ms | 0 | 0 |
|
|
| 1300 - 1400ms | 0 | 0 |
|
|
| 1400 - 1500ms | 0 | 0 |
|
|
| 1500 - 1600ms | 0 | 0 |
|
|
| 1600 - 1700ms | 0 | 0 |
|
|
| 1700 - 1800ms | 0 | 0 |
|
|
| 1800 - 1900ms | 0 | 0 |
|
|
| 1900 - 2000ms | 0 | 0 |
|
|
| 2000 - 2100ms | 0 | 0 |
|
|
| 2100 - 2200ms | 0 | 0 |
|
|
| 2200 - 2300ms | 0 | 0 |
|
|
| 2300 - 2400ms | 0 | 0 |
|
|
| 2400 - 2500ms | 0 | 0 |
|
|
| 2500 - 2600ms | 0 | 0 |
|
|
| 2600 - 2700ms | 0 | 0 |
|
|
| 2700 - 2800ms | 0 | 0 |
|
|
| 2800 - 2900ms | 0 | 0 |
|
|
| > 3000ms | 0 | 0 |
|
|
+---------------+-------------------+---------------------+
|
|
30 rows in set (0.02 sec)
|
|
|
|
mysql>
|
|
```
|
|
|
|
Each row represents a time interval, in 100ms increments, with the counts
|
|
representing the number of events that were in the event queue for the
|
|
length of time that row represents and the number of events that were
|
|
executing at the time indicated by the row.
|
|
|
|
# JSON Interface
|
|
|
|
The simplified JSON interface takes the URL of the request made to maxinfo
|
|
and maps that to a show command in the above section.
|
|
|
|
## Variables
|
|
|
|
The /variables URL will return the MariaDB MaxScale variables, these
|
|
variables can not be filtered via this interface.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/variables
|
|
[ { "Variable_name" : "version", "Value" : "1.0.6-unstable"},
|
|
{ "Variable_name" : "version_comment", "Value" : "MariaDB MaxScale"},
|
|
{ "Variable_name" : "basedir", "Value" : "/home/mriddoch/skygate2"},
|
|
{ "Variable_name" : "MAXSCALE_VERSION", "Value" : "1.0.6-unstable"},
|
|
{ "Variable_name" : "MAXSCALE_THREADS", "Value" : 1},
|
|
{ "Variable_name" : "MAXSCALE_NBPOLLS", "Value" : 3},
|
|
{ "Variable_name" : "MAXSCALE_POLLSLEEP", "Value" : 1000},
|
|
{ "Variable_name" : "MAXSCALE_UPTIME", "Value" : 3948},
|
|
{ "Variable_name" : "MAXSCALE_SESSIONS", "Value" : 12}]
|
|
$
|
|
```
|
|
|
|
## Status
|
|
|
|
Use of the /status URI will return the status information that would
|
|
normally be returned by the show status command. No filtering of the status
|
|
information is available via this interface
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/status
|
|
[ { "Variable_name" : "Uptime", "Value" : 3831},
|
|
{ "Variable_name" : "Uptime_since_flush_status", "Value" : 3831},
|
|
{ "Variable_name" : "Threads_created", "Value" : 1},
|
|
{ "Variable_name" : "Threads_running", "Value" : 1},
|
|
{ "Variable_name" : "Threadpool_threads", "Value" : 1},
|
|
{ "Variable_name" : "Threads_connected", "Value" : 12},
|
|
{ "Variable_name" : "Connections", "Value" : 12},
|
|
{ "Variable_name" : "Client_connections", "Value" : 3},
|
|
{ "Variable_name" : "Backend_connections", "Value" : 0},
|
|
{ "Variable_name" : "Listeners", "Value" : 9},
|
|
{ "Variable_name" : "Zombie_connections", "Value" : 0},
|
|
{ "Variable_name" : "Internal_descriptors", "Value" : 3},
|
|
{ "Variable_name" : "Read_events", "Value" : 469},
|
|
{ "Variable_name" : "Write_events", "Value" : 479},
|
|
{ "Variable_name" : "Hangup_events", "Value" : 12},
|
|
{ "Variable_name" : "Error_events", "Value" : 0},
|
|
{ "Variable_name" : "Accept_events", "Value" : 15},
|
|
{ "Variable_name" : "Event_queue_length", "Value" : 1},
|
|
{ "Variable_name" : "Pending_events", "Value" : 0},
|
|
{ "Variable_name" : "Max_event_queue_length", "Value" : 1},
|
|
{ "Variable_name" : "Max_event_queue_time", "Value" : 0},
|
|
{ "Variable_name" : "Max_event_execution_time", "Value" : 1}]
|
|
$
|
|
```
|
|
|
|
## Services
|
|
|
|
The /services URI returns the data regarding the services defined within the
|
|
configuration of MariaDB MaxScale. Two counters are returned, the current
|
|
number of sessions attached to this service and the total number connected
|
|
since the service started.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/services
|
|
[ { "Service Name" : "Test Service", "Router Module" : "readconnroute", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "Split Service", "Router Module" : "readwritesplit", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "Filter Service", "Router Module" : "readconnroute", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "Named Service", "Router Module" : "readwritesplit", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "QLA Service", "Router Module" : "readconnroute", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "Debug Service", "Router Module" : "debugcli", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "CLI", "Router Module" : "cli", "No. Sessions" : 1, "Total Sessions" : 1},
|
|
{ "Service Name" : "MaxInfo", "Router Module" : "maxinfo", "No. Sessions" : 5, "Total Sessions" : 20}]
|
|
$
|
|
```
|
|
|
|
## Listeners
|
|
|
|
The /listeners URI will return a JSON array with one entry per listener,
|
|
each entry is a JSON object that describes the configuration and state of
|
|
that listener.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/listeners
|
|
[ { "Service Name" : "Test Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4006, "State" : "Running"},
|
|
{ "Service Name" : "Split Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4007, "State" : "Running"},
|
|
{ "Service Name" : "Filter Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4008, "State" : "Running"},
|
|
{ "Service Name" : "Named Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4010, "State" : "Running"},
|
|
{ "Service Name" : "QLA Service", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 4009, "State" : "Running"},
|
|
{ "Service Name" : "Debug Service", "Protocol Module" : "telnetd", "Address" : "localhost", "Port" : 4242, "State" : "Running"},
|
|
{ "Service Name" : "CLI", "Protocol Module" : "maxscaled", "Address" : "localhost", "Port" : 6603, "State" : "Running"},
|
|
{ "Service Name" : "MaxInfo", "Protocol Module" : "MariaDBClient", "Address" : "*", "Port" : 9003, "State" : "Running"},
|
|
{ "Service Name" : "MaxInfo", "Protocol Module" : "HTTPD", "Address" : "*", "Port" : 8003, "State" : "Running"}]
|
|
$
|
|
```
|
|
|
|
## Modules
|
|
|
|
The /modules URI returns data for each plugin that has been loaded into
|
|
MariaDB MaxScale. The plugin name, type and version are returned as is the
|
|
version of the plugin API that the plugin was built against and the release
|
|
status of the plugin.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/modules
|
|
[ { "Module Name" : "HTTPD", "Module Type" : "Protocol", "Version" : "V1.2.0", "API Version" : "1.1.0", "Status" : "In Development"},
|
|
{ "Module Name" : "maxscaled", "Module Type" : "Protocol", "Version" : "V2.0.0", "API Version" : "1.1.0", "Status" : "GA"},
|
|
{ "Module Name" : "mariadbclient", "Module Type" : "Protocol", "Version" : "V1.1.0", "API Version" : "1.1.0", "Status" : "GA"},
|
|
{ "Module Name" : "mariadbmon", "Module Type" : "Monitor", "Version" : "V1.5.0", "API Version" : "3.0.0", "Status" : "GA"},
|
|
{ "Module Name" : "readwritesplit", "Module Type" : "Router", "Version" : "V1.1.0", "API Version" : "2.0.0", "Status" : "GA"},
|
|
{ "Module Name" : "readconnroute", "Module Type" : "Router", "Version" : "V1.1.0", "API Version" : "2.0.0", "Status" : "GA"},
|
|
{ "Module Name" : "cli", "Module Type" : "Router", "Version" : "V1.0.0", "API Version" : "2.0.0", "Status" : "GA"},
|
|
{ "Module Name" : "maxinfo", "Module Type" : "Router", "Version" : "V1.0.0", "API Version" : "2.0.0", "Status" : "Alpha"}]
|
|
$
|
|
```
|
|
|
|
## Sessions
|
|
|
|
The /sessions URI returns a JSON array with an object for each active
|
|
session within MariaDB MaxScale.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/sessions
|
|
[ { "Session" : "0x1a8e9a0", "Client" : "80.176.79.245", "Service" : "MaxInfo", "State" : "Session ready for routing"},
|
|
{ "Session" : "0x1a8e6d0", "Client" : "80.240.130.35", "Service" : "MaxInfo", "State" : "Session ready for routing"},
|
|
{ "Session" : "0x1a8ddd0", "Client" : , "Service" : "MaxInfo", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a92da0", "Client" : , "Service" : "MaxInfo", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a92ac0", "Client" : , "Service" : "CLI", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a70e90", "Client" : , "Service" : "Debug Service", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a758d0", "Client" : , "Service" : "QLA Service", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a73a90", "Client" : , "Service" : "Named Service", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a5c0b0", "Client" : , "Service" : "Filter Service", "State" : "Listener Session"},
|
|
{ "Session" : "0x1a5c530", "Client" : , "Service" : "Split Service", "State" : "Listener Session"},
|
|
{ "Session" : "0x19ac1c0", "Client" : , "Service" : "Test Service", "State" : "Listener Session"}]
|
|
$
|
|
```
|
|
|
|
## Clients
|
|
|
|
The /clients URI is a limited version of the /sessions, in this case it only
|
|
returns an entry for a session that represents a client connection.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/clients
|
|
[ { "Session" : "0x1a90be0", "Client" : "80.176.79.245", "Service" : "MaxInfo", "State" : "Session ready for routing"},
|
|
{ "Session" : "0x1a8e9a0", "Client" : "127.0.0.1", "Service" : "MaxInfo", "State" : "Session ready for routing"},
|
|
{ "Session" : "0x1a8e6d0", "Client" : "80.240.130.35", "Service" : "MaxInfo", "State" : "Session ready for routing"}]
|
|
$
|
|
```
|
|
|
|
## Servers
|
|
|
|
The /servers URI is used to retrieve information for each of the servers
|
|
defined within the MariaDB MaxScale configuration. This information includes
|
|
the connection count and the current status as monitored by MariaDB
|
|
MaxScale. The connection count is only those connections made by MariaDB
|
|
MaxScale to those servers.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/servers
|
|
[ { "Server" : "server1", "Address" : "127.0.0.1", "Port" : 3306, "Connections" : 0, "Status" : "Running"},
|
|
{ "Server" : "server2", "Address" : "127.0.0.1", "Port" : 3307, "Connections" : 0, "Status" : "Down"},
|
|
{ "Server" : "server3", "Address" : "127.0.0.1", "Port" : 3308, "Connections" : 0, "Status" : "Down"},
|
|
{ "Server" : "server4", "Address" : "127.0.0.1", "Port" : 3309, "Connections" : 0, "Status" : "Down"}]
|
|
$
|
|
```
|
|
|
|
## Event Times
|
|
|
|
The /event/times URI returns an array of statistics that reflect the
|
|
performance of the event queuing and execution portion of the MariaDB
|
|
MaxScale core. Each element is an object that represents a time bucket, in
|
|
100ms increments, with the counts representing the number of events that
|
|
were in the event queue for the length of time that row represents and the
|
|
number of events that were executing of the time indicated by the object.
|
|
|
|
```
|
|
$ curl http://maxscale.mariadb.com:8003/event/times
|
|
[ { "Duration" : "< 100ms", "No. Events Queued" : 64, "No. Events Executed" : 63},
|
|
{ "Duration" : " 100 - 200ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 200 - 300ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 300 - 400ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 400 - 500ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 500 - 600ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 600 - 700ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 700 - 800ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 800 - 900ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : " 900 - 1000ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1000 - 1100ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1100 - 1200ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1200 - 1300ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1300 - 1400ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1400 - 1500ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1500 - 1600ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1600 - 1700ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1700 - 1800ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1800 - 1900ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "1900 - 2000ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2000 - 2100ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2100 - 2200ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2200 - 2300ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2300 - 2400ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2400 - 2500ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2500 - 2600ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2600 - 2700ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2700 - 2800ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "2800 - 2900ms", "No. Events Queued" : 0, "No. Events Executed" : 0},
|
|
{ "Duration" : "> 3000ms", "No. Events Queued" : 0, "No. Events Executed" : 0}]
|
|
```
|