ci-server-engineer/.claude/skills/system-management/tasks/monitoring-processes.md
cliu 1c3558c37c Complete phase 1 and build the CI-Eng-Sample project
Add verified system-management tasks (item read/write, quick load
records, history load, monitoring processes, consistency check, tuning
checks), the importable CI-Eng-Sample project with load/remove scripts,
the unlicensed 1-hour shutdown note, and the sample-project re-test
rule. Close ISS-002/003/004 and log ISS-005..007.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:01:33 +10:00

3 KiB

task version source status
Monitoring processes (intcpumon, intdskmon, inttcpmon, intmon, intspawn) R1.03 IM 36K10J10-01EN §4.1.6; practiced with CI-Eng-Sample 2026-09-30 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 = "", "<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.

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, 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.