경보
답을 기다리는 경보를 읽는 그 자리에서 확인하고, 모든 경보 상태 전이의 영구 시간선 위에 겹쳐 봅니다.
경보 탭은 경보를 다루는 운전 화면입니다. 지금 무엇이 기다리고 있는지와 이미 무슨 일이 있었는지의 기록을 한 화면에 쌓아 둡니다. 이벤트의 첫 탭이고(/events?view=alarms), 페이지가 열릴 때 나오는 탭이며, 상태 표시줄의 경보 표시를 눌렀을 때 닿는 곳입니다. 보려면 이벤트 보기가 필요하고, 여기서 경보에 답하려면 Logic 조작이, 이력을 내보내려면 이력 내보내기와 가져오기가 필요합니다. 경보 자체는 Logic > 경보에서 정의합니다. 이 탭은 경보를 고치지 않습니다.
탭은 카드 둘을 쌓습니다. 위에는 경보 등록부에서 실시간으로 읽는 현재 경보, 아래에는 영구 기록부에서 읽는 이력입니다.
현재 경보
이 카드는 발생해 있거나 아직 확인을 기다리는 경보를 모두 나열합니다. 상태 표시줄이 세는 것과 정확히 같은 무리이므로 둘이 어긋날 수 없습니다. 실시간 등록부에서 곧바로 읽어 오며, 시계가 아니라 등록부 자신의 신호(어느 화면에서든 일어난 발생, 복귀, 확인, 그리고 정의의 저장, 사용 안 함, 삭제)에 맞춰 다시 그립니다.
머리
| 요소 | 무엇을 보여 주는가 |
|---|---|
| 종 | 경보 표시입니다. 무엇인가 발생해 있거나 미확인인 동안에는 울리는 모양으로 바뀌고, 목록에서 가장 나쁜 우선순위의 색을 띱니다. |
| 요약 | "발생 N개 (미확인 N개)"입니다. 지금 참인 조건이 몇 개인지와 아직 답을 기다리는 경보가 몇 개인지를 말합니다. 아무도 확인하기 전에 복귀한 경보도 미확인으로 계속 셉니다. 글자는 가장 나쁜 우선순위의 색을 띱니다. |
| 모두 확인 | 기다리는 경보 전부에 명령 하나로 답합니다. Logic 조작을 가진 역할에게만 그려집니다. 런타임이 정지해 있거나("런타임 정지") 기다리는 것이 없으면("응답을 기다리는 경보가 없습니다.") 도구 설명에 이유를 담고 흐려집니다. 그 밖에는 도구 설명이 "아직 응답을 기다리는 모든 경보를 확인합니다"라고 적습니다. 작업 기록 줄은 "모든 경보를 확인했습니다."라고 답합니다. |
행
행은 우선순위 순서로, 나쁜 것부터(심각, 높음, 보통, 낮음) 놓이고, 같은 우선순위 안에서는 먼저 발생한 것이 앞에 옵니다. 그래서 답이 가장 급한 경보가 맨 위에 가깝습니다. 표는 촘촘하고 높이가 240픽셀을 넘지 않으며, 카드 안에서 스크롤됩니다.
| 열 | 무엇인가 |
|---|---|
| 이름 | 우선순위의 색을 띤 점, 그다음에 경보의 이름입니다. 이름 위에 마우스를 올리면 경보의 메시지가 나옵니다. |
| 주소 | 경보의 뿌리부터 적은 Logic 주소 Alarms.<folders>.<name>이며, 수식과 대시보드가 경보를 가리킬 때 쓰는 그대로입니다. |
| 상태 | 상태와 우선순위입니다. 예를 들어 "발생, 미확인 · 심각"입니다. 상태를 적는 낱말은 경보 상태 기계의 네 가지입니다. 정상, 발생, 미확인, 발생, 확인됨, 그리고 복귀, 미확인(아무도 답하기 전에 조건이 정상으로 돌아간 경우)입니다. |
| 발생 시각 | 지금의 발생이 시작된 날짜와 시각입니다. 조건이 이미 복귀해 행이 확인만 기다리고 있으면 줄표가 놓입니다. |
| 확인 | 아직 미확인인 행에만, 그리고 Logic 조작을 가진 역할에게만 그려집니다. 도구 설명은 "확인"에 이어 경보의 이름을 적습니다. 런타임이 정지해 있으면 "런타임 정지"와 함께 흐려집니다. 작업 기록 줄은 경보의 이름에 이어 "확인했습니다."라고 답합니다. |
확인은 한 번에 하나씩 보냅니다. 앞의 것이 아직 로직 큐에 있는 동안 다시 누르면, 목록이 이미 놓아준 행에 답하는 대신 그 누름을 무시합니다. 이 카드에서 하는 확인은 모두 Logic 페이지가 쓰는 것과 같은, 기록으로 남는 하나의 통로를 지나며, 아래 이력에 신호원 운전자로 적힙니다. 어느 로그인 사용자가 눌렀는지는 적지 않습니다. 기다리는 것이 없는 경보를 확인하면 아무 일도 일어나지 않습니다. 확인을 요구하지 않도록 정의한 경보는 미확인으로 나타나는 일이 없습니다. 곧바로 "발생, 확인됨"으로 올라갔다가 곧바로 정상으로 내려오므로, 발생해 있는 동안 행은 보이되 확인은 달고 있지 않습니다.
발생해 있거나 기다리는 것이 하나도 없으면 카드는 "발생했거나 응답을 기다리는 경보가 없습니다."와 "경보가 발생하면 확인할 수 있도록 여기에 나타납니다."라고 적습니다.
거부
| 상황 | 무슨 일이 일어나는가 |
|---|---|
| 역할에 Logic 조작이 없음 | 확인도 모두 확인도 그려지지 않고, 행은 그대로 읽을 수 있습니다. 그래도 처리기에 눌림이 닿으면 "현재 역할은 Logic을 볼 수는 있지만 조작할 수는 없습니다(값 쓰기, 액션 실행, 경보 확인)."라고 답합니다. |
| 런타임이 정지함 | 두 조작 모두 그려진 채 "런타임 정지"와 함께 흐려집니다. 목록은 등록부가 지니고 있는 상태를 그대로 보여 줍니다. |
| 기다리는 것이 없음 | 모두 확인이 "응답을 기다리는 경보가 없습니다."와 함께 흐려지고, 어느 행에도 확인이 붙지 않습니다. |
이력
현재 경보 아래의 카드는 영구 시간선입니다. 경보 상태 전이마다 한 행이며, 이벤트에 적힌 세 시간선 공통의 행동 규칙을 따릅니다.
검색과 필터
| 조작 | 값 | 하는 일 |
|---|---|---|
| 검색 | 안내 문구 "이름, 메시지, 신호원 검색" | 그때 스냅숏으로 찍힌 경보의 이름, 메시지, 상태 전이의 신호원을 "포함"으로 맞춥니다. |
| 우선순위 | 모든 우선순위(기본값), 심각, 높음, 보통, 낮음 | 그 일이 일어났을 때 그 우선순위였던 경보의 상태 전이만 남깁니다. |
| 새로 고침 | 기록부를 다시 읽습니다. 도구 설명은 "경보 이벤트 새로 고침"입니다. | |
| 내보내기 | CSV로 내보내기…, JSON으로 내보내기… | 지금 나열된 행을 씁니다. 이력 내보내기와 가져오기가 있어야 그려지고, 목록이 비어 있으면 흐려집니다. |
행
| 행의 부분 | 내용 |
|---|---|
| 시각 | 상태 전이의 날짜와 시각입니다. |
| 점 | 우선순위의 색입니다. 심각에는 위험을 나타내는 색, 높음에는 주의를 나타내는 색, 보통에는 눈길을 끄는 색, 낮음에는 중립색입니다. |
| 이름 | 상태 전이가 일어난 때의 경보 이름입니다. |
| 요약 | "이전 → 이후 · 신호원"입니다. 예를 들어 "정상 → 발생, 미확인 · Logic"입니다. |
| 수준 | 우선순위를 적은 낱말입니다. |
무엇이 일으켰든 상태 기계의 모든 상태 전이가 기록됩니다. 신호원이 어디에서 왔는지를 이름으로 말합니다.
| 신호원 | 뜻 |
|---|---|
| Logic | 로직 주기가 조건을 평가했습니다. 발생 지연 뒤의 발생이거나 복귀 지연 뒤의 복귀입니다. |
| 운전자 | 이 탭이나 Logic 페이지에서 누른 확인입니다. |
| MCP | 에이전트가 MCP로 한 확인입니다. |
| 구성 | 정의가 조건, 지연, 확인 요구, 사용 여부가 바뀐 채로 저장되었거나 삭제되어 경보가 정상으로 되돌려졌습니다. |
상세 패널
행을 고르면 우선순위 배지와 이름, 전체 시각, 상태 전이 요약, 그때 경보가 알린 메시지(또는 "기록된 메시지가 없습니다."), 그리고 카드 둘이 든 패널이 열립니다.
| 카드 | 항목 | 내용 |
|---|---|---|
| 이벤트 | 수준 | 우선순위입니다. |
| 이벤트 | 이벤트 ID | 이 상태 전이에 기록부가 매긴 신원입니다. |
| 경보 스냅숏 | 상태 전이 | 상태를 적는 낱말로 쓴 "이전 → 이후"입니다. |
| 경보 스냅숏 | 신호원 | Logic, 운전자, MCP, 구성 가운데 하나입니다. |
| 경보 스냅숏 | 경보 ID | 경보 정의의 변하지 않는 id이며, 이름을 바꿔도 그대로입니다. |
이벤트 복사는 "시각 | Alarm | 우선순위 | 이름 | 이전 → 이후 · 신호원 | 메시지"를 한 줄로 복사하고 "이벤트를 클립보드에 복사했습니다."라고 답합니다.
내보내기의 열
| 열 | CSV | JSON |
|---|---|---|
| 시각 | 첫 열이며 머리글은 Timestamp (UTC-03:00)입니다(스테이션 자신의 시차) |
Timestamp |
| 우선순위 | Priority |
Priority |
| 이름 | Name |
Name |
| 상태 전이 | Transition이며 "From -> To"로 적습니다 |
From과 To, 두 항목입니다 |
| 신호원 | Source |
Source |
| 메시지 | Message |
Message |
| 이벤트 id | EventId |
EventId |
| 경보 id | AlarmId |
AlarmId |
JSON 파일은 { "TimeZone": "...", "Events": [ ... ] } 모양의 봉투입니다. 파일 이름은 alarm-history-<yyyyMMdd-HHmmss>.csv와 .json입니다. CSV는 다른 모든 내보내기와 마찬가지로 스테이션의 소수 구분 기호 설정을 따릅니다. 소수점이 점이면 목록 구분 기호는 ,이고, 소수점이 쉼표이면 ;입니다. =, +, -, @로 시작하는 칸에는 작은따옴표를 앞에 붙여 스프레드시트가 글로 읽게 합니다.
비어 있는 상태와 상태 줄
- "아직 경보 이벤트이(가) 없습니다"와 "런타임이 관찰하는 대로 경보의 상태 전이가 여기에 나타납니다."
- "이 거르기에 맞는 경보 이벤트이(가) 없습니다"와 "우선순위이나 검색어를 조정하면 이 이력을 넓힐 수 있습니다."
- 상태 줄은 "표시 N개 · 1페이지"라고 적고, 검색이나 우선순위나 기간이 걸려 있으면 " · 걸러짐"이 붙습니다. 오른쪽에는 "1개 선택됨"과 "hh:mm:ss에 갱신함"이 놓입니다.
경보 탭이 하지 않는 것
- 경보를 만들지도, 고치지도, 켜지도, 끄지도, 지우지도 않습니다. 그것은 Logic > 경보의 일입니다.
- 경보를 유예하거나 소리를 죽이지 않으며, 소리를 내지도 않습니다.
- 재시작한 뒤에 확인 상태를 되살리지 않습니다. 등록부는 첫 로직 주기에서 모든 상태를 다시 도출하며, 기다리고 있던 확인은 다시 해 주어야 합니다. 이력은 그 앞뒤의 상태 전이를 그대로 지닙니다.
- 확인의 출처(운전자, MCP)는 적지만 로그인한 사용자의 이름은 적지 않습니다.
- 이력을 경보별, 날짜 범위별, 상태별로 거르지 않습니다. 이름으로 검색하거나 그 창을 내보내십시오.
- 이력에는 자기 조작이 없습니다. 여기에서 상태 전이를 지우는 것은 아무것도 없습니다.