Skip to content

Commit 21937d3

Browse files
committed
Merge pull request #3 from alexandrov-nikita/master
.
2 parents e98b62d + 32a14f1 commit 21937d3

File tree

2 files changed

+69
-7
lines changed

2 files changed

+69
-7
lines changed

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,63 @@
11
deepsee-sysmon-dashboard
22
==============
33

4-
A small set od DeepSee dashboards for selected system monitor metrics - data collected by %SYSMONMGR utility
4+
A small set od DeepSee dashboards for selected system monitor metrics - data collected by %SYSMONMGR utility.
5+
6+
7+
Installation
8+
------------
9+
10+
11+
1. Download Installer.cls.xml (from cls/kutac/monitor/utils folder in repository or releases page) into Caché manager directory.
12+
2. Run in terminal (any namespace) under user with %All role:
13+
14+
do ##class(%Installer.Installer).InstallFromCommandLine(##class(%File).ManagerDirectory()_"Installer.cls.xml","Namespace={Namespace}")
15+
16+
where:
17+
18+
{Namespace} is a namespace you want to install to. If it does not exist it would be created automatically. If it does exist only kutac package would be overwritten. If {Namespace} is not defined, then SYSMON namespace will be created.
19+
On this step installer would create (if needed) Namespace and corresponding database, download source code from GitHub and compile it, create required web application (named /cls/{Namespace}) if one does not exist (skipping web application creation process if one does exist), and map kutac package to %All namespace (which will be created if it does not exist).
20+
21+
22+
Installation without fs access to server
23+
-----------
24+
1. Download Installer.cls.xml (from MDX2JSON folder in repository or releases page) into Caché Studio (any namespace)
25+
2. Run in terminal (any namespace) under user with %All role:
26+
27+
set pVars("Namespace")="{Namespace}"
28+
do ##class(MDX2JSON.Installer).setup(.pVars)
29+
30+
where:
31+
32+
{Namespace} is a namespace you want to install to. If it does not exist it would be created automatically. If it does exist only kutac package would be overwritten. If {Namespace} is not defined, then SYSMON namespace will be created.
33+
On this step installer would create (if needed) Namespace and corresponding database, download source code from GitHub and compile it, create required web application (named /cls/{Namespace}) if one does not exist (skipping web application creation process if one does exist), and map kutac package to %All namespace (which will be created if it does not exist).
34+
35+
Offline Installation
36+
-----------------
37+
38+
1. Download zip and unpack it.
39+
2. Run in terminal (any namespace) under user with %All role:
40+
41+
do ##class(%Installer.Installer).InstallFromCommandLine("{SourceDir}cls\kutac\monitor\utils\Installer.cls.xml","Namespace={Namespace},SourceDir={SourceDir}")
42+
43+
On this step installer would create (if needed) Namespace and corresponding database, import source code and compile it, create required web application (named /cls/{Namespace}) if one does not exist (skipping web application creation process if one does exist), and map kutac package to %All namespace (which will be created if it does not exist).
44+
45+
Default Settings
46+
----------------
47+
48+
After mapping kutac package to %All namespace, namespaces %SYS and {Namespace} will be defined as startup namespaces for monitor. Then, the installer activates in the namespace %SYS" following monitor classes:
49+
50+
* %Monitor.System.HistoryPerf
51+
* %Monitor.System.Diskspace
52+
* %Monitor.System.License
53+
* %Monitor.System.Processes
54+
* %Monitor.System.HistorySys
55+
* %Monitor.System.Freespace
56+
* %Monitor.System.LockTable
57+
* %Monitor.System.Routines
58+
59+
The next step is starting monitor. Your namespace will appear in the list of accessible namespaces for DeepSee and you can see different dashboards there. However, if you open User Portal in the DeepSee immediately after installing, you will notice that all dashboards will be empty. You need to wait a little time, because the installer runs the task for rebuilding cubes in 1 minute after installing. This task will run every 3 hours for updating information for monitor dashboards.
60+
61+
62+
63+

cls/kutac/monitor/utils/Installer.cls.xml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<Export generator="Cache" version="25" zv="Cache for Windows (x86-32) 2015.1 (Build 429U)" ts="2015-07-23 18:15:29">
2+
<Export generator="Cache" version="25" zv="Cache for Windows (x86-32) 2015.1 (Build 429U)" ts="2015-07-24 13:06:58">
33
<Class name="cls.kutac.monitor.utils.Installer">
4-
<TimeChanged>63756,59616.718811</TimeChanged>
4+
<TimeChanged>63757,47200.76574</TimeChanged>
55
<TimeCreated>63732,50627.865496</TimeCreated>
66

77
<XData name="Install">
@@ -114,7 +114,6 @@ do ##class(kutac.monitor.utils.Installer).setup(.pVars)</Description>
114114
<Implementation><![CDATA[
115115
Set namespace = $Namespace
116116
Set SSLConfig = "GitHub"
117-
118117
Zn "%SYS"
119118
Do:'##class(Security.SSLConfigs).Exists(SSLConfig) ##class(Security.SSLConfigs).Create(SSLConfig)
120119
@@ -227,10 +226,12 @@ do ##class(kutac.monitor.utils.Installer).setup(.pVars)</Description>
227226
write !, "Starting Monitor"
228227
set st3 = ..RunningMonitor()
229228
write !, "Creating Task"
229+
Do tInstaller.PopNS()
230+
Do tInstaller.PushNS(Namespace)
230231
set st4 = ..CreateTask()
232+
Do tInstaller.PopNS()
231233
set st = $$$ADDSC(st4, $$$ADDSC(st1, $$$ADDSC(st2, st3)))
232234
if $$$ISERR(st) Throw ##class(%Installer.Exception).CreateFromStatus(st)
233-
Do tInstaller.PopNS()
234235
quit $$$OK
235236
]]></Implementation>
236237
</Method>
@@ -312,9 +313,11 @@ do ##class(kutac.monitor.utils.Installer).setup(.pVars)</Description>
312313

313314
<Method name="CreateTask">
314315
<ClassMethod>1</ClassMethod>
315-
<FormalSpec>min:%Integer=180</FormalSpec>
316+
<FormalSpec>hrs:%Integer=3</FormalSpec>
316317
<ReturnType>%Status</ReturnType>
317-
<Implementation><![CDATA[ q ##class(%DeepSee.CubeManager.Task.Synch).Schedule(0, 1, 1, min, $p($H,",",2) + 60, 0)
318+
<Implementation><![CDATA[
319+
320+
q ##class(%DeepSee.CubeManager.Task.Synch).Schedule(0, 1, 1, hrs, ($p($H, ",", 2) + 60) # 10800, 0)
318321
]]></Implementation>
319322
</Method>
320323
</Class>

0 commit comments

Comments
 (0)