ci-server-engineer/.claude/skills/system-management/tasks/monitoring-processes.md
cliu 83af63ab53 R1.05 re-check batch 2: graphics, history, portal, system-management, items
Full manual diffs (C50, R30, C60, L20, C40, L35, R10, R20, J10, L30, L50,
P30, G10, C10) and read-only checks on the shared R1.05 test server where
the permission system allowed them. Skills and summaries moved to R1.05.
Issues ISS-092..129 (gaps 104-107, 114-115, 130-131 unused); ISS-074
closed (manual and software agree), ISS-091 corrected by ISS-119.
version-differences: unlisted manual changes and installed-only changes.
r105-verification: V5-V9 and new not-tested rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:29:15 +11:00

68 lines
4 KiB
Markdown

---
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 = "", "<item>", ""` | CPU load %. Empty system name = this machine; empty counter = total CPU |
| `intdskmon` | `interval = 10`, `logging`, `DISK = "C:\\", "<item>"` | **Used** % of the disk (61.9 on a disk 61.9 % used), despite the manual saying free space |
| `inttcpmon` | `logging`, `TCP = "<host>", "<item>"` | 1 while the host answers a ping |
| `intmon` | `process = "<process>", "<item>"` | 1 while the CI Server process runs (e.g. `alm`) |
| `intspawn` | `TRIGGER = "<command>", "<item>", 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 = <n>, "<item>"`,
`channel = <line>, <node>, "<item>"` 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\<process>.exe" -ArgumentList "-n <process>" -WindowStyle Hidden`.
Stop with `Stop-Process -Name <process>`. 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\<process> -n <process>` followed by
`start /B /NORMAL /WAIT %TLS_ROOT_PATH%\tls\exe\durwfp -p <process> -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`
(`<service>_start.cmd` / `_stop.cmd`), `ci_start` / `ci_stop`, `ci_clean_up` and
`hacw_activate` / `hacw_deactivate` have the same kind of hook (`?*_<script name>.cmd`). Found in the installed scripts (2026-10-08), not
in the manuals and not yet tested (needs admin and a restart; ISS-121).
## Check
Read the target items with `itmval -g -n <item>` (status 9 once updated). With `logging`, the
processes also write to `%TLS_LOG_PATH%\umhlog.log`.
## Verified (CI-Eng-Sample, R1.03, 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.