Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
How can I know the real nodes that the system is using at any given moment?
I made a call to QRS using:
https://host:4242/qrs/virtualproxyconfig?xrfkey=9251596621723463
And I get the installed virtual proxies perfectly and their relationship with the nodes for the load balance distributed among the 4 existing nodes, but at 5:30 PM two (2) nodes are turned off to save resources and when making the request again, the data remain the same.
Also, I tried using the endpoint
https://host:4242/qrs/engineservice/count?xrfkey=9251596621723463
and gives me 4 engines when I expected to return only the 2 that are on. Please, if someone could help me, I am very grateful.
Hey @tony_empiredev,
For the high level schema:
GET /qrs/virtualproxyconfig/0722cc73-738d-4ba2-a5f4-001590de57e8
Sample Response:
{
"id": "0722cc73-738d-4ba2-a5f4-001590de57e8",
"createdDate": "2017-05-06T00:54:59.921Z",
"modifiedDate": "2018-10-11T12:20:46.36Z",
"modifiedByUserName": "DOMAIN\\USERID",
"customProperties": [],
"prefix": "",
"description": "Central Proxy (Default)",
"authenticationModuleRedirectUri": "",
"sessionModuleBaseUri": "",
"loadBalancingModuleBaseUri": "",
"useStickyLoadBalancing": false,
"loadBalancingServerNodes": [
{
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
}
],
"authenticationMethod": 0,
"headerAuthenticationMode": 0,
"headerAuthenticationHeaderName": "",
"headerAuthenticationStaticUserDirectory": "",
"headerAuthenticationDynamicUserDirectory": "",
"anonymousAccessMode": 0,
"windowsAuthenticationEnabledDevicePattern": "Windows",
"sessionCookieHeaderName": "X-Qlik-Session-win",
"sessionCookieDomain": "",
"additionalResponseHeaders": "",
"sessionInactivityTimeout": 71582,
"extendedSecurityEnvironment": false,
"websocketCrossOriginWhiteList": [
"levi.qlik.com",
"view"
],
"defaultVirtualProxy": true,
"tags": [],
"samlMetadataIdP": "",
"samlHostUri": "",
"samlEntityId": "",
"samlAttributeUserId": "",
"samlAttributeUserDirectory": "",
"samlAttributeSigningAlgorithm": 0,
"samlAttributeMap": [],
"jwtAttributeUserId": null,
"jwtAttributeUserDirectory": null,
"jwtPublicKeyCertificate": null,
"jwtAttributeMap": [],
"magicLinkHostUri": "https://sense.company.com",
"magicLinkFriendlyName": "LTU",
"samlSlo": false,
"privileges": null,
"schemaPath": "VirtualProxyConfig"
}
In this, we can see a loadBalancingServerNodes > id (f206bf30-1e5c-498a-8f73-f1f9e2120863). With this ID (or set of IDs) to keep a focus on, we call GET/qrs/servicestatus/full
Sample Response:
[
{
"id": "cc4cbb9b-5461-4a5f-9f0c-09515368986e",
"createdDate": "2017-05-06T00:55:21.402Z",
"modifiedDate": "2018-12-03T12:49:12.061Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 0,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:12.045Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "e55fe86c-ceed-4680-bd71-fc95b5cfab52",
"createdDate": "2017-05-06T00:55:35.987Z",
"modifiedDate": "2018-12-03T12:49:32.159Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 3,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.128Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "5662a64b-0259-43a2-bc7f-c2a30cb0ab3f",
"createdDate": "2017-05-06T00:56:21.11Z",
"modifiedDate": "2018-12-03T12:49:32.189Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 2,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.165Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "9cbfee9e-e7a0-44f6-87b8-6d17d7977369",
"createdDate": "2017-05-06T00:55:36.065Z",
"modifiedDate": "2018-12-03T12:49:32.224Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 1,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.209Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "6f6b6254-6729-421f-8c78-b8760cbe3c9f",
"createdDate": "2017-05-06T00:55:38.231Z",
"modifiedDate": "2018-12-03T12:49:32.827Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 5,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.811Z",
"privileges": null,
"schemaPath": "ServiceStatus"
}
]
In the response, we see two elements which we need to take note of:
To get the enum mapping, call GET /qrs/about/openapi/main
Abridged response:
"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"
]
}...
Hope that helps.
Hey @tony_empiredev,
For the high level schema:
GET /qrs/virtualproxyconfig/0722cc73-738d-4ba2-a5f4-001590de57e8
Sample Response:
{
"id": "0722cc73-738d-4ba2-a5f4-001590de57e8",
"createdDate": "2017-05-06T00:54:59.921Z",
"modifiedDate": "2018-10-11T12:20:46.36Z",
"modifiedByUserName": "DOMAIN\\USERID",
"customProperties": [],
"prefix": "",
"description": "Central Proxy (Default)",
"authenticationModuleRedirectUri": "",
"sessionModuleBaseUri": "",
"loadBalancingModuleBaseUri": "",
"useStickyLoadBalancing": false,
"loadBalancingServerNodes": [
{
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
}
],
"authenticationMethod": 0,
"headerAuthenticationMode": 0,
"headerAuthenticationHeaderName": "",
"headerAuthenticationStaticUserDirectory": "",
"headerAuthenticationDynamicUserDirectory": "",
"anonymousAccessMode": 0,
"windowsAuthenticationEnabledDevicePattern": "Windows",
"sessionCookieHeaderName": "X-Qlik-Session-win",
"sessionCookieDomain": "",
"additionalResponseHeaders": "",
"sessionInactivityTimeout": 71582,
"extendedSecurityEnvironment": false,
"websocketCrossOriginWhiteList": [
"levi.qlik.com",
"view"
],
"defaultVirtualProxy": true,
"tags": [],
"samlMetadataIdP": "",
"samlHostUri": "",
"samlEntityId": "",
"samlAttributeUserId": "",
"samlAttributeUserDirectory": "",
"samlAttributeSigningAlgorithm": 0,
"samlAttributeMap": [],
"jwtAttributeUserId": null,
"jwtAttributeUserDirectory": null,
"jwtPublicKeyCertificate": null,
"jwtAttributeMap": [],
"magicLinkHostUri": "https://sense.company.com",
"magicLinkFriendlyName": "LTU",
"samlSlo": false,
"privileges": null,
"schemaPath": "VirtualProxyConfig"
}
In this, we can see a loadBalancingServerNodes > id (f206bf30-1e5c-498a-8f73-f1f9e2120863). With this ID (or set of IDs) to keep a focus on, we call GET/qrs/servicestatus/full
Sample Response:
[
{
"id": "cc4cbb9b-5461-4a5f-9f0c-09515368986e",
"createdDate": "2017-05-06T00:55:21.402Z",
"modifiedDate": "2018-12-03T12:49:12.061Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 0,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:12.045Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "e55fe86c-ceed-4680-bd71-fc95b5cfab52",
"createdDate": "2017-05-06T00:55:35.987Z",
"modifiedDate": "2018-12-03T12:49:32.159Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 3,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.128Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "5662a64b-0259-43a2-bc7f-c2a30cb0ab3f",
"createdDate": "2017-05-06T00:56:21.11Z",
"modifiedDate": "2018-12-03T12:49:32.189Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 2,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.165Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "9cbfee9e-e7a0-44f6-87b8-6d17d7977369",
"createdDate": "2017-05-06T00:55:36.065Z",
"modifiedDate": "2018-12-03T12:49:32.224Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 1,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.209Z",
"privileges": null,
"schemaPath": "ServiceStatus"
},
{
"id": "6f6b6254-6729-421f-8c78-b8760cbe3c9f",
"createdDate": "2017-05-06T00:55:38.231Z",
"modifiedDate": "2018-12-03T12:49:32.827Z",
"modifiedByUserName": "INTERNAL\\sa_repository",
"serverNodeConfiguration": {
"id": "f206bf30-1e5c-498a-8f73-f1f9e2120863",
"name": "Central",
"hostName": "sense.company.com",
"roles": [
{
"id": "265c41c5-ee84-4435-9ae1-9ae556aa6cb0",
"definition": 3,
"privileges": null
},
{
"id": "4b52e61b-2020-41fd-b1c8-446c8cfd9d59",
"definition": 4,
"privileges": null
},
{
"id": "5238fa48-522b-48e9-9fd0-962b164ade1b",
"definition": 1,
"privileges": null
},
{
"id": "ba2e555b-8ed1-4151-9914-da0472af7521",
"definition": 0,
"privileges": null
},
{
"id": "d5700278-4c37-4f4e-a397-65a196556c5e",
"definition": 5,
"privileges": null
},
{
"id": "f34481f5-cb50-4d81-9799-5be829df7a3c",
"definition": 2,
"privileges": null
}
],
"serviceCluster": {
"id": "e0c584b4-0cb9-4d52-8112-27651e855ae8",
"name": "ServiceCluster",
"privileges": null
},
"privileges": null
},
"serviceType": 5,
"serviceState": 2,
"timestamp": "2018-12-03T12:49:32.811Z",
"privileges": null,
"schemaPath": "ServiceStatus"
}
]
In the response, we see two elements which we need to take note of:
To get the enum mapping, call GET /qrs/about/openapi/main
Abridged response:
"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"
]
}...
Hope that helps.
Hey @Levi_Turner
Thanks very much, with your answer, you can change the script and I hope it works. Once tested, I will mark your answer as an accepted solution.
I'm going to post another very interesting question about the tasks, maybe you can help me.
Sounds good. If I don't see it do @ me.