Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
aadil_madarveet
Partner - Creator II
Partner - Creator II

QRS API endpoint for node status

Hi All,

Does anyone know the api endpoint to check if a node is offline or online.

Right now i have to login to QMC to discover that one of the node has gone offline for some reason.

I have tried these two, but doesn't seem to return anything that would tell me if its online or offline.

/servernodeconfiguration/full

/servernodeheartbeat/full

 

Thanks,

Aadil

Labels (2)
1 Solution

Accepted Solutions
Levi_Turner
Employee
Employee

By calling GET /qrs/ServiceStatus/full. We have three key values we're interested in:

  • serverNodeConfiguration.hostname: This provides the host we are analyzing
  • serviceType: This provides the service
  • serviceState: This provides the state of the service

To decipher the serviceType and serviceState elements and map their enums to the semantic values we call GET /qrs/about/openapi/main and narrow in on the ServiceStatus elements like so:

   "ServiceStatus": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "createdDate": {
          "type": "string",
          "format": "date-time"
        },
        "modifiedDate": {
          "type": "string",
          "format": "date-time"
        },
        "modifiedByUserName": {
          "type": "string"
        },
        "schemaPath": {
          "type": "string"
        },
        "privileges": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "serverNodeConfiguration": {
          "$ref": "#/definitions/ServerNodeConfigurationCondensed"
        },
        "serviceType": {
          "type": "integer",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "x-enumNames": [
            "Repository",
            "Proxy",
            "Scheduler",
            "Engine",
            "AppMigration",
            "Printing"
          ]
        },
        "serviceState": {
          "type": "integer",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "x-enumNames": [
            "Initializing",
            "CertificatesNotInstalled",
            "Running",
            "NoCommunication",
            "Disabled",
            "Unknown"
          ]
        },
        "timestamp": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "serverNodeConfiguration",
        "serviceType",
        "serviceState"
      ],
      "x-qlik-stability": "Locked"
    }

From there you can map the nodes, their service(s), and their statuses to semantic values.

View solution in original post

2 Replies
Levi_Turner
Employee
Employee

By calling GET /qrs/ServiceStatus/full. We have three key values we're interested in:

  • serverNodeConfiguration.hostname: This provides the host we are analyzing
  • serviceType: This provides the service
  • serviceState: This provides the state of the service

To decipher the serviceType and serviceState elements and map their enums to the semantic values we call GET /qrs/about/openapi/main and narrow in on the ServiceStatus elements like so:

   "ServiceStatus": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "createdDate": {
          "type": "string",
          "format": "date-time"
        },
        "modifiedDate": {
          "type": "string",
          "format": "date-time"
        },
        "modifiedByUserName": {
          "type": "string"
        },
        "schemaPath": {
          "type": "string"
        },
        "privileges": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "serverNodeConfiguration": {
          "$ref": "#/definitions/ServerNodeConfigurationCondensed"
        },
        "serviceType": {
          "type": "integer",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "x-enumNames": [
            "Repository",
            "Proxy",
            "Scheduler",
            "Engine",
            "AppMigration",
            "Printing"
          ]
        },
        "serviceState": {
          "type": "integer",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "x-enumNames": [
            "Initializing",
            "CertificatesNotInstalled",
            "Running",
            "NoCommunication",
            "Disabled",
            "Unknown"
          ]
        },
        "timestamp": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "serverNodeConfiguration",
        "serviceType",
        "serviceState"
      ],
      "x-qlik-stability": "Locked"
    }

From there you can map the nodes, their service(s), and their statuses to semantic values.

aadil_madarveet
Partner - Creator II
Partner - Creator II
Author

Thanks! that helped 🙂