Monitors verify the health and availability of a node, a pool, or a group of nodes in a pool.
Use the following operations to view and manage monitors and monitor configuration in the load balancer.
Retrieve monitors
Retrieve monitors configured in the load balancer.
GET /monitors
This operation does not accept a request body.
Response
Retrieve a list of monitors.
{
"data": [
{
"acceptRcode": "no-error",
"address": "any",
"answerContains": "query-type",
"appService": null,
"defaultsFrom": null,
"description": null,
"id": "dns",
"interval": 5,
"manualResume": "disabled",
"port": {
"type": "any",
"value": "any"
},
"qname": null,
"qtype": "a",
"recv": null,
"reverse": "disabled",
"timeUntilUp": 0,
"timeout": 16,
"transparent": "disabled",
"type": "dns",
"upInterval": 0
},
{
"address": "any",
"appService": null,
"cert": null,
"cipherlist": null,
"compatibility": null,
"defaultsFrom": null,
"description": null,
"id": "https",
"interval": 5,
"ipDscp": 0,
"key": null,
"manualResume": "disabled",
"password": null,
"port": {
"type": "any",
"value": "any"
},
"recv": null,
"recvDisable": null,
"reverse": "disabled",
"send": "\"GET /\\r\\n\"",
"timeUntilUp": 0,
"timeout": 16,
"transparent": "disabled",
"type": "https",
"upInterval": 0,
"username": null
},
{
"address": "1.2.3.27",
"appService": null,
"defaultsFrom": "tcp",
"description": "\"Updated value\"",
"id": "FakeTestMonitor",
"interval": 5,
"ipDscp": 0,
"manualResume": "disabled",
"port": {
"type": "equal",
"value": 86
},
"recv": "stuff",
"recvDisable": "disabled",
"reverse": "disabled",
"send": null,
"timeUntilUp": 0,
"timeout": 16,
"transparent": "enabled",
"type": "tcp",
"upInterval": 0
}
]
}
Retrieve a monitor by ID
Retrieve information about a specified monitor by using the monitor ID.
GET /monitors/{monitorId}
This operation does not accept a request body.
Response
Retrieve details about a specified monitor.
{
"data": [
{
"id": "MON-TCP-80",
"type": "tcp",
"address":"any",
"port": {
"type": "equal",
"value": 80
},
"appService": null,
"defaultsFrom": "tcp",
"description": "none",
"interval": 5,
"ipDscp": 0,
"manualResume": "disabled",
"recv": null,
"recvDisable": null,
"reverse": "disabled",
"send": null,
"timeUntilUp": 0,
"timeout": 16,
"transparent": "disabled",
"upInterval": 0
}
]
}
Update a monitor
Update a specified monitor configured in the load balancer.
PUT /monitors/{monitorId}
Request body
{
"address": "1.2.3.27",
"port": {
"type": "any",
"value": "86"
},
"type": "tcp",
"defaultsFrom": "/Common/tcp",
"description": "Updated value",
"interval": 5,
"ipDscp": 0,
"manualResume": "disabled",
"recv": "stuff",
"recvDisable": "disabled",
"reverse": "disabled",
"send": null,
"timeUntilUp": 0,
"timeout": 0,
"transparent": "enabled",
"upInterval": 0
}
Response
Update a monitor in the load balancer.
{
"data": {
"eventId": "32d1ba2a-0edf-4583-8e2c-ab0b54c78193",
"status": "PROCESSING",
"resource": "<monitorId:str>",
"eventRef": "/events/<eventId:str>",
"timestamp": "2016-03-18T03:18:35.5077939Z"
}
}
Create a monitor
Add a monitor to the load balancer configuration.
POST /monitors/{monitorId}
Request
{
"address": "1.2.3.27",
"port": {
"type": "any",
"value": "85"
},
"type": "tcp",
"defaultsFrom": "/Common/tcp",
"description": "A updated peg tcp monitor",
"interval": 5,
"ipDscp": 0,
"manualResume": "disabled",
"recv": "stuff",
"recvDisable": "disabled",
"reverse": "disabled",
"send": null,
"timeUntilUp": 0,
"timeout": 0,
"transparent": "enabled",
"upInterval": 0
}
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<monitorId:str>",
"eventRef": "/events/<eventId:str>",
"timestamp": "2016-03-18T03:18:35.5077939Z"
}
}
Remove a monitor from the load balancer
Remove a specified monitor from the load balancer configuration.
DELETE /monitors/{monitorId}
This operation does not accept a request body.
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<monitorId>",
"timestamp": "2016-03-24T10:41:08.6194067Z",
"eventRef": "/events/<eventId:str>"
}
}