--- task: Monitoring processes (intcpumon, intdskmon, inttcpmon, intmon, intspawn) version: R1.05 (first written for R1.03) source: IM 36K10J10-01EN §4.1.6 (5th ed., Feb. 2026); practiced with CI-Eng-Sample 2026-09-30 (R1.03) status: verified on R1.03 (2026-09-30); on R1.05 the setup files `intcpumon.sup`, `intdskmon.sup`, `inttcpmon.sup`, `intmon.sup`, `intspawn.sup` are identical to R1.03 and `integration_start.cmd` keeps the same commented start lines (checked read-only 2026-10-08); the processes were not started on the shared R1.05 test server --- # Monitoring processes INTEGRATION Service processes that write system health into items, or run a command when an item changes. Each is configured in its own setup file in `%TLS_ROOT_PATH%\tls\sup\`. **Changes the system's setup files.** Back each file up first. Follow the user's chosen way of working; in *prepare only* mode, write the lines for the user to add. ## Setup file format Setup files are plain text (CRLF). Lines starting with `!` are comments and editor definitions (`!KEYWORD : …` shows each allowed keyword and its arguments). Active settings are plain `keyword = value` lines, usually added at the end. The Setup File Editor edits the same files. ## Settings | Process | Setup lines | Item value | |---|---|---| | `intcpumon` | `interval = 10`, `logging`, `CPU = "", "", ""` | CPU load %. Empty system name = this machine; empty counter = total CPU | | `intdskmon` | `interval = 10`, `logging`, `DISK = "C:\\", ""` | **Used** % of the disk (61.9 on a disk 61.9 % used), despite the manual saying free space | | `inttcpmon` | `logging`, `TCP = "", ""` | 1 while the host answers a ping | | `intmon` | `process = "", ""` | 1 while the CI Server process runs (e.g. `alm`) | | `intspawn` | `TRIGGER = "", "", VALUE, NONE, 0` | Runs the command with the new value as argument | `intspawn` trigger modes: `VALUE`, `STATUS`, `OPTION`, `TIMER` (value = interval in s), `NODE_DOWN`, `NODE_UP`, `NODE`; filters `NONE`, `EQUAL`, `GREATER`, `LESS` with the value. **Keep the command path short**: a ~130-character path silently did nothing (`knowledge/issues.md` ISS-007). `intmon` also supports `node = , ""`, `channel = , , ""` and `offline` (for multi-node systems, not tested). Tested lines for the sample project: `examples/CI-Eng-Sample/monitoring/*.sup.txt` (items `CI-Eng-Sample.SYSTEM.*`). ## Start and stop These processes do not start by default. - For a test, start by hand (elevated): `Start-Process "$env:TLS_ROOT_PATH\tls\exe\.exe" -ArgumentList "-n " -WindowStyle Hidden`. Stop with `Stop-Process -Name `. They also stop when CI Server stops. - To start them with CI Server, add them to `%TLS_ROOT_PATH%\tls\com\integration_start.cmd` (for `intmon`, uncomment its `start /b /normal …\intmon.exe -n intmon` line; for the others add `start /B /NORMAL %TLS_ROOT_PATH%\tls\exe\ -n ` followed by `start /B /NORMAL /WAIT %TLS_ROOT_PATH%\tls\exe\durwfp -p -t 10`). Not yet tested. - **R1.05 (cleaner):** `integration_start.cmd` ends by calling every `%TLS_ROOT_PATH%\tls\com\?*_integration_start.cmd`, so the same two lines per process can go into an own file such as `cieng_integration_start.cmd` and the installed script stays untouched (survives upgrades). Every service start and stop script in `tls\com` (`_start.cmd` / `_stop.cmd`), `ci_start` / `ci_stop`, `ci_clean_up` and `hacw_activate` / `hacw_deactivate` have the same kind of hook (`?*_