알람
목차

- 개요
- 알람의 네 가지 처리 — 확인 · 숨김 · 억제 · 서비스 제외
- 화면 구성 — 5개 하위 메뉴
- 알람 화면 (
/alarm/index) - 알람 검색 화면 (
/alarm/advsearch/index) - 알람 분석 화면 (
/alarm/analysis/index) - 알람 성능 화면 (
/alarm/performance/index) - 고급 알람 화면 (
/alarm/config/index) - 알람 상세 화면
- 활용 시나리오
- 자주 묻는 질문
- 관련 화면
개요
Alarm 그룹은 발생한 알람의 실시간 모니터링·이력 검색·룰 등록·시각화 분석·성능 평가를 묶은 영역입니다. 알람의 확인 · 숨김 · 억제 · 서비스 제외는 ISA-18.2 의 상태 구분을 따릅니다.
| 하위 메뉴 | 내부 URL | 용도 |
|---|---|---|
| 알람 | /alarm/index | 실시간 알람 모니터링 + 검색 기간 목록 + 통계/순위 |
| 알람 검색 | /alarm/advsearch/index | 기간·범위·중요도·활성·확인·내용별 상세 검색 |
| 고급 알람 | /alarm/config/index | 알람 설정 목록, EQL 알람 등록·배치, 잠시 숨기기, 서비스 제외 |
| 알람 분석 | /alarm/analysis/index | 순위·추이·분포·트리맵 등 시각화 분석 |
| 알람 성능 | /alarm/performance/index | 알람 시스템 성능 평가(ISA-18.2 / EEMUA 191) |
상단 헤더의 알람 종 아이콘 옆 빨간 배지로 미확인 알람 카운트가 표시되며, 클릭 시 알람 화면으로 이동합니다. 지금 숨겨져 있는 발생이 있으면 종 드롭다운에 «억제됨 N» 줄이 따로 나옵니다.
알람의 네 가지 처리 — 확인 · 숨김 · 억제 · 서비스 제외
확인은 알람 하나에 하나
확인(acknowledge) 은 «누군가 이 알람을 보고 책임졌다»는 기록입니다. 사람마다 따로 있지 않고 발생 하나에 하나입니다. 먼저 확인한 사람이 확인자로 남고, 그 뒤의 확인은 처음 기록을 바꾸지 못합니다. 한 사람이 확인하면 모든 사람에게 확인됨으로 보입니다.
| 언제 | 무엇이 남나 |
|---|---|
| 콘솔에서 확인 | 확인자 = 로그인 사용자 |
| 현장 앱에서 확인 | 확인자 = 그 직원 |
| 알람 상세를 여는 것 | 아무것도 남지 않습니다 — 확인은 버튼을 누르는 의도적인 행위입니다 |
확인해도 알람은 사라지지 않습니다. 값이 아직 정상으로 돌아오지 않았으면 활성으로 남습니다.
| 역할 | 할 수 있는 일 |
|---|---|
| ADMIN | 알람 상세의 [알람 확인], 알람 · 알람 검색 · 상세의 [알람 모두 확인] |
| API | 알람 상세 수신자 패널의 [확인]. V5 로 개별 · 일괄 · 전체 확인 |
| MANAGER · USER | 알람 상세의 [알람 확인] 으로 알람을 하나씩 확인합니다. [알람 모두 확인] 은 보이지 않습니다 |
[알람 모두 확인] 은 미확인 알람 전체에 적용되며 모든 사용자에게 적용됩니다. 건수를 보여 주고 한 번 더 묻습니다.
숨김 · 억제 · 서비스 제외
이 셋은 켜지는 순간 판정합니다. 해당되면 그 발생은 알람 행이 아니라 숨긴 발생으로 따로 기록되고, 알람 목록 · 알림 · 알람 수 · 알람 성능 집계 어디에도 나오지 않습니다. 이미 켜져 있던 알람은 숨김 · 억제가 시작돼도 그대로 남습니다.
| 처리 | 화면 말 | 누가 | 언제까지 | 안전·환경 알람 |
|---|---|---|---|---|
| 운전원 숨김 | 잠시 숨김 | ADMIN 이 고급 알람에서 | 정한 시간(1분~7일). 끝나면 저절로 해제 | 숨길 수 없습니다 |
| 계획정비 억제 | 설계 억제 | 설비에 계획정비 달력이 걸려 있으면 자동 | 그 달력 구간이 끝날 때까지 | 억제되지 않습니다 |
| 수리 억제 | 설계 억제 | 설비에 진행 중인 고장 수리 정비가 있으면 자동 | 수리가 완료될 때까지 | 억제되지 않습니다 |
| 서비스 제외 | 서비스 제외 | ADMIN 이 고급 알람에서 | 자동 해제 없음. 복귀 점검을 거쳐 복귀 | 뺄 수 있지만 메모가 필수입니다 |
- 한 순간 둘 이상이 겹치면 서비스 제외 > 잠시 숨김 > 설계 억제 순으로 하나만 기록됩니다.
- 설계 억제는 그 태그가 연결된 설비에만 걸립니다. 하위 설비로 번지지 않습니다.
- 숨김 · 억제가 끝날 때 조건이 아직 켜져 있으면, 숨긴 발생은 닫히고(
SUPPRESSION_ENDED) 새 알람이 그 시각에 발생합니다. 알림도 그때 나갑니다. 끝나기 전에 꺼진 발생은 알람 목록에 나타나지 않습니다. - 서비스 제외는 다릅니다. 뺄 때 켜져 있던 알람은 닫힙니다(해제 사유 «서비스 제외»). 문제가 해결되어 닫힌 것이 아닙니다.
중복 알람 억제 는 이 셋과 다릅니다. 같은 유형의 알림(푸시) 만 정한 시간 동안 줄이고, 알람은 그대로 기록됩니다.
수리로 숨겨진 건수는 설비의 정비 탭에 «이 수리로 숨긴 알람 N건» 으로, 잠시 숨김 · 서비스 제외 동안의 발생은 고급 알람 카드의 «숨긴 동안 발생 보기» 로 봅니다. API 로는 GET /api/v5/alarm/suppressed, MCP 로는 list_alarm_suppressions 입니다.
화면 구성 — 5개 하위 메뉴
| 화면 | 주된 사용자 | 한줄 요약 |
|---|---|---|
| 알람 | 운영자 | 실시간 알람 + 통계 + 순위 (메인 모니터링) |
| 알람 검색 | 운영자/분석가 | 범위 + 조건으로 정밀 검색 |
| 고급 알람 | ADMIN | 룰 정의·배치·해제·재배치, 잠시 숨기기, 서비스 제외 |
| 알람 분석 | 분석가 | 7가지 시각화 차트(순위·시간대·비율·추이·트리맵 등) |
| 알람 성능 | 관리자/분석가 | 10분당 부담 · 홍수 · 채터링 · 상주 알람 평가 |
다섯 메뉴 모두 ADMIN · API · USER 에게 보입니다. USER 는 고급 알람의 목록을 볼 수 있지만 쓰기 버튼(추가 · 배치 · 해제 · 재배치 · 수정 · 삭제 · 숨기기 · 서비스 제외)이 나오지 않습니다.
알람 화면 (/alarm/index)
상단 검색 영역
🔔 알람 [기간] [사이트 ▼] [☐ 신호 끊김만] [검색] [알람 검색] [↻]
| 컨트롤 | 설명 |
|---|---|
기간 (alarm_time) | 시작~종료 |
사이트 (site_id) | 사이트명 [설명] |
| 신호 끊김만 | 값이 끊겨 상태를 알 수 없는 알람만 목록에 남깁니다. 통계는 검색 전체 기준 그대로입니다 |
| 검색 | 현재 조건으로 다시 읽습니다 |
| 알람 검색 | 알람 검색 화면으로 이동 |
| 새로고침 | 현재 조건으로 다시 읽습니다 |
타임라인
| 항목 | 설명 |
|---|---|
| 헤더 | 🕐 "타임라인" + 표시 범위 라벨(alarm_timeline_range_label) |
| 빠른 시간 범위 | 6 버튼(10M/30M/1H/6H/12H/ALL) — 다른 화면들과 동일 |
| 알람 모두 확인 | ✓ — ADMIN 에게만 보입니다. 미확인 알람을 모두 확인합니다(확인) |
타임라인 영역 (alarm_timeline) | 시간 축 위에 알람 마커가 색상별로 표시 |
| 데이터 없음 | "데이터 없음" 안내 (alarm_timeline_no_data) |
마커 색상은 우선순위(상태 코드)에 따라 정보(녹색)/경고(주황)/심각(빨강).
좌측 — 최근 목록 테이블
좌측 col-lg-9 영역. 검색 기간의 알람을 최신 순으로 쪽 단위로 보이고, 표 아래 정보 줄에 전체 건수를 적습니다. 쪽을 넘겨 볼 수 있는 것은 최신 10,000건까지입니다.
| 컬럼 | 폭 | 설명 |
|---|---|---|
| 🔔 | 30px | 알람 종 아이콘 |
| 알람 번호 | 100px | 도메인 알람 ID |
| 중요도 | 80px | INFO/WARN/ERROR 색상 뱃지 |
| 알람 시작/종료 시간 | 160px | 두 줄 — 발생/해제 시각 |
| 태그 | 위치 | 380px | 태그 ID + 위치(자산 경로) |
| 메시지 | 자동 | 알람 메시지 본문 |
| 확인 | 60px | 확인됐는지 표시 |
행을 클릭하면 알람 상세 화면으로 이동합니다. 확인은 상세 화면에서 합니다.
우측 — 통계·순위 패널
우측 col-lg-3 영역에 두 개 패널.
통계 패널
| 항목 | ID | 설명 |
|---|---|---|
| 헤드라인 | alarm_count_label | "검색된 알람 : N 건" 큰 글씨 |
| 추이 스파크라인 | alarm_trend_spark_line (150px) | 검색 기간 알람 발생 추이 |
| 우선순위별 도넛 | alarm_priority_count_chart (150px) | 정보/경고/심각 분포 |
| ON/OFF 도넛 | alarm_onoff_count_chart (150px) | 활성(is_on=Y) / 해제(is_on=N) 분포 |
| 알람 분석 (버튼) | — | 우상단 → 알람 분석 화면 이동 |
| 빈 상태 안내 | stats_no_data | "데이터 없음" |
순위 패널 (3 탭)
| 탭 | ID | 표시 |
|---|---|---|
| 태그/알람 유형별 | rank_container | 알람 빈도가 높은 태그·유형 순위 |
| 연결별 | rank_opc_container | OPC/엣지 단위 알람 빈도 순위 |
| 에셋별 | rank_asset_container | 자산(설비) 단위 알람 빈도 순위 |
각 탭에 데이터가 없으면 "데이터 없음" 안내가 표시됩니다.
알람 도움말
화면 하단 안내 박스.
❓ 알람 도움말 실시간으로 수신되는 알람 메시지를 모니터링합니다.
- 목록은 검색 기간의 알람을 최신 순으로 쪽 단위로 보이고, 표 아래 정보 줄에 전체 건수를 적습니다.
- 전체 알람을 기간/태그/우선순위별로 상세 검색하려면 [알람 검색] 버튼을 이용하십시오.
- EQL(이벤트 쿼리 언어) 기반의 복합 조건 알람은 메뉴의 [고급 알람] 화면에서 [알람 설정 추가] 로 추가하십시오.
알람 검색 화면 (/alarm/advsearch/index)
🔔 알람 검색 [알람 기간] [← 알람 이동] [↻] [☰ ▼]
왼쪽에 범위 + 조건 검색 카드, 오른쪽에 통계 차트 + 결과 목록이 있습니다.
페이지 헤더
| 버튼 | 동작 |
|---|---|
알람 기간 (alarm_time) | 일시 범위 |
| ← 알람 이동 | 알람 화면으로 이동 |
| ↻ 새로고침 | 화면 새로고침 |
| ☰ ▼ | 드롭다운 — 다른 알람 화면으로 이동 |
왼쪽 — 검색 카드
범위는 사이트 > 구역 > 라인 > 설비 순으로 좁힙니다. 조건은 아래와 같습니다.
| 필드 | 옵션 |
|---|---|
중요도 (priority) | 전체 / 정보(INFO) / 경고(WARN) / 심각(ERROR) |
활성 (is_on) | 전체 / 활성 / 종료 |
확인 (acknowledged) | 전체 / 확인 / 미확인 |
내용 (description) | 알람 메시지 본문 키워드 |
카드 아래 검색 을 누르면 오른쪽에 결과가 나옵니다.
오른쪽 — 결과
결과 목록 머리의 ✓ 알람 모두 확인 은 ADMIN 에게만 보이며, 검색 결과가 아니라 미확인 알람 전체를 확인합니다(확인).
통계 차트 영역 (목록 위, 결과가 있을 때만 표시)
| 영역 | 내용 |
|---|---|
| 우선순위 도넛 | INFO/WARN/ERROR 점유율 도넛 |
| 시계열 스파크 | 검색 기간 동안의 알람 발생량 스파크라인 |
결과 테이블 (6 컬럼)
| 컬럼 | 폭 | 표시 |
|---|---|---|
| 🔔 | 30px | 종 아이콘 |
| 알람 번호 | 100px | 알람 일련번호 — 클릭 시 알람 상세 화면 이동 |
| 중요도 | 80px | 정보/경고/심각 색상 뱃지 |
| 알람 일자 | 160px | 발생 시각 |
| 태그 명 | 200px | 발생 태그 |
| 내용 | 자동 | 알람 메시지 본문 |
알람 분석 화면 (/alarm/analysis/index)
알람 데이터를 다양한 시각화 차트로 분석하는 화면입니다.

| 번호 | 자리 | 하는 일 |
|---|---|---|
| ① | 좌측 범위 | 사이트 · 구역 · 라인 · 설비 를 고릅니다(«모든 …» 이면 그 아래 전체) |
| ② | 좌측 조건 | 시각화 셀렉터 — 결과에 그릴 차트 하나를 고릅니다 |
| ③ | 좌측 아래 | 분석 — 누를 때까지 결과는 비어 있습니다 |
| ④ | 화면 머리 | 알람 기간 — 기본값이 한 달입니다 |
| ⑤ | 본문 | 결과 — 고른 차트가 그려집니다 |
위 그림이 그 상태입니다 — 「알람 기간과 시각화를 고른 뒤 분석을 실행하세요」.
시각화 7종 — 셀렉터에서 고를 수 있는 것
⑤ 시각화 셀렉터의 선택지는 일곱 입니다. 아래 이름이 화면에 그대로 나옵니다.
| 화면 이름 | 무엇을 보나 |
|---|---|
| 태그별 빈도 순위 | 알람이 많이 난 태그 순위 |
| 시간대별 분포 | 24시간 시간대별 발생 빈도 |
| 우선순위별 비율 | 정보 / 경고 / 심각 비율 |
| 일별 트렌드 | 날짜별 발생 추이 |
| 일별 비율 캘린더 | 달력 칸마다 그날의 우선순위 비율 |
| 요일별 시간 패턴 | 요일 × 시간대 교차 — 반복되는 시간대를 찾을 때 |
| 설비 트리맵 | 자산 계층의 면적별 알람 분포 |
matrix · eventdrops · heatmap 세 화면은 서버 경로와 그리는 코드가 남아 있고
분기 코드(analysis-index.js)도 이 셋을 처리하지만, 시각화 셀렉터의 선택지에는
없습니다. 즉 지금 화면에서는 고를 수 없습니다 — 예전 문서에 실려 있던 「요일·시간대
히트맵」 · 「요일·시간 매트릭스」 · 「EventDrops」 가 그것입니다.
(히트맵 경로에는 최대 30개 태그 제한이 코드에 남아 있습니다 — 「캘린더 히트맵은 최대 30개 태그까지 선택할 수 있습니다」.)
함께 쓰는 필터
| 컨트롤 | 선택지 |
|---|---|
| 우선순위 | 전체 · 정보 · 경고 · 심각 |
| 분기 | 시간별 · 일별 · 월별 · 년도별 — 차트의 시간 묶음 단위 |
사용 절차
- 좌측 트리에서 분석할 태그를 체크합니다 — 하나도 고르지 않으면 「분석할 태그를 선택하세요」 로 막힙니다
- 알람 기간과 시각화·우선순위·분기를 정합니다
- 분석을 누릅니다 (결과는 그 전까지 비어 있습니다)
- 패턴이 보이는 시각·자산을 알람 또는 알람 검색 으로 좁혀 상세 조회
- 임계값 조정이 필요하면 밴드 알람은 태그의 알람 설정에서, EQL 알람은 고급 알람 화면에서 수정
알람 분석은 운영의 사후 패턴 분석에 적합합니다. 실시간 모니터링은 알람 화면을 사용하세요.
알람 성능 화면 (/alarm/performance/index)
알람 시스템이 운전원이 감당할 수 있는 수준인지를 ISA-18.2 / EEMUA 191 의 지표로 평가하는 화면입니다. 왼쪽 카드에서 사이트 · 구역 · 라인 을 고르고 조회 를 누릅니다(설비 단위는 없습니다). 기간은 머리의 최근 7일 · 최근 15일 · 최근 31일 입니다.

| 번호 | 자리 | 하는 일 |
|---|---|---|
| ① | 좌측 | 조회 조건 — 사이트 · 구역 · 라인, 조회 |
| ② | 화면 머리 | 기간 — 최근 7일 · 15일 · 31일 |
| ③ | 본문 위 | 지표 타일 8개 |
| ④ | 그 아래 | 알람 수 추이(10분 막대, EEMUA 기준 점선) |
| ⑤ | 아래 | 우선순위 분포 · 자주 울린 알람 상위 10 · 채터링 알람 · 오래 켜진 알람 |
지표는 운전원에게 실제로 알린 발생만 셉니다. 잠시 숨김 · 설계 억제 · 서비스 제외 중에 열린 발생은 빠지고 숨김·억제 중 타일에 따로 나옵니다.
지표 타일 8개
| 타일 | 뜻 |
|---|---|
| 평균 알람 / 10분 | 기간의 알린 발생 수 ÷ 기간의 10분 창 수(알람이 없던 창도 셉니다). 아래 띠로 평가합니다 |
| 최대 10분 알람 수 | 가장 바쁜 10분 창의 발생 수와 그 시작 시각 |
| 알람 홍수 시간 비율 | 10건을 넘은 창의 비율. 정확히 10건은 홍수가 아닙니다 |
| 상위 10 알람 비중 | 가장 많이 울린 알람 설정 10개가 전체에서 차지하는 비율 |
| 채터링 알람 설정 | 같은 설정이 1분 안에 세 번째 이상 켜진 설정 수와 그 발생 수 |
| 오래 켜진 알람 | 지금 24시간을 넘게 켜져 있는 알람 수 |
| 숨김·억제 중 | 지금의 숨김 · 억제 · 서비스 제외 수 |
| 알린 알람 수 | 기간의 발생 수(숨김·억제 중 발생 제외) |
| 평균 알람 / 10분 | 평가 |
|---|---|
| 1 이하 | 매우 좋음 |
| 2 이하 | 관리 가능 |
| 10 이하 | 과부하 |
| 10 초과 | 홍수 |
차트와 표
| 카드 | 내용 |
|---|---|
| 알람 수 추이 | 10분 막대(기간이 7일을 넘으면 1시간 막대 — 높이는 그 시간의 10분당 평균). 점선 1 · 2 · 10 이 위 기준이고 빨간 막대가 홍수입니다. 막대를 누르면 그 시간의 알람 검색으로 갑니다 |
| 우선순위 분포 | 실제 비율과 ISA-18.2 권장(높음 5 · 중간 15 · 낮음 80 %) 비교. 심각 · 경고 · 정보가 높음 · 중간 · 낮음에 대응합니다 |
| 자주 울린 알람 상위 10 | 알람 설정 · 태그 · 우선순위 · 발생 · 비율 |
| 채터링 알람 | 많은 순 최대 50행 |
| 오래 켜진 알람 | 오래된 순 최대 100행 |
알람이 없는 기간이면 숫자는 0 이고 비율은 - 이며, 차트에 «이 기간에 알람이 없습니다» 가 나옵니다.
같은 값을 GET /api/v5/alarm/performance?scope_type=SITE|AREA|LINE&scope_id=…&days=1..31(또는 from · to, 최대 31일)과 MCP get_alarm_performance 로도 읽습니다. 화면 · API · AI 가 한 계산을 씁니다.
고급 알람 화면 (/alarm/config/index)
🔔 고급 알람 [← 알람 이동] [↻] [▼] [➕ 알람 설정 추가]
알람 설정을 관리하는 화면입니다. EQL 룰을 정의해 임의 조건의 알람을 발행하고, 설정별로 잠시 숨기거나 서비스에서 뺍니다. (CEP의 트리거 와 비슷하지만 알람 발행 전용.)
밴드 알람과 EQL 알람
| 밴드 알람 | EQL 알람 | |
|---|---|---|
| 태그당 개수 | 하나 | 여럿 |
| 만드는 곳 | 태그의 알람 설정 — 태그를 저장하면 플랫폼이 만듭니다 | 이 화면의 알람 설정 추가 |
| 이름 | 자동 — <태그 이름> 밴드 알람 (설치 언어로) | 직접 짓습니다 |
| 고치는 곳 | 태그의 알람 설정. 행의 수정이 태그 화면으로 갑니다 | 알람 설정 양식 |
밴드 알람을 EQL 알람처럼 만들거나 고치면 «밴드 알람은 태그의 알람 설정에서 바꿉니다.» 로 거절됩니다(HTTP 409, alarm.band.edit_on_tag). 태그당 밴드 설정이 하나뿐이라는 것은 DB 유일 제약이 지킵니다.
알람 설정 ID
새 알람 설정 ID 는 서버가 발급합니다 — ALARM_CONFIG_ + 6자리 입니다(예: ALARM_CONFIG_000376). 밴드 알람도 같습니다.
- 예전 꼴(
ALARM_CONFIG_00375,ALARM_CONFIG_TAG_…)은 그대로 유효하지만 수정만 됩니다. - API 로 새로 만들 때는
GET /api/v5/alarm/config/new-id로 ID 를 받아 씁니다. 직접 지은 ID 는 HTTP 422alarm.invalid.alarm_config_id로 거절됩니다. - 태그 ID 로 알람 설정 ID 를 지어 찾지 마십시오. 태그의 밴드 설정은
GET /api/v5/alarm/config/list/by-tag?tag_id=…에서alarm_config_priority가BAND인 것을 찾습니다.
목록 테이블
ADMIN 의 목록에는 모든 알람 설정이 나옵니다. 그래서 남이 만든 알람과 태그 저장으로 생긴 밴드 알람도 여기서 숨기거나 서비스에서 뺄 수 있습니다. 다른 역할의 목록에는 자신이 등록한 알람 설정만 나옵니다. 한 설비에 걸린 알람 설정 전부는 에셋 트리의 알람 탭에서 봅니다.
목록 패널 헤더 우측에 선택된 알람 설정 배치 / 해제 / 모두 재배치 3 버튼이 있습니다.
| 컬럼 | 폭 | 설명 |
|---|---|---|
| 선택 | 50px | 일괄 배치/해제용 체크박스 |
| 상태 | 80px | 배치/해제 뱃지 |
| 알람설정 ID | 150px | 서버가 발급한 ID — 알람 설정 ID |
| 알람 설정 명 | 설명 | 200px | 운영자 메타 |
| 중요도 | 80px | 발행될 알람의 우선순위 (INFO/WARN/ERROR). 밴드 알람은 BAND — 실제 우선순위는 울린 밴드가 정합니다 |
| 메시지 | 자동 | 알람 발행 시 메시지 본문 |
| 전체 실행 건수 | 70px | 누적 매칭 건수 |
| 마지막 발생 | 110px | 가장 최근 발생 시각 |
| 에러 | 70px | 누적 에러 카운트 |
| 등록일 | 110px | |
| 마지막 수정일 | 110px | |
| 액션 | 110px | 눈 아이콘(상세) + ⋯ 메뉴: 수정 · 잠시 숨기기 · 서비스 제외 · 삭제 |
행의 이름이나 ID 를 누르면 알람 설정 상세(/alarm/config/view/{id})로 갑니다 — 최근 7일 발생, 변경 이력, 해결 가이드를 봅니다. 변경 이력에서 태그의 밴드 설정은 태그 기준으로 모입니다.
잠시 숨기기
ADMIN 이 목록 행의 ⋯ 메뉴 잠시 숨기기 로 정한 시간 동안 그 설정의 새 발생을 숨깁니다.
| 입력 | 값 |
|---|---|
| 숨길 시간 | 30분 · 2시간 · 8시간 · 직접 입력(1~10080분, 최대 7일) |
| 이유 | 정비 중 · 센서 고장 · 기타 |
| 메모 | 선택. 500자 이하 |
숨긴 설정은 목록 아래 잠시 숨긴 알람 카드에 나옵니다 — 이유 · 메모 · 숨긴 사람 · 숨긴 시각 · 남은 시간 · 숨긴 동안 발생. 시간이 지나면 저절로 다시 보이고, 먼저 풀려면 그 행의 다시 보이기 를 누릅니다. 숨긴 동안의 기록은 그대로 남습니다.
안전·환경 알람은 «안전·환경 알람은 숨길 수 없습니다.» 로 거절됩니다.
서비스 제외와 복귀
센서 탈거 · 장비 철거 · 교정처럼 알람 자체가 의미 없어지는 기간에 ADMIN 이 목록 행의 ⋯ 메뉴 서비스 제외 로 뺍니다.
| 입력 | 값 |
|---|---|
| 이유 | 센서 탈거 · 장비 철거 · 교정 · 개조 · 기타 |
| 메모 | 이유가 «기타» 이거나 안전·환경 알람이면 필수. 500자 이하 |
| 예정 복귀일 | 비워 두면 정하지 않음. 날짜가 지나도 저절로 복귀하지 않습니다 |
뺀 설정은 서비스 제외 알람 카드에 나옵니다 — 이유 · 메모 · 승인자 · 시작 · 예정 복귀 · 경과 일수 · 제외 동안 발생.
복귀는 그 행의 복귀 에서 합니다. 복귀 점검을 통과해야 합니다 — 지금 값이 정상 범위이고, 제외 뒤 10분 안에 들어온 값이 있어야 합니다.
| 결과 | 어떻게 되나 |
|---|---|
| 통과 | 복귀합니다 |
| 정상 범위가 아니다 | «지금 값 … — 아직 정상 범위가 아니라 복귀하지 않았습니다.» 서비스 제외가 유지되고 진단이 켜집니다 |
| 값이 없다 · 오래됐다 | «제외 뒤 들어온 값이 없거나 마지막 값이 10분보다 오래돼 복귀하지 않았습니다.» 서비스 제외가 유지되고 진단이 켜집니다 |
| 그래도 복귀 | 사유를 적으면 점검을 넘겨 복귀합니다. 켜져 있는 조건은 바로 알람이 됩니다 |
| 진단 | 언제 |
|---|---|
diagnostic.alarm.out_of_service_long | 서비스 제외가 30일을 넘었거나 예정 복귀일을 지났습니다 |
diagnostic.alarm.return_check_failed | 복귀 점검이 통과하지 못했습니다 |
알람 설정 양식
상단 알람 설정 추가 또는 행의 액션으로 양식 화면(/alarm/config/form)으로 이동합니다.

| 번호 | 자리 | 하는 일 |
|---|---|---|
| ① | 오른쪽 위 | [EQL 실행] — 저장하지 않고 ③ 의 문장을 저장과 같은 규칙으로 검사합니다 — 아래 |
| ② | 기본 정보 | 알람 명 · 설명 · 중요도(정보 · 경고 · 심각) — 모두 필수 |
| ③ | 컨디션 (EQL) → EQL | 알람 조건 문장. 위 도움말 «EQL 의 조건에 해당하는 결과값이 존재할 때 알람이 발생합니다.» 의 예처럼 band 칸을 내고 대상 태그 하나만 읽어야 합니다. 거부되면 원인이 이 편집기 아래 상자에 나옵니다 |
| ④ | 메시지 | 알람 메시지. 치환 토큰 {tag_id} · {tag_name} · {timestamp} · {value} |
| ⑤ | 대상 태그 | 필수 — «설정된 알람과 연관될 태그명을 선택하십시오.» |
| ⑥ | 중복 알람 억제 → 억제 시간 (분) | «설정한 시간 동안 동일 유형의 알람 푸시를 억제합니다.» |
| ⑦ | 감지 설정 (ISA-18.2) → 켜짐 지연 | «조건이 이 시간(ms) 동안 이어져야 알람이 울립니다. 0 이면 끄고, 최대 3,600,000 ms(1시간)입니다.» |
| ⑧ | 오른쪽 아래 | [저장] |
| 입력 | path | 설명 |
|---|---|---|
| 알람 설정 ID | alarm_config_id | 읽기 전용 (서버 발급) |
| 알람 설정 명 | alarm_config_name | 사람이 식별 |
| 설명 | description | 룰 용도 메모 |
| EQL | epl | 알람 매칭 조건. band 칸과 'NORMAL' 을 내고 대상 태그 하나만 읽습니다 (예: SELECT timestamp, tag_id, tag_name, value, quality, error_code, CASE WHEN to_double(value) > 80 THEN 'HIGH' ELSE 'NORMAL' END AS band FROM Point(tag_id = 'TAG_…').win:length(1)) |
| 대상 태그 | tag_id | 필수. 이 알람이 걸리는 태그 하나 — 화면 도움말 «설정된 알람과 연관될 태그명을 선택하십시오.» |
| 중요도 | alarm_config_priority | INFO / WARN / ERROR |
| 메시지 | message | 치환 토큰 {tag_id} · {tag_name} · {timestamp} · {value} |
| 억제 시간 (분) | duplicate_check_time | 이 시간 동안 같은 유형의 알람 푸시를 억제합니다 |
저장하면 곧바로 엔진에 배치됩니다. 엔진이 문장을 거절하면 저장이 되돌려집니다(«엔진이 문장을 거절해 변경을 되돌렸습니다.»). 멈추려면 목록에서 체크해 해제 하고, 다시 켜려면 선택된 알람 설정 배치 를 누릅니다.
[EQL 실행] — 저장과 같은 규칙으로 검사한다
① [EQL 실행] 은 저장할 때와 같은 규칙으로 문장을 봅니다. 결과는 EQL 편집기 바로 아래 안내 상자에 나옵니다. 저장(⑧)이 거부될 때도 같은 자리입니다. 이 거부는 토스트로 따로 뜨지 않습니다.
| 경우 | 상자 | 내용 |
|---|---|---|
| 태그를 둘 이상 읽는다 · 태그 조건이 없다 · 다른 태그와 조인한다 | 주황 «이 EQL 은 규칙에 맞지 않습니다» | «EQL 알람은 태그 하나 - 알람의 태그만 읽습니다. …» |
band 칸이 없다 | 주황, 같은 제목 | «EQL 문장은 band 칸을 내야 합니다(... END AS band).» |
band 가 'NORMAL' 을 낼 수 없다 | 주황, 같은 제목 | «EQL 문장이 band 'NORMAL' 을 낼 수 있어야 합니다. 그렇지 않으면 알람이 꺼지지 않습니다.» |
| 컴파일되지 않는다 | 빨강 «EQL 을 읽을 수 없습니다» | 위치 칩 «N줄 M칸»(누르면 커서가 그 자리로), 원인 문장, 고치는 힌트, 접힌 엔진 원문 보기. 편집기 안에도 그 자리에 표시가 생깁니다 |
| 통과 | 초록 «검사 통과» |
거부는 모두 HTTP 422 이고, 문장을 고치면 표시가 지워집니다. CEP 가 떠 있지 않으면 문장의 잘못이 아니므로 상자가 아니라 토스트로 «CEP 엔진에 연결할 수 없어 EQL 을 검증하지 못했습니다.» 가 뜹니다.
저장된 알람이 서버 기동이나 재배치 때 엔진에 올라가지 못하면 그 알람마다 진단 «태그 알람 배치 실패»
(diagnostic.tag.alarm_deploy_failed)가 켜집니다. 진단 상세의 «고칠 화면 열기» 가 이 양식을 열고,
고쳐 저장해 배치되면 진단이 저절로 풀립니다 — 가상 태그 운영.
EQL 알람은 플로우 의
flow_create_alarm_config노드로도 자동 생성할 수 있습니다.
알람 상세 화면 (/alarm/view/{alarm_seq})
알람·알람 검색 화면에서 한 알람을 클릭하면 그 알람의 상세 화면으로 진입합니다. 한 알람과 그 주변 컨텍스트(태그·데이터·다른 알람·통계·수신자)를 한 화면에 모은 분석 뷰입니다.
상단 — 식별 헤더
🔔 알람 | {alarm_seq} [ 사이트 > 구역 > 라인 > 설비 > 태그명 ]
| 영역 | 동작 |
|---|---|
| ← 이전 화면 | back() — 이전 알람 목록 화면으로 |
| 새로고침 | refresh() — 화면 다시 불러오기 |
패널 1 — 알람 정보 (panel 알람 정보)
해당 알람의 핵심 정보 한 줄 표. 패널 머리에 알람 확인 버튼이 있고(모든 역할), ADMIN 에게는 알람 모두 확인 도 보입니다.
알람 확인 은 이 알람 하나를 확인합니다. 이미 확인된 알람이면 버튼이 꺼지고, 버튼에 마우스를 올리면 누가 언제 확인했는지 나옵니다. 화면을 여는 것만으로는 확인되지 않습니다 — 확인.
| 컬럼 | 폭 | 설명 |
|---|---|---|
| 중요도 | 200px | INFO/WARN/ERROR 색상 뱃지 |
| 활성 | 60px | 활성 여부 |
| 알람 시작 시간 | 120px | 발생 시각 |
| 알람 종료 시간 | 120px | 해제 시각 (활성 중이면 -) |
| 태그 | 400px | 🏷 태그명 — 클릭 시 태그 상세 로 이동 |
| 메시지 | 자동 | 알람 본문 |
| 확인 | 100px | 확인됐는지 표시 |
데이터 상황 fieldset
알람 발생 시점 ±조회 기간의 그 태그 데이터를 표 형태로 보여 줍니다. 헤더 우측에 트렌드 이동(goStorage()) 버튼.
| 컬럼 | 폭 | 설명 |
|---|---|---|
| 타임스탬프 | 180px | 측정 시각 |
| 값 | 200px | 그 시각의 태그 값 |
| 단위 | 50px | 측정 단위 |
| 데이터 타입 | 100px | INT/FLOAT/BOOL 등 |
| 품질 | 100px | 데이터 품질 코드 |
| 에러코드 | 100px | 그 시각의 에러 (있을 때) |
| 지연[MS] | 100px | 인입 지연 |
| 속성 | 자동 | 추가 속성 |
알람 발생 시각 직전·직후의 태그 값을 한눈에 보고, 트렌드 이동 으로 더 긴 시계열을 분석합니다.
알람 목록 fieldset
같은 태그의 같은 기간(${date_from} ~ ${date_to}) 다른 알람 이력. 우측 알람 이동(goAlarm()) 으로 알람 메뉴로 돌아갑니다.
| 컬럼 | 폭 | 설명 |
|---|---|---|
| 🔔 | 30px | 알람 종 아이콘 |
| 알람 번호 | 100px | 알람 ID |
| 중요도 | 80px | INFO/WARN/ERROR |
| 알람 일자 | 160px | 발생 시각 |
| 내용 | 자동 | 알람 메시지 |
| 확인 | 60px | 확인됐는지 표시 |
| 확인 시각 | 160px | 확인한 시각 |
이 표로 같은 태그가 같은 기간에 다른 종류의 알람이 발생했는지 한눈에 파악할 수 있습니다.
알람 트렌드 패널
기간 중 알람 발생 추이를 시간 막대로 시각화. 발생 빈도와 패턴(특정 시간대 집중 등)을 보여 줍니다.
알람 통계 패널
알람 발생 통계 요약. 우선순위별·ON/OFF 별 카운트가 도넛/막대로 표시됩니다.
알람 수신자 패널
확인 상태와 보낸 곳을 함께 보여 줍니다.
- 맨 위 줄 — 확인됨이면 확인자(사용자 또는 직원)와 시각, 미확인이면 [확인] 버튼입니다(확인 권한이 있을 때만 보입니다).
- 그 아래 표 — 실제로 보낸 기록입니다.
| 컬럼 | 설명 |
|---|---|
| 받는 사람 | 사용자 또는 직원 |
| 채널 | 콘솔 · 메일 · 문자 · 앱 |
| 보낸 시각 | 보낸 시각 |
아무에게도 보내지 않았으면 «아무에게도 보내지 않았습니다 — 중복 창 안이었거나 수신자가 없었습니다.» 가 나옵니다.
태그 정보 패널
알람이 발생한 태그의 자세한 정보 — 설정·알람밴드·검증·OPC 매핑·메타. 자세한 항목은 태그 상세 참고.
사용 패턴
| 분석 흐름 | 화면 흐름 |
|---|---|
| 알람의 인과 분석 | 알람 정보 → 데이터 상황 표 (직전 값 추이) → 트렌드 이동 (전후 30분 시계열) |
| 반복 알람 추적 | 알람 목록 fieldset → 같은 태그 다른 알람 → 패턴 식별 |
| 임계값 검토 | 태그 정보 패널 → 알람밴드 설정 확인 → 예측 분석 으로 임계값 재계산 |
| 수신자 검증 | 알람 수신자 패널 → 누가 받았고 누가 확인했는지 |
활용 시나리오
| 시나리오 | 화면 | 절차 |
|---|---|---|
| 현재 발생 중인 알람 확인 | 알람 | 페이지 진입 → 우상단 종 배지 + 좌측 목록의 ON 상태 알람 |
| 어제 발생한 ERROR 분석 | 알람 검색 | 기간 = 어제 / 중요도 = 심각 / 사이트 선택 |
| 요일·시간대 알람 패턴 | 알람 분석 | 요일별 시간 패턴 에서 반복되는 요일/시간 식별 |
| 반복 알람 임계값 조정 | 태그 / 고급 알람 | 밴드 알람은 태그의 알람 설정, EQL 알람은 룰 수정 → 재배치 |
| 알람 부담 평가 | 알람 성능 | 평균 알람 / 10분 띠 → 상위 10 → 채터링 설정 정리 |
| 센서 교정 동안 알람 빼기 | 고급 알람 | ⋯ → 서비스 제외(교정) → 끝나면 복귀 |
| 장비별 알람 폭주 식별 | 알람 분석 → 설비 트리맵 | 면적이 큰 자산 → 그 자산만 알람 검색 |
| 알람 자동 알림 | 플로우 | flow_on_alarm 트리거 → 이메일/SMS 발송 |
자주 묻는 질문
Q. 알람 화면의 목록은 몇 건까지 보나요? A. 검색 기간의 알람을 쪽 단위로 보며, 쪽을 넘겨 볼 수 있는 것은 최신 10,000건까지입니다. 그보다 오래된 것은 기간을 좁히거나 알람 검색 을 쓰세요.
Q. "알람 모두 확인" 을 누르면 알람이 사라지나요? A. 사라지지 않습니다. 확인 상태로만 바뀌고, 활성 알람은 그대로 유지됩니다. 다만 모든 사용자에게 적용됩니다 — 확인은 사람별이 아니라 알람 하나에 하나입니다.
Q. 일반 사용자(USER)인데 [알람 모두 확인] 버튼이 없습니다. A. 모두 확인은 ADMIN 전용입니다. USER 는 알람 상세의 [알람 확인] 으로 하나씩 확인합니다. 현장 직원은 현장 앱에서도 확인할 수 있습니다.
Q. 수리 중인 설비의 알람이 안 울립니다. A. 설비에 진행 중인 고장 수리 정비가 있으면 그 설비 태그에서 새로 켜지는 알람은 억제됩니다(안전·환경 알람 제외). 설비 정비 탭의 «이 수리로 숨긴 알람 N건» 으로 확인합니다. 수리가 완료될 때 아직 켜져 있으면 그 시각에 새 알람이 발생합니다.
Q. 알람이 닫혔는데 해제 사유가 «서비스 제외» 입니다. A. 관리자가 그 알람 설정을 서비스에서 빼면서 닫힌 것입니다. 원인이 해결됐다는 뜻이 아닙니다.
Q. 알람 발생 시 자동으로 이메일/SMS 를 보내고 싶어요.
A. 플로우 화면에서 flow_on_alarm 트리거 + flow_send_email / flow_send_sms 노드를 결선하시면 자동화할 수 있습니다.
Q. EQL 알람을 등록했는데 발행되지 않습니다. A. 목록의 상태 가 배치인지 보세요. 해제 상태면 그 알람 설정을 체크 후 선택된 알람 설정 배치 를 누릅니다. 배치돼 있으면 ⋯ 메뉴로 숨겼는지(잠시 숨긴 알람 · 서비스 제외 알람 카드), 설비가 계획정비 · 수리 중인지 확인합니다.
Q. 알람 분석의 트리맵에서 면적은 무엇을 의미하나요? A. 그 자산/태그에서 발생한 알람의 누적 빈도입니다. 면적이 클수록 알람이 많이 발생한 자산입니다.
Q. 알람의 우선순위 색상이 화면마다 살짝 다릅니다. A. 영역에 따라 미세 톤이 다를 뿐 의미는 동일합니다. 정확한 색상 매핑은 상태 코드 정의 를 참고하세요.
Q. 알람 메시지 템플릿에서 어떤 변수를 쓸 수 있나요?
A. 양식 도움말의 치환 토큰 {tag_id} · {tag_name} · {timestamp} · {value} 입니다.
Q. 발행된 알람 이력을 길게 보관하려면?
A. 기본 보존 기간을 늘리거나, 플로우 의 flow_on_alarm 트리거로 외부 시스템에 자동 적재하시면 됩니다.
Q. ON/OFF 도넛이 항상 100% ON 인 이유는? A. 검색 결과에 해제된 알람이 없는 경우입니다. 알람이 모두 활성 상태로 발생한 후 아직 해제되지 않은 경우입니다.
Q. 알람 상세 화면에서 무엇을 볼 수 있나요? A. 알람 발생 시점의 태그 데이터·같은 태그의 다른 알람·트렌드·통계·확인 상태와 보낸 곳·태그 정보를 함께 보실 수 있습니다.