Skip to main content

Diagnostics

Table of Contents


Overview

The Diagnostics screen presents every diagnostic event raised inside the platform (info, warning, critical) from three viewpoints at once: a chronological timeline, a table, and statistical charts. It is the first screen a system administrator or operator opens when tracking down the cause of a failure.

This screen combines the following into one place.

  • Timeline — see at a glance what happened and when
  • Log table — exact timestamp, application, level, and message content
  • Statistics panels — level ratio, time-of-day distribution, application distribution

Path: Left menu > System > Diagnostics (internal URL /diagnostic/index)


Screen Layout

┌───────────────────────────────────────────────────────────────────────────────┐
│ 🩺 진단 │
│ [기간] [애플리케이션] [레벨] [건수] [조회] [전체 출력] [↻] │ ← ① 검색 영역
├───────────────────────────────────────────────────────────────────────────────┤
│ 타임라인 + 빠른 시간 범위 │ ← ② 타임라인
├──────────────────────────────────────────────────────────┬────────────────────┤
│ │ 🥧 통계 │
│ 진단 로그 테이블 │ 검색된 진단 N건 │
│ 애플리케이션 │ 레벨 │ 시간 │ 메세지 │ 정보·경고·심각 뱃지│ ← ③
│ ... │ 레벨 비율 차트 │
│ ├────────────────────┤
│ │ 📊 시간별 발생 추이 │
│ ├────────────────────┤
│ │ 🖥 애플리케이션별 │
│ │ 분포 │
└──────────────────────────────────────────────────────────┴────────────────────┘
AreaPositionContents
① Search areaTop-right formPeriod, application, level, display count + Search / Full Export / Refresh
② TimelineFull widthDiagnostic markers along a time axis + 6 quick time-range buttons
③ Leftcol-lg-8Diagnostic log table (fixed 4 columns)
③ Rightcol-lg-43 statistics panels (level ratio, time trend, application distribution)

Top Search Area

The search form at the top right of the page is laid out in a single row, with the following controls from left to right.

Input Fields and Buttons

ControlWidthTypeDefault / OptionsDescription
Period (search_time)280pxText input (center-aligned, bold)EmptyClicking opens a date/time range picker for setting the start and end times. Passed within the form as the hidden fields search_date_from / search_date_to
Application (app_name)120pxDropdownServer (SERVER), Agent (AGENT), Batch (BATCH), Edge gateway (EDGE)The module that issued the diagnostic
Level (level)100pxDropdownAll levels, Info (INFO), Warning (WARN), Critical (ERROR)Diagnostic level filter. Empty means all
Message search (message)250px (hidden)Text inputEmptyKeyword search of the message body. Hidden by default; exposed depending on the operating environment
Count (limit)130pxDropdown100, 200, 300, 500, 1,000Number of recent diagnostics to display
Search(auto)Red button + 🔍Queries diagnostic data with the above conditions
Full Export(auto)Red button + 📄Downloads the diagnostic results for the current conditions as a CSV file in bulk
Refresh (realtime_icon)(auto)Red button + ↻Re-runs the previous query unchanged — useful as a dashboard view

Application Dropdown Values

ValueLabelDescription
SERVERServerWeb server, management console, domain services
AGENTAgentData collection agent (pipeline)
BATCHBatchBatch processing, aggregation, report generation
EDGEEdge gatewayEdge devices (gateways installed in the field)

Level Dropdown Values

ValueLabelColorMeaningRecommended action
`` (empty)All levelsAll levels
INFOInfoBlueNormal operation info, start/stop notices, etc.No action required
WARNWarningOrangePotential problem, soft threshold exceededCheck the trend, inspect other modules in the same time window
ERRORCriticalRedErrors, functional failures, exceptionsIdentify the cause immediately + notify the system administrator

Timeline

The diagnostic timeline is drawn in the panel below the search area.

ItemDescription
Header🕐 "Timeline" + a small search-result summary on the right (result_txt)
Timeline bodyalarm_timeline — time on the horizontal axis, diagnostic entries shown as colored markers
Marker colorsInfo = blue, Warning = orange, Critical = red
HoverHovering over a marker shows a tooltip with the timestamp and a message preview
ClickThe corresponding row is automatically highlighted in the left-hand table

Quick Time Range (Timeline range)

The six buttons to the right of the timeline header zoom instantly.

Buttondata-rangeAction
Last 10 min10MZoom to the last 10 minutes
Last 30 min30MZoom to the last 30 minutes
Last 1 hour1HZoom to the last hour
Last 6 hours6HZoom to the last 6 hours
Last 12 hours12HZoom to the last 12 hours
Full periodALLThe entire search range (active by default)

The quick range buttons only zoom within results already retrieved on screen. To view a longer period, run a new query using the Period input in the search area.


Left — Diagnostic Log Table

| 애플리케이션 | 레벨 | 시간 | 메세지 |
|-------------|------|------------------|--------------------------------------|
| server | ERROR| 2026-05-08 12:00 | Connection timeout to upstream... |
| messaging | WARN | 2026-05-08 11:55 | Buffer overflow threshold reached... |
ColumnWidthAlignmentContents
Application140pxCenterName of the module that issued the diagnostic (e.g. server, agent, batch, edge)
Level80pxCenterColored badge — INFO (blue) / WARN (orange) / ERROR (red)
Time160pxCenterTime the diagnostic occurred (yyyy-MM-dd HH:mm:ss)
MessageAuto (remainder)LeftDiagnostic body (the table is table-layout: fixed, so text is truncated to the cell width — double-click the row or hover to see it wrapped)

Row Interactions

  • Hover: Row background is highlighted
  • Click: The matching marker on the timeline is highlighted in sync (left/right synchronization)
  • Double-click / popup: The full body text plus additional information such as the stack trace is shown in a modal

Pagination Below the Table

When many records are returned, they are split into pages. The number of rows per page is determined by the Count dropdown in the search area (100/200/300/500/1,000).


Right Statistics Panels (3)

Statistical visualization of the search results. All three present the same data as the left-hand table from different viewpoints.

1. Statistics — Level Ratio (diag_level_chart)

┌────────────────────────────────┐
│ 검색된 진단 : N 건 │ ← 큰 글씨 헤드라인
│ [정보 N] [경고 N] [심각 N] │ ← 3색 뱃지
│ │
│ 도넛/막대 차트 │ ← diag_level_chart (150px 높이)
└────────────────────────────────┘
ItemIDContents
Headline"Diagnostics found: N" in large type
Total records founddiag_total_countInteger
Info badgediag_info_countCount of info-level entries — blue background
Warning badgediag_warn_countCount of warning-level entries — orange background
Critical badgediag_error_countCount of critical-level entries — red background
Level ratio chartdiag_level_chartChart of the info/warning/critical ratio
Empty state messagediag_stats_emptyShows "No data available." when there is no data

2. Occurrence Trend by Hour (diag_hourly_chart)

ItemDescription
Header📊 "Occurrence Trend by Hour"
ChartHourly bar chart (170px high) — X axis time, Y axis diagnostic count
Bar segmentationInfo/warning/critical are stacked by color

Interpretation: If a bar suddenly spikes in one hour, a large-scale anomaly occurred at that time. Note the time and double-click the row for that time in the left-hand table for details.

3. Distribution by Application (diag_app_chart)

ItemDescription
Header🖥 "Distribution by Application"
ChartDonut/bar chart (140px high) — diagnostic count per application

Interpretation: If a single application accounts for more than 70% of the total, the failure is likely concentrated in that module. Narrow the query with the Application dropdown in the search area, then review the left-hand table.


Full Export (CSV)

Clicking the Full Export button in the search area downloads all diagnostics matching the current search conditions as a CSV file.

CSV Columns

ColumnFormat
ApplicationText
LevelText (INFO/WARN/ERROR)
TimeText (yyyy-MM-dd HH:mm:ss)
MessageText (double quotes escaped)

The CSV exports all results matching the search conditions, not only the rows visible on screen. It is unaffected by the Count dropdown (most recent N records), which makes it suitable for long-term analysis.

CSV Usage Tips

  • Attach it as a compressed (.zip) file when sending it to the system administrator
  • Import it into external analysis tools (spreadsheets, BI tools) for further analysis by module, time of day, or keyword
  • Combine a week's worth of data to compare whether the same pattern repeats daily

Standard Diagnostic Procedure for Failures

When a failure occurs, following this sequence lets you identify the cause efficiently.

Step 1 — Narrow the time range

  • In the Period input, specify the failure time ±10 minutes to ±30 minutes
  • Set Count to 1,000 (so nothing is missed)

Step 2 — Query critical entries first

  1. Set the Level dropdown to Critical (ERROR)Search
  2. Review messages starting from the first row of the left-hand table (the most recent ERROR)
  3. Use the Distribution by Application chart on the right to see which module generated the most ERRORs

Step 3 — Check warnings in the same time window

  1. Change Level to Warning (WARN) and query the same period
  2. Review the WARN messages that occurred 1–5 minutes before the ERROR — they usually provide the clue

Step 4 — Narrow down by module

  1. Select the application with the most ERROR/WARN entries in the Application dropdown
  2. Set Level back to All levels to review the full flow within that module — the point at which INFO stops is the clue

Step 5 — Message patterns

Review the message bodies in the left-hand table. Distinguish between the same message repeating (rule storm) and a one-off occurrence (an external state change).

Step 6 — Hand over to the system administrator

If the operator cannot resolve the cause directly, use the Full Export button to download the CSV file and pass it to the system administrator. It helps to include the following in your report.

  • Failure time (timestamp of the first ERROR)
  • Scope of impact (which site/module)
  • The text of 1–3 ERROR messages
  • The CSV file

Common Diagnostic Message Patterns

Message keywordMeaningTypical action
Connection timeoutConnection to an external service timed outCheck network status and whether the target service is running
Out of memory / OOMOut of memoryInspect system resources, consider a restart (system administrator)
Disk space lowInsufficient free disk spaceClean up old data or add disk capacity
Authentication failedAuthentication failureCheck for expired or incorrect tokens/account information
Buffer overflowProcessing queue fullFlatten the load with trigger pre-filters or external IO throttling
Job already runningDuplicate job executionThe previous job has not finished — system administrator inspection
Failed to parseMessage parsing failureReview the payload format of the external system
Schema mismatchDB/message schema mismatchSystem administrator inspection (may occur right after a deployment)
Pipeline exceptionData pipeline exceptionReview together with the selected-day detail charts in Daily Statistics
Edge disconnectEdge device disconnectedCheck the per-device status in Connection Management

Frequently Asked Questions

Q. I don't see the message (keyword) search field. A. Message body search may be disabled depending on the operating environment configuration (display:none). Contact your system administrator if you need it enabled.

Q. What is the retention period for diagnostic data? A. 7 days by default. If you need long-term storage, use Full Export to load the CSV into an external system, or use the diagnostic trigger (flow_on_diagnostic) in Flow to feed an external logging system automatically.

Q. A huge number of ERRORs have accumulated, but they are all the same message. Can I ignore them? A. If the same ERROR repeats within a short interval, a single cause has stormed and the raw count means little. Look at the time of the first occurrence and the message itself first.

Q. Can the Refresh button be switched to auto-refresh? A. The screen only refreshes explicitly. If you need automatic updates for operational monitoring, click Refresh at short intervals, or configure notification automation in Flow to receive a push when an ERROR occurs.

Q. The timeline markers are too densely packed. A. Readability improves if you lower the Count dropdown to a smaller value (100–200) or narrow Level to ERROR/WARN.

Q. Every module issued ERRORs at the same moment. A. A failure in shared infrastructure (message channel, storage) is likely. Also check the infrastructure/engine status in the dashboard health rail.

Q. The CSV download takes a long time. A. The search conditions are probably too broad. Reduce the period to 24 hours or less, or limit the query to a single module.


  • Dashboard — preview of recent diagnostics in the right-hand health rail
  • Daily Statistics — system diagnostic trends and exception type/code distribution
  • Alarms — domain alarm history
  • Connection Management — Edge/OPC device status
  • Flow — automatic diagnostic routing via the flow_on_diagnostic trigger