Diagnostics
Table of Contents
- Overview
- Screen Layout
- Top Search Area
- Timeline
- Left — Diagnostic Log Table
- Right Statistics Panels (3)
- Full Export (CSV)
- Standard Diagnostic Procedure for Failures
- Common Diagnostic Message Patterns
- Frequently Asked Questions
- Related Screens
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건 │
│ 애플리케이션 │ 레벨 │ 시간 │ 메세지 │ 정보·경고·심각 뱃지│ ← ③
│ ... │ 레벨 비율 차트 │
│ ├────────────────────┤
│ │ 📊 시간별 발생 추이 │
│ ├────────────────────┤
│ │ 🖥 애플리케이션별 │
│ │ 분포 │
└──────────────────────────────────────────────────────────┴────────────────────┘
| Area | Position | Contents |
|---|---|---|
| ① Search area | Top-right form | Period, application, level, display count + Search / Full Export / Refresh |
| ② Timeline | Full width | Diagnostic markers along a time axis + 6 quick time-range buttons |
| ③ Left | col-lg-8 | Diagnostic log table (fixed 4 columns) |
| ③ Right | col-lg-4 | 3 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
| Control | Width | Type | Default / Options | Description |
|---|---|---|---|---|
Period (search_time) | 280px | Text input (center-aligned, bold) | Empty | Clicking 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) | 120px | Dropdown | Server (SERVER), Agent (AGENT), Batch (BATCH), Edge gateway (EDGE) | The module that issued the diagnostic |
Level (level) | 100px | Dropdown | All levels, Info (INFO), Warning (WARN), Critical (ERROR) | Diagnostic level filter. Empty means all |
Message search (message) | 250px (hidden) | Text input | Empty | Keyword search of the message body. Hidden by default; exposed depending on the operating environment |
Count (limit) | 130px | Dropdown | 100, 200, 300, 500, 1,000 | Number 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
| Value | Label | Description |
|---|---|---|
SERVER | Server | Web server, management console, domain services |
AGENT | Agent | Data collection agent (pipeline) |
BATCH | Batch | Batch processing, aggregation, report generation |
EDGE | Edge gateway | Edge devices (gateways installed in the field) |
Level Dropdown Values
| Value | Label | Color | Meaning | Recommended action |
|---|---|---|---|---|
| `` (empty) | All levels | — | All levels | |
INFO | Info | Blue | Normal operation info, start/stop notices, etc. | No action required |
WARN | Warning | Orange | Potential problem, soft threshold exceeded | Check the trend, inspect other modules in the same time window |
ERROR | Critical | Red | Errors, functional failures, exceptions | Identify the cause immediately + notify the system administrator |
Timeline
The diagnostic timeline is drawn in the panel below the search area.
| Item | Description |
|---|---|
| Header | 🕐 "Timeline" + a small search-result summary on the right (result_txt) |
| Timeline body | alarm_timeline — time on the horizontal axis, diagnostic entries shown as colored markers |
| Marker colors | Info = blue, Warning = orange, Critical = red |
| Hover | Hovering over a marker shows a tooltip with the timestamp and a message preview |
| Click | The 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.
| Button | data-range | Action |
|---|---|---|
| Last 10 min | 10M | Zoom to the last 10 minutes |
| Last 30 min | 30M | Zoom to the last 30 minutes |
| Last 1 hour | 1H | Zoom to the last hour |
| Last 6 hours | 6H | Zoom to the last 6 hours |
| Last 12 hours | 12H | Zoom to the last 12 hours |
| Full period | ALL | The 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... |
| Column | Width | Alignment | Contents |
|---|---|---|---|
| Application | 140px | Center | Name of the module that issued the diagnostic (e.g. server, agent, batch, edge) |
| Level | 80px | Center | Colored badge — INFO (blue) / WARN (orange) / ERROR (red) |
| Time | 160px | Center | Time the diagnostic occurred (yyyy-MM-dd HH:mm:ss) |
| Message | Auto (remainder) | Left | Diagnostic 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 높이)
└────────────────────────────────┘
| Item | ID | Contents |
|---|---|---|
| Headline | — | "Diagnostics found: N" in large type |
| Total records found | diag_total_count | Integer |
| Info badge | diag_info_count | Count of info-level entries — blue background |
| Warning badge | diag_warn_count | Count of warning-level entries — orange background |
| Critical badge | diag_error_count | Count of critical-level entries — red background |
| Level ratio chart | diag_level_chart | Chart of the info/warning/critical ratio |
| Empty state message | diag_stats_empty | Shows "No data available." when there is no data |
2. Occurrence Trend by Hour (diag_hourly_chart)
| Item | Description |
|---|---|
| Header | 📊 "Occurrence Trend by Hour" |
| Chart | Hourly bar chart (170px high) — X axis time, Y axis diagnostic count |
| Bar segmentation | Info/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)
| Item | Description |
|---|---|
| Header | 🖥 "Distribution by Application" |
| Chart | Donut/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
| Column | Format |
|---|---|
| Application | Text |
| Level | Text (INFO/WARN/ERROR) |
| Time | Text (yyyy-MM-dd HH:mm:ss) |
| Message | Text (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
- Set the Level dropdown to Critical (ERROR) → Search
- Review messages starting from the first row of the left-hand table (the most recent ERROR)
- 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
- Change Level to Warning (WARN) and query the same period
- Review the WARN messages that occurred 1–5 minutes before the ERROR — they usually provide the clue
Step 4 — Narrow down by module
- Select the application with the most ERROR/WARN entries in the Application dropdown
- 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 keyword | Meaning | Typical action |
|---|---|---|
Connection timeout | Connection to an external service timed out | Check network status and whether the target service is running |
Out of memory / OOM | Out of memory | Inspect system resources, consider a restart (system administrator) |
Disk space low | Insufficient free disk space | Clean up old data or add disk capacity |
Authentication failed | Authentication failure | Check for expired or incorrect tokens/account information |
Buffer overflow | Processing queue full | Flatten the load with trigger pre-filters or external IO throttling |
Job already running | Duplicate job execution | The previous job has not finished — system administrator inspection |
Failed to parse | Message parsing failure | Review the payload format of the external system |
Schema mismatch | DB/message schema mismatch | System administrator inspection (may occur right after a deployment) |
Pipeline exception | Data pipeline exception | Review together with the selected-day detail charts in Daily Statistics |
Edge disconnect | Edge device disconnected | Check 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.
Related Screens
- 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_diagnostictrigger