Monitors (dlbv3)

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>"
  }
}