-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocs.html
111 lines (111 loc) · 52.3 KB
/
docs.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html><html lang="en" class="__className_5f0736"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/connector-agent-monitor-public/_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/connector-agent-monitor-public/_next/static/media/qlik-logo.fe3e5f41.svg" fetchPriority="high"/><link rel="stylesheet" href="/connector-agent-monitor-public/_next/static/css/8acc6226ecf34f54.css" crossorigin="" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/connector-agent-monitor-public/_next/static/chunks/webpack-1be066da5c7847ae.js" crossorigin=""/><script src="/connector-agent-monitor-public/_next/static/chunks/fd9d1056-badca2047a248c06.js" async="" crossorigin=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/69-dd5ace84e5be6bf3.js" async="" crossorigin=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/main-app-4e4911239446ed46.js" async="" crossorigin=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/379-60e3c0b6cb3b64c1.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/647-6d3ee22589f29f70.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/191-c1b436a78168aabc.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/213-50becccded98b7b7.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/727-9b0de638ea3eafd9.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/833-2ad2799ea8e36dcf.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/app/docs/layout-715e00d3ce2e7ed2.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/app/layout-49062f8769fccd8b.js" async=""></script><script src="/connector-agent-monitor-public/_next/static/chunks/app/docs/%5B%5B...slug%5D%5D/page-a80d6bf5484eb503.js" async=""></script><title>Qlik Data Gateway Monitor</title><meta name="description" content="Documentation for the ConnectorAgent Monitor"/><meta name="next-size-adjust"/><script src="/connector-agent-monitor-public/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" crossorigin="" noModule=""></script></head><body><script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&true)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}if(e==='light'||e==='dark')d.style.colorScheme=e}catch(e){}}()</script><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><header class="sticky top-0 z-50 h-16 border-b backdrop-blur-md transition-colors border-foreground/10 bg-background/50"><nav class="container flex h-full flex-row items-center gap-4"><a class="inline-flex items-center font-bold" href="/connector-agent-monitor-public"></a><div class="logo-container inline-flex"><img alt="Qlik Logo" fetchPriority="high" width="900" height="500" decoding="async" data-nimg="1" style="color:transparent" src="/connector-agent-monitor-public/_next/static/media/qlik-logo.fe3e5f41.svg"/></div><div class="flex flex-1 flex-row items-center justify-end md:gap-2"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 hover:bg-accent hover:text-accent-foreground p-1.5 [&_svg]:size-5 md:hidden" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search "><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></button><button type="button" class="inline-flex w-full max-w-[240px] items-center gap-2 rounded-full border bg-secondary/50 p-1.5 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground max-md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search ml-1 size-4" aria-label="Open Search"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg>Search<div class="ml-auto inline-flex gap-0.5 text-xs"><kbd class="rounded-md border bg-background px-1.5">⌘</kbd><kbd class="rounded-md border bg-background px-1.5">K</kbd></div></button><button type="button" class="inline-flex items-center rounded-full border p-0.5 max-md:hidden" aria-label="Toggle Theme"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-7 rounded-full p-1.5 bg-accent text-accent-foreground dark:bg-transparent dark:text-muted-foreground"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-7 rounded-full p-1.5 text-muted-foreground dark:bg-accent dark:text-accent-foreground"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button><button data-open="false" aria-label="Toggle Sidebar" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 hover:bg-accent hover:text-accent-foreground p-1.5 [&_svg]:size-5 md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu "><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button><button type="button" aria-label="Toggle Sidebar" class="inline-flex items-center justify-center text-sm font-medium transition-colors duration-100 border hover:bg-accent hover:text-accent-foreground p-1.5 [&_svg]:size-5 rounded-full max-md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left-close "><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><path d="M9 3v18"></path><path d="m16 15-3-3 3-3"></path></svg></button><div class="flex-row items-center border-l pl-2 max-md:hidden hidden"></div></div></nav></header><div class="container flex flex-row gap-6 xl:gap-12"><aside data-open="false" class="flex w-full flex-col text-medium md:sticky md:top-16 md:h-body md:w-[240px] md:text-sm xl:w-[260px] max-md:fixed max-md:inset-0 max-md:z-40 max-md:bg-background/80 max-md:pt-16 max-md:backdrop-blur-md max-md:data-[open=false]:hidden"><div dir="ltr" class="overflow-hidden flex-1" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="h-full w-full rounded-[inherit]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><div class="flex flex-col gap-8 pb-10 pt-4 max-md:px-4 md:pr-3 md:pt-10"><div class="lg:hidden"></div><div><a class="flex flex-row items-center gap-2 rounded-md px-2 py-1.5 [&_svg]:size-4 bg-primary/10 font-medium text-primary" href="/connector-agent-monitor-public/docs">Qlik Data Gateway Monitor</a></div></div></div></div></div><div class="flex flex-row items-center gap-2 border-t py-2 max-md:px-4 md:hidden"><button type="button" class="inline-flex items-center rounded-full border p-0.5 md:hidden" aria-label="Toggle Theme"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-7 rounded-full p-1.5 bg-accent text-accent-foreground dark:bg-transparent dark:text-muted-foreground"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-7 rounded-full p-1.5 text-muted-foreground dark:bg-accent dark:text-accent-foreground"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button></div></aside><article class="flex w-0 flex-1 flex-col gap-6 py-10"><div class="flex-row items-center gap-1 text-sm text-muted-foreground hidden"><a class="overflow-hidden whitespace-nowrap text-foreground" href="/connector-agent-monitor-public/docs">Qlik Data Gateway Monitor</a></div><div class="prose"><h1>Qlik Data Gateway Monitor</h1><p>The Qlik Data Gateway Monitor, a.k.a. the ConnectorAgent Monitor, is a tool developed and maintained by Qlik Customer First Data Analytics (CF QDA).</p>
<h2 class="scroll-m-20" id="features"><a href="#features" class="not-prose group">Features<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ul>
<li>Monitors the <code>Qlik Data Gateway - Direct Access</code> Windows service process and restarts it if necessary ✅</li>
<li>Saves status endpoint responses for diagnostic purposes ✅</li>
<li>Provides an API for collecting all Direct Access Agent service logs ✅<!-- -->
<ul>
<li>DirectAccessAgent</li>
<li>connector-agent</li>
<li>odbc-connector</li>
<li>SAP BW</li>
<li>SAP SQL</li>
<li>SAP Package / ODP</li>
</ul>
</li>
<li>Optionally schedules automatic collection and upload of logs to FileCloud ✅</li>
<li>Transform logs as needed to streamline their ingest into Qlik Sense ⏳</li>
<li>Being considered for future releases<!-- -->
<ul>
<li>Save server health metrics</li>
</ul>
</li>
</ul>
<h2 class="scroll-m-20" id="installing"><a href="#installing" class="not-prose group">Installing<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ul>
<li>Latest Installer - <a href="https://files.qlik.com/url/data_gateway_monitor" rel="noreferrer noopener" target="_blank">https://files.qlik.com/url/data_gateway_monitor</a></li>
<li>The current version is <strong>0.5.9</strong> which includes optional automatic upload to FileCloud. The Monitor can be installed on an active gateway without causing interruptions. Just download and run the installer. No restarts or manual Windows service starts are required.</li>
</ul>
<h2 class="scroll-m-20" id="how-it-works"><a href="#how-it-works" class="not-prose group">How It Works<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ul>
<li>
<p>The Monitor sends a request to the ConnectorAgent's status endpoint which triggers the agent to check itself and all of its
registered connectors at the time of request.</p>
</li>
<li>
<p>The JSON payload of each response is logged to a <code>C:\ProgramData\Qlik\Gateway\Monitor\Logs\connector-agent_status_YYYYMMDD.log</code> file.</p>
</li>
<li>
<p>The <strong>statusCheckResult</strong> in that payload must be <strong>PASS</strong>.</p>
</li>
<li>
<p>The Monitor also waits for the <code>ConnectorAgent.exe</code> process to be running and that it returns at least one <strong>PASS</strong> (after the Monitor starts up)
before any non-<strong>PASS</strong> is counted as a failure.</p>
</li>
<li>
<p>After the first failure, it checks for a <strong>PASS</strong> every minute (frequency is configurable via <strong>StatusMonitor.CheckInterval</strong>) for
<code>AGENT_HEALTH_FAIL_MINUTES_LIMIT + StatusMonitor.RestartThreshold</code> minutes (5 + 2.5 = 7.5 minutes by default, also configurable) after which it kills the <code>ConnectorAgent.exe</code>
process and attempts a restart of its associated Windows service.</p>
</li>
<li>
<p>The <code>AGENT_HEALTH_FAIL_MINUTES_LIMIT</code> value is read from the <code>C:\ProgramData\Qlik\Gateway\configuration.properties</code> file and the
StatusMonitor settings are in, or can be added to the <code>C:\ProgramData\Qlik\Gateway\Monitor\appsettings.json</code> file.</p>
</li>
</ul>
<h2 class="scroll-m-20" id="configuration"><a href="#configuration" class="not-prose group">Configuration<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<p>The configuration defaults work for most use cases.
A default <code>appsettings.json</code> file is installed along with the tool.
An environment-specific <code>appsettings.json</code> file can be created in the <code>C:\ProgramData\Qlik\Gateway\Monitor</code> folder.
Some features, like automatic log upload, require either creating or merging settings into this file as shown in the next section.
Changing any Monitor settings, other than the <strong>LogUploader</strong> settings, currently require restarting its Windows service.</p>
<h2 class="scroll-m-20" id="loguploader"><a href="#loguploader" class="not-prose group">LogUploader<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ul>
<li>
<p>Automatic log collection and upload to FileCloud
To enable the feature, add a LogUploader subsection under the Tasks section in the <code>C:\ProgramData\Qlik\Gateway\Monitor\appsettings.json</code> file.
Create the file and sections as needed. Example shown below.</p>
</li>
<li>
<p><strong>Schedule</strong> is a standard cron expression.
The example below, <code>0 9 * * *</code>, means collect logs every day at 9 AM. Use 24-hour time representation, ex. 3PM server time would be 15.</p>
</li>
<li>
<p><strong>UploadUrl</strong> is the FileCloud upload share URL that we provide to customers when a SalesForce case is opened. <strong>Please note the following restrictions:</strong></p>
<ul>
<li>Only FileCloud links starting with <code>https://files.qlik.com/url/</code> are supported.</li>
<li>If you set this URL to a manually-created, private shared folder, then it must have <strong>Upload-only</strong> permissions.</li>
<li>Other configurations and upload targets, ex. SharePoint, a local folder or fileshare, are not supported.</li>
</ul>
</li>
<li>
<p><code>Days</code> controls how many days the Monitor will include if it cannot find a recent successful upload in the <code>C:\ProgramData\Qlik\Gateway\Monitor\tasks.db</code> database.
If the <code>Days</code> setting is not included in the <code>appsettings.json</code> file, then its value defaults to <code>2</code>.</p>
<ul>
<li>For example, if the Monitor runs at <code>09:05</code> local-server-time on <code>2024-01-03</code> with the setting <code>"Days": 2</code>, then it would include files anf log events created or modified between <code>2024-01-01 00:00</code> and <code>2024-01-01 09:10</code>.</li>
</ul>
</li>
<li>
<p>Settings can be changed by editing and saving the file with any text editor. Restarting the service is not required.</p>
</li>
<li>
<p>To confirm that settings have been applied, open the latest <code>C:\ProgramData\Qlik\Gateway\Monitor\Logs\monitor_YYYYMMDD.log</code> file and look for an
entry like: <code>[INF] (Qlik.ConnectorAgent.Monitor) Logs will be automically uploaded to https://files.qlik.com/url/-redacted- at 03:00 PM</code></p>
</li>
</ul>
<figure class="not-prose group relative my-6 overflow-hidden rounded-lg border bg-secondary/50 text-sm"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 bg-muted text-secondary-foreground hover:bg-accent hover:text-accent-foreground transition-all group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2]" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="h-full w-full rounded-[inherit]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="nd-codeblock py-4 shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "Tasks"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "LogUploader"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "Enabled"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "UploadUrl"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://files.qlik.com/url/-replace-me-"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> "Schedule"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"5 9 * * *"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div></div></div></figure>
<ul>
<li><strong>LogUploader</strong> settings can be changed at any time via a text editor and those settings will be applied on-the-fly (without restarting its Windows service).</li>
</ul>
<h2 class="scroll-m-20" id="license--disclaimer"><a href="#license--disclaimer" class="not-prose group">License / Disclaimer<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2>
<ul>
<li>This tool is provided "AS IS", without any warranty, under the MIT License - see the <a href="https://github.com/qlik-product-success/connector-agent-monitor-public/blob/main/LICENSE" rel="noreferrer noopener" target="_blank">LICENSE</a> file for details.</li>
<li>It is not an official Qlik product, but issues and proposed enhancements can be reported <a href="https://github.com/qlik-product-success/connector-agent-monitor-public/issues" rel="noreferrer noopener" target="_blank">here</a> for potential consideration.</li>
</ul></div><div class="mt-4 flex flex-row flex-wrap gap-4 border-t py-12"></div></article><div class="sticky top-16 flex h-body w-[220px] flex-col gap-4 divide-y py-10 max-lg:hidden xl:w-[260px]"><div class="relative overflow-hidden pt-4 text-sm first:pt-0"><h3 class="mb-4 inline-flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text size-4"><path d="M17 6.1H3"></path><path d="M21 12.1H3"></path><path d="M15.1 18H3"></path></svg>On this page</h3><div class="flex flex-col gap-1 border-l-2 text-muted-foreground"><div role="none" class="absolute left-0 border-l-2 transition-all"></div><a data-active="false" href="#features" class="overflow-hidden text-ellipsis py-1 transition-colors data-[active=true]:font-medium data-[active=true]:text-primary pl-4">Features</a><a data-active="false" href="#installing" class="overflow-hidden text-ellipsis py-1 transition-colors data-[active=true]:font-medium data-[active=true]:text-primary pl-4">Installing</a><a data-active="false" href="#how-it-works" class="overflow-hidden text-ellipsis py-1 transition-colors data-[active=true]:font-medium data-[active=true]:text-primary pl-4">How It Works</a><a data-active="false" href="#configuration" class="overflow-hidden text-ellipsis py-1 transition-colors data-[active=true]:font-medium data-[active=true]:text-primary pl-4">Configuration</a><a data-active="false" href="#loguploader" class="overflow-hidden text-ellipsis py-1 transition-colors data-[active=true]:font-medium data-[active=true]:text-primary pl-4">LogUploader</a><a data-active="false" href="#license--disclaimer" class="overflow-hidden text-ellipsis py-1 transition-colors data-[active=true]:font-medium data-[active=true]:text-primary pl-4">License / Disclaimer</a></div></div></div></div><script src="/connector-agent-monitor-public/_next/static/chunks/webpack-1be066da5c7847ae.js" crossorigin="" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/connector-agent-monitor-public/_next/static/media/a34f9d1faa5f3315-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/connector-agent-monitor-public/_next/static/css/8acc6226ecf34f54.css\",\"style\",{\"crossOrigin\":\"\"}]\n0:\"$L3\"\n"])</script><script>self.__next_f.push([1,"4:I[7690,[],\"\"]\n7:I[5613,[],\"\"]\n9:I[1778,[],\"\"]\na:I[4685,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"191\",\"static/chunks/191-c1b436a78168aabc.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"727\",\"static/chunks/727-9b0de638ea3eafd9.js\",\"833\",\"static/chunks/833-2ad2799ea8e36dcf.js\",\"998\",\"static/chunks/app/docs/layout-715e00d3ce2e7ed2.js\"],\"TreeContextProvider\"]\nb:I[4685,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f7"])</script><script>self.__next_f.push([1,"0.js\",\"191\",\"static/chunks/191-c1b436a78168aabc.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"727\",\"static/chunks/727-9b0de638ea3eafd9.js\",\"833\",\"static/chunks/833-2ad2799ea8e36dcf.js\",\"998\",\"static/chunks/app/docs/layout-715e00d3ce2e7ed2.js\"],\"Nav\"]\nc:I[1749,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"191\",\"static/chunks/191-c1b436a78168aabc.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"727\",\"static/chunks/727-9b0de638ea3eafd9.js\",\"833\",\"static/ch"])</script><script>self.__next_f.push([1,"unks/833-2ad2799ea8e36dcf.js\",\"998\",\"static/chunks/app/docs/layout-715e00d3ce2e7ed2.js\"],\"Image\"]\nd:I[4685,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"191\",\"static/chunks/191-c1b436a78168aabc.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"727\",\"static/chunks/727-9b0de638ea3eafd9.js\",\"833\",\"static/chunks/833-2ad2799ea8e36dcf.js\",\"998\",\"static/chunks/app/docs/layout-715e00d3ce2e7ed2.js\"],\"Sidebar\"]\nf:I[3630,[\"191\",\"static/chunks/191-c1b436a78168aabc.js\",\"1"])</script><script>self.__next_f.push([1,"85\",\"static/chunks/app/layout-49062f8769fccd8b.js\"],\"RootProvider\"]\n11:I[8955,[],\"\"]\n8:[\"slug\",\"\",\"oc\"]\ne:[]\n12:[]\n"])</script><script>self.__next_f.push([1,"3:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/connector-agent-monitor-public/_next/static/css/8acc6226ecf34f54.css\",\"precedence\":\"next\",\"crossOrigin\":\"\"}]],[\"$\",\"$L4\",null,{\"buildId\":\"3Ob6-O7YswyJ2PWKR-LEF\",\"assetPrefix\":\"/connector-agent-monitor-public\",\"initialCanonicalUrl\":\"/docs\",\"initialTree\":[\"\",{\"children\":[\"docs\",{\"children\":[[\"slug\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"docs\",{\"children\":[[\"slug\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{},[\"$L5\",\"$L6\",null]]},[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"docs\",\"children\",\"$8\",\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"loadingScripts\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}]]},[null,[\"$\",\"$La\",null,{\"tree\":{\"name\":\"Qlik Data Gateway Monitor\",\"children\":[{\"type\":\"page\",\"name\":\"Qlik Data Gateway Monitor\",\"icon\":\"$undefined\",\"url\":\"/docs\"}]},\"children\":[[\"$\",\"$Lb\",null,{\"title\":\"\",\"children\":[\"$\",\"div\",null,{\"className\":\"logo-container inline-flex\",\"children\":[\"$\",\"$Lc\",null,{\"priority\":true,\"src\":{\"src\":\"/connector-agent-monitor-public/_next/static/media/qlik-logo.fe3e5f41.svg\",\"height\":500,\"width\":900,\"blurWidth\":0,\"blurHeight\":0},\"alt\":\"Qlik Logo\"}]}],\"items\":[],\"links\":[],\"enableSidebar\":true,\"collapsibleSidebar\":true}],[\"$\",\"div\",null,{\"className\":\"container flex flex-row gap-6 xl:gap-12\",\"children\":[[\"$\",\"$Ld\",null,{\"items\":\"$e\",\"defaultOpenLevel\":\"$undefined\",\"banner\":\"$undefined\",\"footer\":\"$undefined\"}],[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"docs\",\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"loadingScripts\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}]]}]]}],null]]},[null,[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__className_5f0736\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"loading\":\"$undefined\",\"loadingStyles\":\"$undefined\",\"loadingScripts\":\"$undefined\",\"hasLoading\":false,\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L9\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}]}],null]],\"initialHead\":[false,\"$L10\"],\"globalErrorComponent\":\"$11\",\"missingSlots\":\"$W12\"}]]\n"])</script><script>self.__next_f.push([1,"13:I[4216,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"189\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-a80d6bf5484eb503.js\"],\"Breadcrumb\"]\n14:I[1427,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"191\",\"static/chunks/191-c1b436a78168aabc.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"727\",\"static/chunks/727-9b0de638ea3eafd9.js\",\"833\",\"static/chunks/833-2ad279"])</script><script>self.__next_f.push([1,"9ea8e36dcf.js\",\"998\",\"static/chunks/app/docs/layout-715e00d3ce2e7ed2.js\"],\"Pre\"]\n15:I[4216,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"189\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-a80d6bf5484eb503.js\"],\"Footer\"]\n16:I[4216,[\"379\",\"static/chunks/379-60e3c0b6cb3b64c1.js\",\"647\",\"static/chunks/647-6d3ee22589f29f70.js\",\"213\",\"static/chunks/213-50becccded98b7b7.js\",\"189\",\"static/chunks/app/docs/%5B%5B...slug%5D"])</script><script>self.__next_f.push([1,"%5D/page-a80d6bf5484eb503.js\"],\"TOCItems\"]\n"])</script><script>self.__next_f.push([1,"6:[[\"$\",\"article\",null,{\"className\":\"flex w-0 flex-1 flex-col gap-6 py-10\",\"children\":[[\"$\",\"$L13\",null,{}],[\"$\",\"div\",null,{\"className\":\"prose\",\"children\":[[\"$\",\"h1\",null,{\"children\":\"Qlik Data Gateway Monitor\"}],[[\"$\",\"p\",null,{\"children\":\"The Qlik Data Gateway Monitor, a.k.a. the ConnectorAgent Monitor, is a tool developed and maintained by Qlik Customer First Data Analytics (CF QDA).\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"scroll-m-20\",\"id\":\"features\",\"children\":[\"$\",\"a\",null,{\"href\":\"#features\",\"className\":\"not-prose group\",\"children\":[\"Features\",[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Monitors the \",[\"$\",\"code\",null,{\"children\":\"Qlik Data Gateway - Direct Access\"}],\" Windows service process and restarts it if necessary ✅\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Saves status endpoint responses for diagnostic purposes ✅\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Provides an API for collecting all Direct Access Agent service logs ✅\",\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"DirectAccessAgent\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"connector-agent\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"odbc-connector\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"SAP BW\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"SAP SQL\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"SAP Package / ODP\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Optionally schedules automatic collection and upload of logs to FileCloud ✅\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Transform logs as needed to streamline their ingest into Qlik Sense ⏳\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Being considered for future releases\",\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Save server health metrics\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"scroll-m-20\",\"id\":\"installing\",\"children\":[\"$\",\"a\",null,{\"href\":\"#installing\",\"className\":\"not-prose group\",\"children\":[\"Installing\",[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Latest Installer - \",[\"$\",\"a\",null,{\"href\":\"https://files.qlik.com/url/data_gateway_monitor\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"https://files.qlik.com/url/data_gateway_monitor\"}]]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"The current version is \",[\"$\",\"strong\",null,{\"children\":\"0.5.9\"}],\" which includes optional automatic upload to FileCloud. The Monitor can be installed on an active gateway without causing interruptions. Just download and run the installer. No restarts or manual Windows service starts are required.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"scroll-m-20\",\"id\":\"how-it-works\",\"children\":[\"$\",\"a\",null,{\"href\":\"#how-it-works\",\"className\":\"not-prose group\",\"children\":[\"How It Works\",[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":\"The Monitor sends a request to the ConnectorAgent's status endpoint which triggers the agent to check itself and all of its\\nregistered connectors at the time of request.\"}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"The JSON payload of each response is logged to a \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\Monitor\\\\Logs\\\\connector-agent_status_YYYYMMDD.log\"}],\" file.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"The \",[\"$\",\"strong\",null,{\"children\":\"statusCheckResult\"}],\" in that payload must be \",[\"$\",\"strong\",null,{\"children\":\"PASS\"}],\".\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"The Monitor also waits for the \",[\"$\",\"code\",null,{\"children\":\"ConnectorAgent.exe\"}],\" process to be running and that it returns at least one \",[\"$\",\"strong\",null,{\"children\":\"PASS\"}],\" (after the Monitor starts up)\\nbefore any non-\",[\"$\",\"strong\",null,{\"children\":\"PASS\"}],\" is counted as a failure.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"After the first failure, it checks for a \",[\"$\",\"strong\",null,{\"children\":\"PASS\"}],\" every minute (frequency is configurable via \",[\"$\",\"strong\",null,{\"children\":\"StatusMonitor.CheckInterval\"}],\") for\\n\",[\"$\",\"code\",null,{\"children\":\"AGENT_HEALTH_FAIL_MINUTES_LIMIT + StatusMonitor.RestartThreshold\"}],\" minutes (5 + 2.5 = 7.5 minutes by default, also configurable) after which it kills the \",[\"$\",\"code\",null,{\"children\":\"ConnectorAgent.exe\"}],\"\\nprocess and attempts a restart of its associated Windows service.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"The \",[\"$\",\"code\",null,{\"children\":\"AGENT_HEALTH_FAIL_MINUTES_LIMIT\"}],\" value is read from the \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\configuration.properties\"}],\" file and the\\nStatusMonitor settings are in, or can be added to the \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\Monitor\\\\appsettings.json\"}],\" file.\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"scroll-m-20\",\"id\":\"configuration\",\"children\":[\"$\",\"a\",null,{\"href\":\"#configuration\",\"className\":\"not-prose group\",\"children\":[\"Configuration\",[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]}],\"\\n\",[\"$\",\"p\",null,{\"children\":[\"The configuration defaults work for most use cases.\\nA default \",[\"$\",\"code\",null,{\"children\":\"appsettings.json\"}],\" file is installed along with the tool.\\nAn environment-specific \",[\"$\",\"code\",null,{\"children\":\"appsettings.json\"}],\" file can be created in the \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\Monitor\"}],\" folder.\\nSome features, like automatic log upload, require either creating or merging settings into this file as shown in the next section.\\nChanging any Monitor settings, other than the \",[\"$\",\"strong\",null,{\"children\":\"LogUploader\"}],\" settings, currently require restarting its Windows service.\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"scroll-m-20\",\"id\":\"loguploader\",\"children\":[\"$\",\"a\",null,{\"href\":\"#loguploader\",\"className\":\"not-prose group\",\"children\":[\"LogUploader\",[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"Automatic log collection and upload to FileCloud\\nTo enable the feature, add a LogUploader subsection under the Tasks section in the \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\Monitor\\\\appsettings.json\"}],\" file.\\nCreate the file and sections as needed. Example shown below.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"Schedule\"}],\" is a standard cron expression.\\nThe example below, \",[\"$\",\"code\",null,{\"children\":\"0 9 * * *\"}],\", means collect logs every day at 9 AM. Use 24-hour time representation, ex. 3PM server time would be 15.\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"UploadUrl\"}],\" is the FileCloud upload share URL that we provide to customers when a SalesForce case is opened. \",[\"$\",\"strong\",null,{\"children\":\"Please note the following restrictions:\"}]]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Only FileCloud links starting with \",[\"$\",\"code\",null,{\"children\":\"https://files.qlik.com/url/\"}],\" are supported.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"If you set this URL to a manually-created, private shared folder, then it must have \",[\"$\",\"strong\",null,{\"children\":\"Upload-only\"}],\" permissions.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Other configurations and upload targets, ex. SharePoint, a local folder or fileshare, are not supported.\"}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[[\"$\",\"code\",null,{\"children\":\"Days\"}],\" controls how many days the Monitor will include if it cannot find a recent successful upload in the \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\Monitor\\\\tasks.db\"}],\" database.\\nIf the \",[\"$\",\"code\",null,{\"children\":\"Days\"}],\" setting is not included in the \",[\"$\",\"code\",null,{\"children\":\"appsettings.json\"}],\" file, then its value defaults to \",[\"$\",\"code\",null,{\"children\":\"2\"}],\".\"]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"For example, if the Monitor runs at \",[\"$\",\"code\",null,{\"children\":\"09:05\"}],\" local-server-time on \",[\"$\",\"code\",null,{\"children\":\"2024-01-03\"}],\" with the setting \",[\"$\",\"code\",null,{\"children\":\"\\\"Days\\\": 2\"}],\", then it would include files anf log events created or modified between \",[\"$\",\"code\",null,{\"children\":\"2024-01-01 00:00\"}],\" and \",[\"$\",\"code\",null,{\"children\":\"2024-01-01 09:10\"}],\".\"]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":\"Settings can be changed by editing and saving the file with any text editor. Restarting the service is not required.\"}],\"\\n\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"\\n\",[\"$\",\"p\",null,{\"children\":[\"To confirm that settings have been applied, open the latest \",[\"$\",\"code\",null,{\"children\":\"C:\\\\ProgramData\\\\Qlik\\\\Gateway\\\\Monitor\\\\Logs\\\\monitor_YYYYMMDD.log\"}],\" file and look for an\\nentry like: \",[\"$\",\"code\",null,{\"children\":\"[INF] (Qlik.ConnectorAgent.Monitor) Logs will be automically uploaded to https://files.qlik.com/url/-redacted- at 03:00 PM\"}]]}],\"\\n\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"$L14\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"{\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\"Tasks\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\": {\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\"LogUploader\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\": {\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\"Enabled\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\": \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"true\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\"UploadUrl\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\": \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"\\\"https://files.qlik.com/url/-replace-me-\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\"Schedule\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\": \"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"\\\"5 9 * * *\\\"\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" }\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" }\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"}\"}]}]]}]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[[\"$\",\"strong\",null,{\"children\":\"LogUploader\"}],\" settings can be changed at any time via a text editor and those settings will be applied on-the-fly (without restarting its Windows service).\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"scroll-m-20\",\"id\":\"license--disclaimer\",\"children\":[\"$\",\"a\",null,{\"href\":\"#license--disclaimer\",\"className\":\"not-prose group\",\"children\":[\"License / Disclaimer\",[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link ml-2 inline size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]}],\"\\n\",[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"This tool is provided \\\"AS IS\\\", without any warranty, under the MIT License - see the \",[\"$\",\"a\",null,{\"href\":\"https://github.com/qlik-product-success/connector-agent-monitor-public/blob/main/LICENSE\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"LICENSE\"}],\" file for details.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"It is not an official Qlik product, but issues and proposed enhancements can be reported \",[\"$\",\"a\",null,{\"href\":\"https://github.com/qlik-product-success/connector-agent-monitor-public/issues\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"here\"}],\" for potential consideration.\"]}],\"\\n\"]}]]]}],null,[\"$\",\"$L15\",null,{\"items\":\"$undefined\"}]]}],[\"$\",\"div\",null,{\"className\":\"sticky top-16 flex h-body w-[220px] flex-col gap-4 divide-y py-10 max-lg:hidden xl:w-[260px]\",\"children\":[\"$undefined\",[\"$\",\"$L16\",null,{\"items\":[{\"title\":\"Features\",\"url\":\"#features\",\"depth\":2},{\"title\":\"Installing\",\"url\":\"#installing\",\"depth\":2},{\"title\":\"How It Works\",\"url\":\"#how-it-works\",\"depth\":2},{\"title\":\"Configuration\",\"url\":\"#configuration\",\"depth\":2},{\"title\":\"LogUploader\",\"url\":\"#loguploader\",\"depth\":2},{\"title\":\"License / Disclaimer\",\"url\":\"#license--disclaimer\",\"depth\":2}]}],null]}]]\n"])</script><script>self.__next_f.push([1,"10:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Qlik Data Gateway Monitor\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Documentation for the ConnectorAgent Monitor\"}],[\"$\",\"meta\",\"4\",{\"name\":\"next-size-adjust\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,""])</script></body></html>