Qlik Community

Qlik Sense Integration, Extensions, & APIs

Discussion board where members can learn more about Integration, Extensions and API’s for Qlik Sense.

Announcements
BI & Data Trends 2021. Discover the top 10 trends emerging in today. Join us on Dec. 8th REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Partner
Partner

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
Highlighted
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
Highlighted
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

Highlighted
Partner
Partner

Thanks! that helped 🙂