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

システムログ

ゲートウェイがブート / 収集 / 通信 / 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 は prefix 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 デバイス出生 — 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.properties の system.log.ttl.days)。


6. よくある落とし穴​

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

7. さらに詳しく​