メインコンテンツまでスキップ

診断

目次


概要

診断画面は、Platform内部で発生したすべての診断イベント(情報・警告・重大)を、時系列タイムライン + 表 + 統計チャートという3つの視点で同時に表示します。システム管理者や運用者が障害原因を切り分ける際に、最初に開く画面です。

この画面は次の機能を1つにまとめています。

  • タイムライン — 時間の流れの中でどこで何が起きたかを一目で把握
  • ログ表 — 正確な時刻・アプリケーション・レベル・メッセージ内容
  • 統計パネル — レベル比率・時間帯分布・アプリケーション分布

パス: 左メニュー > System > 診断 (内部URL /diagnostic/index)


画面構成

┌───────────────────────────────────────────────────────────────────────────────┐
│ 🩺 진단 │
│ [기간] [애플리케이션] [레벨] [건수] [조회] [전체 출력] [↻] │ ← ① 검색 영역
├───────────────────────────────────────────────────────────────────────────────┤
│ 타임라인 + 빠른 시간 범위 │ ← ② 타임라인
├──────────────────────────────────────────────────────────┬────────────────────┤
│ │ 🥧 통계 │
│ 진단 로그 테이블 │ 검색된 진단 N건 │
│ 애플리케이션 │ 레벨 │ 시간 │ 메세지 │ 정보·경고·심각 뱃지│ ← ③
│ ... │ 레벨 비율 차트 │
│ ├────────────────────┤
│ │ 📊 시간별 발생 추이 │
│ ├────────────────────┤
│ │ 🖥 애플리케이션별 │
│ │ 분포 │
└──────────────────────────────────────────────────────────┴────────────────────┘
エリア位置表示
① 検索エリア右上form期間・アプリケーション・レベル・表示件数 + 照会/全件出力/更新
② タイムライン全幅時間軸上に診断マーカー + クイック時間範囲6ボタン
③ 左側col-lg-8診断ログテーブル(固定4カラム)
③ 右側col-lg-4統計3パネル(レベル比率・時間推移・アプリケーション分布)

上部検索エリア

ページ右上の検索フォームは1行に配置され、左→右の順に次のコントロールがあります。

入力フィールドとボタン

コントロール形式デフォルト値・オプション説明
期間 (search_time)280pxテキスト入力(中央揃え、太字)空欄クリックすると日付・時刻範囲セレクタが開き、開始/終了時刻を設定。フォーム内部ではhiddenフィールド search_date_from / search_date_to として渡される
アプリケーション (app_name)120pxドロップダウンサーバー (SERVER)、エージェント (AGENT)、バッチ (BATCH)、Edge ゲートウェイ (EDGE)診断を発行したモジュール
レベル (level)100pxドロップダウン全レベル、情報 (INFO)、警告 (WARN)、重大 (ERROR)診断レベルフィルタ。空値の場合は全件
メッセージ検索 (message)250px (非表示)テキスト入力空欄メッセージ本文のキーワード検索。デフォルトは非表示で、運用環境に応じて表示
件数 (limit)130pxドロップダウン100、200、300、500、1,000表示する直近の診断件数
照会(自動)赤ボタン + 🔍上記条件で診断データを照会
全件出力(自動)赤ボタン + 📄現在の条件の診断結果をCSVファイルで一括ダウンロード
更新 (realtime_icon)(自動)赤ボタン + ↻直前の条件のまま再照会 — ダッシュボードとして活用できる

アプリケーションドロップダウンの意味

ラベル説明
SERVERサーバーWebサーバー・管理コンソール・ドメインサービス
AGENTエージェントデータ収集エージェント(パイプライン)
BATCHバッチバッチ処理・集計・レポート生成
EDGEEdge ゲートウェイEdge デバイス(現場に設置されたゲートウェイ)

レベルドロップダウンの意味

ラベル意味推奨対応
`` (空値)全レベルすべてのレベル
INFO情報正常動作情報・開始/終了通知など特段の対応は不要
WARN警告オレンジ潜在的な問題・ソフト閾値超過推移の確認、同時間帯の他モジュールの点検
ERROR重大エラー・機能障害・例外直ちに原因を特定し、システム管理者へ連絡

タイムライン

検索エリア下のパネルに診断タイムラインが描画されます。

項目説明
ヘッダー🕐 「タイムライン」 + 右側に小さい文字で検索結果サマリ(result_txt)
タイムライン本体alarm_timeline — 横軸が時間、診断項目が色付きマーカーで表示
マーカー色情報=青、警告=オレンジ、重大=赤
ホバーマーカーにマウスを乗せると時刻 + メッセージのプレビューツールチップ
クリック該当診断の行が左側の表で自動的に強調表示

クイック時間範囲 (Timeline range)

タイムラインヘッダー右側の6つのボタンで即座にズームできます。

ボタンdata-range動作
10分前10M直前10分の区間へズーム
30分前30M直前30分の区間へズーム
1時間前1H直前1時間の区間へズーム
6時間前6H直前6時間の区間へズーム
12時間前12H直前12時間の区間へズーム
全期間ALL検索全区間 (デフォルト有効)

クイック範囲ボタンは、既に画面に照会済みの結果に対してズームのみを適用します。より長い期間を見るには、検索エリアの 期間 入力から改めて照会してください。


左側 — 診断ログテーブル

| 애플리케이션 | 레벨 | 시간 | 메세지 |
|-------------|------|------------------|--------------------------------------|
| server | ERROR| 2026-05-08 12:00 | Connection timeout to upstream... |
| messaging | WARN | 2026-05-08 11:55 | Buffer overflow threshold reached... |
カラム配置表示
アプリケーション140px中央診断を発行したモジュール名 (例: serveragentbatchedge)
レベル80px中央色付きバッジ — INFO(青) / WARN(オレンジ) / ERROR(赤)
時間160px中央診断発生時刻 (yyyy-MM-dd HH:mm:ss)
メッセージ自動(残り)診断本文 (テーブルが table-layout: fixed のためセル幅に合わせて切り詰め — 改行表示したい場合は行をダブルクリックまたはマウスホバー)

行のインタラクション

  • ホバー: 行の背景を強調
  • クリック: タイムラインの該当マーカーが同期して強調 (左右同期)
  • ダブルクリック/ポップアップ: 本文全体やstack traceなどの追加情報がモーダルで表示

表下部のページネーション

照会件数が多い場合はページ単位で分割されます。1ページあたりの行数は検索エリアの 件数 ドロップダウン(100/200/300/500/1,000)によって決まります。


右側統計パネル (3個)

検索結果の統計可視化です。いずれも左側の表と同じデータを別の視点で表示します。

1. 統計 — レベル比率 (diag_level_chart)

┌────────────────────────────────┐
│ 검색된 진단 : N 건 │ ← 큰 글씨 헤드라인
│ [정보 N] [경고 N] [심각 N] │ ← 3색 뱃지
│ │
│ 도넛/막대 차트 │ ← diag_level_chart (150px 높이)
└────────────────────────────────┘
項目ID表示
ヘッドライン「検索された診断 : N 件」を大きな文字で表示
検索された総件数diag_total_count整数
情報バッジdiag_info_count情報レベルの件数 — 青背景
警告バッジdiag_warn_count警告レベルの件数 — オレンジ背景
重大バッジdiag_error_count重大レベルの件数 — 赤背景
レベル比率チャートdiag_level_chart情報・警告・重大の比率チャート
空状態の案内diag_stats_emptyデータがない場合「データがありません。」と表示

2. 時間別発生推移 (diag_hourly_chart)

項目説明
ヘッダー📊 「時間別発生推移」
チャート時間帯(時間単位)の棒グラフ (高さ170px) — X軸が時間、Y軸が診断件数
棒の分割情報/警告/重大が色分けされ積み上げ表示

解釈: ある時間帯で棒が急に跳ね上がった場合、その時刻に大規模な異常があったことを示します。時刻をメモし、左側の表で該当時刻の行をダブルクリックして詳細を確認します。

3. アプリケーション別分布 (diag_app_chart)

項目説明
ヘッダー🖥 「アプリケーション別分布」
チャートドーナツ/棒グラフ (高さ140px) — アプリケーション別の診断件数

解釈: 1つのアプリケーションが全体の70%以上を占める場合、そのモジュールに集中した障害の可能性があります。検索エリアの アプリケーション ドロップダウンで絞り込んで照会し、左側の表を確認してください。


全件出力 (CSV)

検索エリアの 全件出力 ボタンをクリックすると、現在の検索条件のすべての診断をCSVファイルでダウンロードできます。

CSVカラム

カラム形式
アプリケーションテキスト
レベルテキスト (INFO/WARN/ERROR)
時間テキスト (yyyy-MM-dd HH:mm:ss)
メッセージテキスト (ダブルクォートをエスケープ)

CSVは画面に表示されている行だけでなく、検索条件に合致する全結果 を出力します。件数 ドロップダウン(直近N件)の影響を受けないため、長期分析に適しています。

CSV活用のヒント

  • システム管理者へ渡す際は圧縮(.zip)して添付
  • 外部分析ツール(スプレッドシート・BIツール)に取り込み、モジュール・時間帯・キーワード別に追加分析
  • 同じパターンが毎日繰り返されるか、1週間分をまとめて比較

障害発生時の標準診断手順

障害が発生した際は、次の順序で進めることで効率的に原因を特定できます。

ステップ1 — 時間範囲を絞る

  • 期間 入力に障害発生時点の ±10分 ~ ±30分 を指定
  • 件数 は1,000件に (見落としが出ないように)

ステップ2 — 重大を優先して照会

  1. レベル ドロップダウンを 重大(ERROR) に設定 → 照会
  2. 左側の表の1行目(最新のERROR)からメッセージを確認
  3. 右側の アプリケーション別分布 チャートで、どのモジュールがERRORを多く発生させたかを確認

ステップ3 — 同時間帯の警告を確認

  1. レベル警告(WARN) に変更し、同じ期間で照会
  2. ERROR直前の1~5分の間に発生したWARNメッセージを確認 — 通常、ERRORの手がかりになります

ステップ4 — モジュール別に絞る

  1. ERROR/WARNが最も多いアプリケーションを アプリケーション ドロップダウンで選択
  2. レベル全レベル に戻し、モジュール内の全体の流れを確認 — INFOが途切れる時点が手がかり

ステップ5 — メッセージパターン

左側の表のメッセージ本文を精査します。同じメッセージが繰り返されているか(ルールの暴走)、1回だけ出た単発なのか(外部状態の変動)を区別します。

ステップ6 — システム管理者への引き継ぎ

障害原因を運用者が直接処置できない場合は、全件出力 ボタンでCSVファイルを取得し、システム管理者へ渡します。報告時は次の情報も併せて添付すると有用です。

  • 障害発生時刻(最初のERROR時刻)
  • 影響範囲(どのサイト/モジュール)
  • ERRORメッセージ1~3件のテキスト
  • CSVファイル

よく見られる診断メッセージパターン

メッセージキーワード意味一般的な対応
Connection timeout外部サービス接続のタイムアウトネットワーク状態・対象サービスの稼働状況を確認
Out of memory / OOMメモリ不足システムリソースの点検・再起動の検討 (システム管理者)
Disk space lowディスク空き容量不足古いデータの整理またはディスク増設
Authentication failed認証失敗トークン・アカウント情報の期限切れ/誤りを確認
Buffer overflow処理キューが満杯トリガの事前フィルタ・外部IOのスロットルで負荷を平準化
Job already runningジョブの重複実行前のジョブが未完了 — システム管理者が点検
Failed to parseメッセージのパース失敗外部システムのペイロード形式を確認
Schema mismatchDB/メッセージスキーマの不一致システム管理者が点検 (デプロイ直後の可能性あり)
Pipeline exceptionデータパイプラインの例外日次統計の選択日詳細チャート も併せて確認
Edge disconnectEdge デバイスの切断接続管理 でデバイス別の状態を確認

よくある質問

Q. メッセージ検索(キーワード)の入力欄が表示されません。 A. 運用環境の設定によりメッセージ本文検索が無効化されている場合があります(display:none)。有効化が必要な場合はシステム管理者へお問い合わせください。

Q. 診断データの保持期間は? A. デフォルトは7日です。長期保管が必要な場合は 全件出力 でCSVを外部システムへ取り込むか、フロー の診断トリガ(flow_on_diagnostic)で外部ログシステムへ自動投入できます。

Q. ERRORが非常に多く蓄積していますが、すべて同じメッセージです。無視してもよいですか? A. 同じERRORが短時間に繰り返されている場合は1つの原因が暴走したものであり、件数自体の意味は小さいです。まず初回発生時刻とメッセージそのものを確認してください。

Q. 更新ボタンを自動更新に変更できますか? A. この画面は明示的な更新のみで動作します。運用モニタリング用途で自動更新が必要な場合は、短い間隔で更新をクリックするか、フロー の通知自動化でERROR発生時にプッシュを受け取るよう設定してください。

Q. タイムラインのマーカー色が密集しすぎています。 A. 件数 ドロップダウンを小さい値(100~200件)に下げるか、レベル をERROR/WARNに絞ると可読性が向上します。

Q. 同じ時点ですべてのモジュールがERRORを発行しました。 A. 共通インフラ(メッセージチャネル・ストレージ)の障害である可能性が高いです。ダッシュボードのヘルスレール のインフラ/エンジン状態も併せて確認してください。

Q. CSVダウンロードに時間がかかります。 A. 検索条件が広すぎる可能性が高いです。期間を24時間以下に短縮するか、モジュールを限定してください。


関連画面

  • ダッシュボード — 右側のヘルスレールで最近の診断をプレビュー
  • 日次統計 — システム診断のトレンドと例外タイプ/コード分布
  • アラーム — ドメインアラーム履歴
  • 接続管理 — Edge/OPCデバイスの状態
  • フローflow_on_diagnostic トリガによる診断の自動ルーティング