<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to get health-check info for a node without Proxy? in Management &amp; Governance</title>
    <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1727944#M16352</link>
    <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/47469"&gt;@Levi_Turner&lt;/a&gt;&amp;nbsp;, thank you very much. It works great. I even set it up via the native Qlik REST connector.&lt;/P&gt;</description>
    <pubDate>Wed, 15 Jul 2020 09:34:33 GMT</pubDate>
    <dc:creator>RadovanOresky</dc:creator>
    <dc:date>2020-07-15T09:34:33Z</dc:date>
    <item>
      <title>How to get health-check info for a node without Proxy?</title>
      <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1726710#M16315</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I use engine/healthcheck API to monitor the availability of Qlik Sense nodes.&amp;nbsp; One of the consumer nodes has only Engine, no Proxy. The virtual proxy is load balanced to this node and linked Proxy is from central node.&lt;/P&gt;&lt;P&gt;The problem = When I try to read the engine/healtcheck info for that consumer node (without Proxy) it returns the same values as the healthcheck for the central node.&lt;/P&gt;&lt;P&gt;I guess this is because, as the documentation says: "&lt;EM&gt;the health check request is called via the&amp;nbsp;&lt;SPAN class="CommonComponentsQPSName"&gt;Qlik Sense &lt;STRONG&gt;Proxy Service&lt;/STRONG&gt;&lt;/SPAN&gt;, which routes the request to the engine &lt;STRONG&gt;on the same&lt;/STRONG&gt; physical computer. To request the health check information for a different node, use that node's IP address with the engine port&lt;/EM&gt;"&lt;/P&gt;&lt;P&gt;If I understand it correctly, I should use IP Address:4747 to check the health-check info for that node which has no Proxy. The problem is, that I cannot make it to work.&amp;nbsp; Whatever combination I try times out.&lt;/P&gt;&lt;P&gt;Is there a workaround to enable this?&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 01:56:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1726710#M16315</guid>
      <dc:creator>RadovanOresky</dc:creator>
      <dc:date>2024-11-16T01:56:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to get health-check info for a node without Proxy?</title>
      <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1726836#M16321</link>
      <description>&lt;P&gt;Ultimately you are going to want to pass along the internal client certificate used by Qlik and go over port 4747. There are many ways of accomplishing this in virtually any programming or scripting language, here's a concept using PowerShell:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;$hdrs = @{}
$hdrs.Add("X-Qlik-Xrfkey","examplexrfkey123")
$hdrs.Add("X-Qlik-User", "UserDirectory=INTERNAL; UserId=sa_api")
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My" | Where {$_.Subject -like '*QlikClient*'}
$Data = Get-Content C:\ProgramData\Qlik\Sense\Host.cfg
$FQDN = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($($Data)))
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
while (1) {
    $health = Invoke-RestMethod -Uri "https://$($FQDN):4747/engine/healthcheck?xrfkey=examplexrfkey123" -Method Get -Headers $hdrs -ContentType 'application/json' -Certificate $cert; 
    Write-Host ($health.apps.in_memory_docs).count 'in memory doc';
    Write-Host ($health.apps.loaded_docs).count 'loaded doc';
    sleep 5; 
    Clear-Host}&lt;/LI-CODE&gt;&lt;P&gt;from &lt;A href="https://github.com/levi-turner/QlikSenseScripts/blob/master/qs-generic/qs-qes-health_check.ps1" target="_self"&gt;here&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example output:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="healthcheck.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/37289iBCEB3DED187B0820/image-size/large?v=v2&amp;amp;px=999" role="button" title="healthcheck.png" alt="healthcheck.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Jul 2020 13:42:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1726836#M16321</guid>
      <dc:creator>Levi_Turner</dc:creator>
      <dc:date>2020-07-10T13:42:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to get health-check info for a node without Proxy?</title>
      <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1727944#M16352</link>
      <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/47469"&gt;@Levi_Turner&lt;/a&gt;&amp;nbsp;, thank you very much. It works great. I even set it up via the native Qlik REST connector.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jul 2020 09:34:33 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1727944#M16352</guid>
      <dc:creator>RadovanOresky</dc:creator>
      <dc:date>2020-07-15T09:34:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to get health-check info for a node without Proxy?</title>
      <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1765331#M17018</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/47469"&gt;@Levi_Turner&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your code works great only if I use the FQDN but not with an IP address. what is the reason?&lt;/P&gt;&lt;P&gt;In my case i want to check all engines in the cluster with an external system - will it work with the same Qlikclient certificate?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Shay&lt;/P&gt;</description>
      <pubDate>Mon, 30 Nov 2020 19:29:50 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1765331#M17018</guid>
      <dc:creator>shaybitton</dc:creator>
      <dc:date>2020-11-30T19:29:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to get health-check info for a node without Proxy?</title>
      <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1765347#M17019</link>
      <description>&lt;P&gt;The installed name for Qlik would need to match the FQDN variable. In the code above it's parsing the installed name from a config file so it will always match. If you need to ignore this then it's more of a question for how to skip SSL validation in PowerShell than anything Qlik specific. That being said, from&amp;nbsp;&lt;A href="https://til.intrepidintegration.com/powershell/ssl-cert-bypass" target="_blank"&gt;https://til.intrepidintegration.com/powershell/ssl-cert-bypass&lt;/A&gt;&amp;nbsp;we can do this:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;$hdrs = @{}
$hdrs.Add("X-Qlik-Xrfkey","examplexrfkey123")
$hdrs.Add("X-Qlik-User", "UserDirectory=INTERNAL; UserId=sa_api")
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My" | Where {$_.Subject -like '*QlikClient*'}
$FQDN = '127.0.0.1'
add-type @"
    using System.Net;
    using System.Security.Cryptography.X509Certificates;
    public class TrustAllCertsPolicy : ICertificatePolicy {
        public bool CheckValidationResult(
            ServicePoint srvPoint, X509Certificate certificate,
            WebRequest request, int certificateProblem) {
            return true;
        }
    }
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]'Ssl3,Tls,Tls11,Tls12'
while (1) {
    $health = Invoke-RestMethod -Uri "https://$($FQDN):4747/engine/healthcheck?xrfkey=examplexrfkey123" -Method Get -Headers $hdrs -ContentType 'application/json' -Certificate $cert
    Write-Host ($health.apps.in_memory_docs).count 'in memory doc';
    Write-Host ($health.apps.loaded_docs).count 'loaded doc';
    sleep 5; 
    Clear-Host}&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 30 Nov 2020 22:25:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1765347#M17019</guid>
      <dc:creator>Levi_Turner</dc:creator>
      <dc:date>2020-11-30T22:25:04Z</dc:date>
    </item>
    <item>
      <title>Re: How to get health-check info for a node without Proxy?</title>
      <link>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1765496#M17022</link>
      <description>&lt;P&gt;Works great !&lt;/P&gt;&lt;P&gt;Thank you very much&lt;/P&gt;</description>
      <pubDate>Tue, 01 Dec 2020 16:00:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/How-to-get-health-check-info-for-a-node-without-Proxy/m-p/1765496#M17022</guid>
      <dc:creator>shaybitton</dc:creator>
      <dc:date>2020-12-01T16:00:09Z</dc:date>
    </item>
  </channel>
</rss>

