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

システムログの表示 (/ui/system/log/list)

ゲートウェイが起動 / 収集 / 通信 / API 呼び出し中に記録した システムログ (Cassandra pe.app_system_log) を検索・確認する画面です。

ホームカード システムエラー (本日) の赤い数字をクリック → 自動遷移 (本日の ERROR のみ)、または直接 /ui/system/log/list


1. 画面構成

┌─────────┬──────────────────────────────────────────────────┐
│ 좌측 │ 우측 │
│ 검색폼 │ 로그 목록 (DataTables) │
│ │ │
│ [기간] │ ┌───────────┬───────┬──────────────────────────┐ │
│ [레벨] │ │ 시간 │ 레벨 │ 메세지 │ │
│ │ ├───────────┼───────┼──────────────────────────┤ │
│ [검색] │ │ ... │ INFO │ ... │ │
└─────────┴──────────────────────────────────────────────────┘

デフォルトの検索期間: 直近 30 日 (00:00 ~ 23:59)。


2. 左側の検索フォーム

フィールド意味デフォルト
検索期間YYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm の範囲本日から 29 日前の 00:00 ~ 本日 23:59
レベル전체 / INFO / WARN / ERRORすべて

左側のアクション

ボタン動作
↻ 更新 (ページ上部)log.search() — 現在のフォーム値で再検索
🔍 検索 (青いボタン、左パネル右下)log.search() — フォーム値で /system/log/search を呼び出し

左側のフォームは 検索期間 (date range picker) + レベル (コンボ) の 2 フィールドのみ — 他の検索画面 (/ui/connect/list/ui/point) と同じ pp-cell-pill トーンのラベル / 丸みのあるフォームデザインを共有します。


3. 右側 — ログ一覧 (DataTables)

#カラム表示
1時刻timestamp.iso (ms まで) — 中央揃え、デフォルトは降順 (新しい順)
2レベル丸みのあるカプセルバッジ (border-radius: 5px) — 🟦 INFO (青 solid) / 🟧 WARN (オレンジ solid) / 🟥 ERROR (赤 solid)。/ui/connect/list など他ページの pp-cell-pill と同じトーン
3メッセージログ本文 (長いメッセージは自動折り返し、クリックで展開)

ページサイズ: 10 / 20 / 50 / 100 / 1000 から選択可能 (デフォルト 100)。

右側のアクション

ボタン動作
↻ 更新log.list()
🗑 すべて削除log.truncate() — 確認ダイアログ → 全件削除 (pe.app_system_log truncate)。復元不可

4. よく見られるパターン

メッセージ / レベル意味 / 次の対処
ERROR [PLCDriverConnector] connection failed ...PLC 接続失敗。IP / ポート / ファイアウォールを点検
ERROR [PLCValueReader] read failed at TAG_*該当タグのアドレス / データ型 (format) を確認
WARN [SchedulerStartListener] startup race detected非常にまれな起動時の race — restart.sh をもう一度
INFO [TAG_WRITE] OK opc_id=... tag_id=... value=... user_agent=... remote_ip=...正常な書き込み記録 — audit 用。remote_ip はデフォルト RemoteAddr、reverse proxy opt-in 時は X-Forwarded-For の先頭 IP
INFO [API_ACCESS] method=GET path=/api/v1/... status=200 ...REST API 呼び出しの 1 行 audit (ApiAccessLogFilter) — すべての /api/* 呼び出しが記録されます。apikey は先頭 4 文字 + 長さでマスキング
WARN [API_ACCESS] ... status=401 auth=none認証失敗の呼び出し — キーの欠落
WARN [API_ACCESS] ... status=401 auth=deprecated_queryサポート終了した ?api_key= クエリ認証の試行 — ヘッダー / Bearer への移行が必要
ERROR [Cassandra*] timeout / coordinator overloadDB 負荷 / ディスク / heap を点検。node-info.sh
INFO [SparkPlugSession] NBIRTH publish complete seq=0Sparkplug の正常な再起動
INFO [SparkPlugSession] DBIRTH publish complete devices=NSparkplug デバイスの birth — N 個の OPC が birth を発行

5. データ出所 / 呼び出し API

動作API
検索GET /system/log/search (Query: s_date_range, level, ...)
すべて削除POST /system/log/truncate

内部保存: Cassandra pe.app_system_log テーブル。TTL の個別設定 が可能 (app.propertiessystem.log.ttl.days)。


6. よく陥る落とし穴

症状原因 / 解決
検索結果が空デフォルトの 30 日範囲外 / レベルフィルタで除外。期間 を 1 年に、レベルすべて
ログが多すぎて画面が重いページサイズを 100 → 20 に、または レベル を ERROR に絞る
ERROR 件数が システムエラー (本日) カードの数字と異なるカードは 本日 00:00 以降 / この画面の検索はユーザーが指定した期間
すべて削除 後に統計が 0正常 — 新しい ERROR が入るまで空の状態
ログ保持が長すぎてディスクを圧迫system.log.ttl.days を短縮 / clean.shnode-cleanup.sh の組み合わせ

7. さらに詳しく