--- task: Monitoring processes (intcpumon, intdskmon, inttcpmon, intmon, intspawn) version: R1.03 source: IM 36K10J10-01EN §4.1.6; practiced with CI-Eng-Sample 2026-09-30 status: verified --- # 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. ## Check Read the target items with `itmval -g -n ` (status 9 once updated). With `logging`, the processes also write to `%TLS_LOG_PATH%\umhlog.log`. ## Verified (CI-Eng-Sample, 2026-09-30) CPU_LOAD 33.4, DISK_C 61.9, PING_LOCALHOST 1, PROC_ALM 1; `intspawn` wrote 0 and 1 to a file when `PUMP1.MODE` changed. Setup files restored afterwards.