Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
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 🙂