
The module command self links now point to an endpoint that executes the module command. Depending on the type of the module command, either a GET or a POST request must be made.
10 KiB
MaxScale Resource
The MaxScale resource represents a MaxScale instance and it is the core on top of which the modules build upon.
Resource Operations
Get global information
Retrieve global information about a MaxScale instance. This includes various file locations, configuration options and version information.
GET /v1/maxscale
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/"
},
"data": {
"attributes": {
"parameters": {
"libdir": "/usr/lib64/maxscale",
"datadir": "/var/lib/maxscale",
"process_datadir": "/var/lib/maxscale/data16218",
"cachedir": "/var/cache/maxscale",
"configdir": "/etc",
"config_persistdir": "/var/lib/maxscale/maxscale.cnf.d",
"module_configdir": "/etc/maxscale.modules.d",
"piddir": "/var/run/maxscale",
"logdir": "/var/log/maxscale",
"langdir": "/var/lib/maxscale",
"execdir": "/usr/bin",
"connector_plugindir": "/var/lib/plugin",
"threads": 4,
"auth_connect_timeout": 3,
"auth_read_timeout": 1,
"auth_write_timeout": 2,
"skip_permission_checks": false,
"syslog": true,
"maxlog": true,
"log_to_shm": false,
"query_classifier": ""
},
"version": "2.1.3",
"commit": "a32aa6c16236d2d8830e1286ea3aa4dba19174ec",
"started_at": "Wed, 17 May 2017 05:33:46 GMT",
"uptime": 19
},
"id": "maxscale",
"type": "maxscale"
}
}
Get thread information
Get the information and statistics of a particular thread. The :id in
the URI must map to a valid thread number between 0 and the configured
value of threads
.
GET /v1/maxscale/threads/:id
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/threads/0"
},
"data": {
"id": "0",
"type": "threads",
"attributes": {
"stats": {
"reads": 2,
"writes": 0,
"errors": 0,
"hangups": 0,
"accepts": 0,
"blocking_polls": 180,
"event_queue_length": 1,
"max_event_queue_length": 1,
"max_exec_time": 0,
"max_queue_time": 0
}
},
"links": {
"self": "http://localhost:8989/v1/threads/0"
}
}
}
Get information for all threads
Get the informatino for all threads. Returns a collection of threads resources.
GET /v1/maxscale/threads
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/threads/"
},
"data": [
{
"id": "0",
"type": "threads",
"attributes": {
"stats": {
"reads": 1,
"writes": 0,
"errors": 0,
"hangups": 0,
"accepts": 0,
"blocking_polls": 116,
"event_queue_length": 1,
"max_event_queue_length": 1,
"max_exec_time": 0,
"max_queue_time": 0
}
},
"links": {
"self": "http://localhost:8989/v1/threads/0"
}
},
{
"id": "1",
"type": "threads",
"attributes": {
"stats": {
"reads": 1,
"writes": 0,
"errors": 0,
"hangups": 0,
"accepts": 0,
"blocking_polls": 116,
"event_queue_length": 1,
"max_event_queue_length": 1,
"max_exec_time": 0,
"max_queue_time": 0
}
},
"links": {
"self": "http://localhost:8989/v1/threads/1"
}
},
{
"id": "2",
"type": "threads",
"attributes": {
"stats": {
"reads": 1,
"writes": 0,
"errors": 0,
"hangups": 0,
"accepts": 0,
"blocking_polls": 116,
"event_queue_length": 1,
"max_event_queue_length": 1,
"max_exec_time": 0,
"max_queue_time": 0
}
},
"links": {
"self": "http://localhost:8989/v1/threads/2"
}
},
{
"id": "3",
"type": "threads",
"attributes": {
"stats": {
"reads": 1,
"writes": 0,
"errors": 0,
"hangups": 0,
"accepts": 0,
"blocking_polls": 116,
"event_queue_length": 1,
"max_event_queue_length": 1,
"max_exec_time": 0,
"max_queue_time": 0
}
},
"links": {
"self": "http://localhost:8989/v1/threads/3"
}
}
]
}
Get logging information
Get information about the current state of logging, enabled log files and the location where the log files are stored.
GET /v1/maxscale/logs
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/logs/"
},
"data": {
"attributes": {
"parameters": {
"highprecision": false,
"maxlog": true,
"syslog": true,
"throttling": {
"count": 10,
"suppress_ms": 10000,
"window_ms": 1000
},
"log_warning": true,
"log_notice": true,
"log_info": false,
"log_debug": false
}
},
"id": "logs",
"type": "logs"
}
}
Flush and rotate log files
Flushes any pending messages to disk and reopens the log files. The body of the message is ignored.
POST /v1/maxscale/logs/flush
Response
Status: 204 No Content
Get task schedule
Retrieve all pending tasks that are queued for execution.
GET /v1/maxscale/tasks
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/tasks/"
},
"data": [] // No tasks active
}
Get loaded modules
Retrieve information about a loaded module. This includes version, API and maturity information as well as all the parameters that the module defines.
GET /v1/maxscale/modules
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/modules/"
},
"data": {
"id": "dbfwfilter",
"type": "module",
"attributes": {
"module_type": "Filter",
"version": "V1.2.0",
"description": "Firewall Filter",
"api": "filter",
"status": "GA",
"commands": [
{
"id": "rules/reload",
"type": "module_command",
"links": {
"self": "http://localhost:8989/v1/modules/dbfwfilter/rules/reload"
},
"attributes": {
"method": "POST",
"arg_min": 1,
"arg_max": 2,
"parameters": [
{
"description": "Filter to reload",
"type": "FILTER",
"required": true
},
{
"description": "Path to rule file",
"type": "[STRING]",
"required": false
}
]
}
}
],
"parameters": [
{
"name": "rules",
"type": "path"
},
{
"name": "log_match",
"type": "bool",
"default_value": "false"
},
{
"name": "log_no_match",
"type": "bool",
"default_value": "false"
},
{
"name": "action",
"type": "enum",
"default_value": "block",
"enum_values": [
"allow",
"block",
"ignore"
]
}
]
},
"links": {
"self": "http://localhost:8989/v1/modules/dbfwfilter"
}
}
}
Get all loaded modules
Retrieve information about all loaded modules.
GET /v1/maxscale/modules
Response
Status: 200 OK
{
"links": {
"self": "http://localhost:8989/v1/maxscale/modules/"
},
"data": [
{
"id": "qc_sqlite",
"type": "module",
"attributes": {
"module_type": "QueryClassifier",
"version": "V1.0.0",
"description": "Query classifier using sqlite.",
"api": "query_classifier",
"status": "Beta",
"parameters": []
},
"links": {
"self": "http://localhost:8989/v1/modules/qc_sqlite"
}
},
{
"id": "MySQLAuth",
"type": "module",
"attributes": {
"module_type": "Authenticator",
"version": "V1.1.0",
"description": "The MySQL client to MaxScale authenticator implementation",
"api": "authenticator",
"status": "GA",
"parameters": []
},
"links": {
"self": "http://localhost:8989/v1/modules/MySQLAuth"
}
},
]
}