診断
目次
- 概要
- 画面構成
- 上部検索エリア
- タイムライン
- 左側 — 診断ログテーブル
- 右側統計パネル (3個)
- 全件出力 (CSV)
- 障害発生時の標準診断手順
- よく見られる診断メッセージパターン
- よくある質問
- 関連画面
概要
診断画面は、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 | バッチ | バッチ処理・集計・レポート生成 |
EDGE | Edge ゲートウェイ | 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 | 中央 | 診断を発行したモジュール名 (例: server、agent、batch、edge) |
| レベル | 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 — 重大を優先して照会
- レベル ドロップダウンを 重大(ERROR) に設定 → 照会
- 左側の表の1行目(最新のERROR)からメッセージを確認
- 右側の アプリケーション別分布 チャートで、どのモジュールがERRORを多く発生させたかを確認
ステップ3 — 同時間帯の警告を確認
- レベル を 警告(WARN) に変更し、同じ期間で照会
- ERROR直前の1~5分の間に発生したWARNメッセージを確認 — 通常、ERRORの手がかりになります
ステップ4 — モジュール別に絞る
- ERROR/WARNが最も多いアプリケーションを アプリケーション ドロップダウンで選択
- レベル を 全レベル に戻し、モジュール内の全体の流れを確認 — 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 mismatch | DB/メッセージスキーマの不一致 | システム管理者が点検 (デプロイ直後の可能性あり) |
Pipeline exception | データパイプラインの例外 | 日次統計の選択日詳細チャート も併せて確認 |
Edge disconnect | Edge デバイスの切断 | 接続管理 でデバイス別の状態を確認 |
よくある質問
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時間以下に短縮するか、モジュールを限定してください。