65 lines
3.7 KiB
Markdown
65 lines
3.7 KiB
Markdown
---
|
||
task: Read-only checks of ALARM Service; generate an informational test event
|
||
version: R1.03
|
||
source: IM 36K10L15-01EN §1, §2.6, §3.4, §4.3, §6; IM 36K10C20-01EN §A7; practiced on the test system 2026-10-01
|
||
status: verified
|
||
---
|
||
|
||
# ALARM Service checks
|
||
|
||
## 1. Processes and setup files (read-only)
|
||
|
||
| Check | How | Test system result |
|
||
|---|---|---|
|
||
| Processes | `tasklist` → `alm.exe`, `alh.exe`, `aldprt.exe`, `alnmgr.exe`, `alnsmtp.exe`, `asbman.exe`; `durwfp -p ALM -t 0` → 0 = attached | All six running (`tls\com\alarm_start.cmd`) |
|
||
| Kernel setup | `%TLS_ROOT_PATH%\tls\sup\alm.sup` (active lines after `!ENDDEFAULT`) | `SYNC_COMM N`, `SYNC_MSG N`, `QUESIZE 25000`, `RECOVER_QUEUE Y`, `ACK_INFO` |
|
||
| Storage setup | `alh.sup` | `CURP`, `CURT`, `CHR`, `QUESIZE 8000`, `MAX-SEARCH 5`, `RECOVER_QUEUE Y`, `DB-JRNL WAL`, `DB-SYNC OFF` |
|
||
| Alarm printer | `aldprt.sup` | `FORMAT prio,2,spac,1,type,6,tdef,18,name,40,text,10`, `EVENTS repeat,info,ackn,alarm,prio,firstup` |
|
||
| Overview events | `wfladi.sup` `EVENTS` | `alarm,repeat,ackn,deact,info,recov,diag,firstup` (no `DIRECT`) |
|
||
| Notification / shelving | `alnmgr.sup`, `alnsmtp.sup`, `alnsms.sup`, `asbman.sup` | Defaults: SMTP `localhost, 25`, SMS `COM1:`, `SYS_WIDE_SHELF N` |
|
||
| History storage group | `dssqld -e` filter `'NAME = "ALH"'` on `HIS_GROUP_DF` | Type Alarm, rollover 1 day, lifetime 52 weeks |
|
||
| Definitions | `dssqld -e <out> -d ALARM_ACK_DF -c` (also `ALARM_AOI_DF`, `ALARM_ASA_DF`, `ALARM_FO_DF`, `ALARM_FU_DF`, `ALARM_PRIORITY_DF`, `EXTERNAL_ALARM_DF`, `STATUS_DF`) | Predefined ack types `AUTOMATIC`, `MANUAL`, `FULLMANUAL` and their `_EAL` variants; everything else is project data |
|
||
|
||
## 2. Alarm kernel debugger `almdbg` (read-only options)
|
||
|
||
Interactive; pipe the answers and end with `-1` (from bash, with a timeout):
|
||
|
||
```
|
||
printf '1\n9\n12\n-1\n' | timeout 20 almdbg
|
||
printf '14\n<Section>.<Tag>\n10\n<ack type number>\n-1\n' | timeout 20 almdbg
|
||
```
|
||
|
||
| Option | Shows |
|
||
|---|---|
|
||
| 1 | Connected destinations, events sent, overflows (test system: `ALH`, `OPXUAS`, `ALNMGR`, `ALDPRT`) |
|
||
| 5 / 7 / 8 / 23 | First-out groups, first-out / continuation items, collections |
|
||
| 9 / 10 | Ack type numbers / matrix of one type (`A` automatic, `M` manual) |
|
||
| 11 | Items with repeat or delay running |
|
||
| 12 | Statistics: start time, item-based / non-item-based / external events received, events sent |
|
||
| 14 | Item alarm parameters: monitoring, diagnostic, ack type number, collection, first-out, repeat, delay |
|
||
|
||
The last `-1` makes DURTIM log `DUR-W-REM_PROC, Process ALMDBG_<pid> exited unexpectedly`
|
||
in `umhlog.log`: harmless. A blank answer takes the default shown in brackets; an empty line at
|
||
the main prompt repeats the previous action — never send blank lines blindly.
|
||
|
||
## 3. Storage debugger `alhdbg`
|
||
|
||
`printf '1\n-1\n' | timeout 10 alhdbg` → storage groups with current unit, cell and start
|
||
time (test system: group 3, unit 80). Option 2 lists the units of one group. Options 3 (force
|
||
connect) and 4 (stop ALH) only with approval.
|
||
|
||
## 4. Generate an informational test event (`almdbg` 16)
|
||
|
||
Changes the alarm history (adds one INFO event; no effect on current alarms). With approval:
|
||
|
||
```
|
||
printf '16\n\n0\n15\n<Section>.<Tag>\n<status text>\n<description>\n-1\n' | timeout 15 almdbg
|
||
```
|
||
|
||
Prompts: timestamp (blank = now), milliseconds, priority (0–15), name, status text,
|
||
description. Check with a filter `'EVENT_TYPE = "INFO"'` on `ALARM_CHRONO`.
|
||
|
||
**Verified:** the event appears with `EVENT_TYPE` INFO, `ITEM_NAME` = the given name, `ALARM_TEXT`
|
||
= status text, `DESCRIPTION` = description, priority 15, ack 1. Other text columns (`INSTALL`,
|
||
`UNIT`, `SUB`, `SOURCE`, `CATEGORY`, `CONDITION`) contain leftovers or unreadable characters
|
||
(ISS-037): use the event only as a test marker.
|