Visibility & Inventory for JDK Deployments
持續盤點 Linux / Windows / Docker images 中的 Java Runtime 部署狀態,協助組織建立清晰、可追蹤、可治理的 Java 使用全貌。
Nomos-J 是一套專注於 JDK 版本盤點與可視化管理 的系統,協助組織持續掌握 Linux、Windows 與 Docker 環境中的 JDK 部署狀態,建立清楚、可追蹤、可治理的 Java Runtime 使用全貌。
為什麼需要 Nomos-J
在多系統、多團隊、多映像檔並行的環境中,JDK 往往隨著專案、套件或映像檔自然擴散,但實際使用狀態卻逐漸失去可見性。
Nomos-J 的目的不是干預系統運作,而是讓組織清楚知道目前實際部署了哪些 JDK、分布在哪裡、版本為何,
為後續的技術治理與決策提供可靠依據。

核心功能
1. 跨平台 JDK 盤點
- 掃描 Linux 系統中的 JDK 安裝位置與版本
- 掃描 Windows 系統中的 JDK 部署狀態
- 分析 Docker images / containers 中包含的 JDK
2. JDK 版本與來源辨識
- 辨識不同 JDK 發行來源
- 彙整版本資訊與安裝路徑
- 建立清晰的 JDK 使用清單
3. 定期掃描與變化追蹤
- 支援排程掃描(每日/每週/每月)
- 追蹤 JDK 新增、移除與版本變更
- 建立歷史紀錄,支援回溯檢視
4. 報告與盤點輸出
- 全域 JDK 分布總覽
- 依主機、系統、映像檔分類的詳細清單
- 可匯出結果供內部管理與審核使用

適用對象
IT / DevOps 團隊
- 快速掌握跨環境的 JDK 使用現況
- 降低環境差異帶來的管理不確定性
Platform / Architecture 團隊
- 作為 JDK 標準化與版本治理的基礎資料來源
- 支援技術選型與替換規劃
Security / Governance 團隊
- 建立可盤點、可追蹤的 Java Runtime 使用清冊
- 支援內部政策與治理流程
運作流程
- 定義掃描範圍(主機、系統群組、Docker 映像檔)
- 執行 JDK 掃描與版本辨識
- 彙整結果並建立可視化清單
- 持續追蹤變化,支援治理與決策
- 作為 JDK 標準化與版本治理的基礎資料來源
- 支援技術選型與替換規劃
功能詳細規格
1 儀表板(Dashboard)
以時間區間為基礎,呈現整體 JDK 使用與合規風險現況。
- 區間篩選:可自訂開始/結束日期,並提供「最近七天」快速篩選。
- 關鍵指標(KPI):
- 區間內回報資產數
- 區間內完整掃描主機數
- 區間內未完成掃描主機數
- 區間內 JDK 風險資產數
- 區間內高風險資產數(High / Critical)
- 區間內待處理命令數
- JDK 版本分布圖:依各主機最新回報統計 JDK 版本分布。
- 最新回報主機:列出區間內最新 10 筆回報主機摘要。
2 機器管理(Machine Inventory)
集中管理所有受管主機與其掃描結果。
- 主機盤點:列出所有回報主機,含掃描狀態、JDK 風險、作業系統等資訊,支援搜尋與篩選。
- 單機詳情:檢視單一主機的 Java 安裝、已安裝應用程式、掃描狀態與使用關聯。
- 匯出(XLSX):將主機清單匯出為 Excel。
- 離線掃描匯入:匯入離線掃描產生的 JSON / ZIP 報告。
- 支援多層目錄及最多 3 層巢狀 ZIP。
- 依 report ID 或 canonical content SHA-256 略過重複報告。
- 完整性校驗不符的報告可於 30 分鐘內整批覆核匯入,並保留稽核註記。
- 命令派送:對單一主機派送清除命令(dispatch-clear)、重設最後掃描、強制重新掃描。
- 大量刪除:批次刪除主機紀錄。
- 已安裝應用程式匯出:匯出主機已安裝軟體清單。
3 JDK 授權管理(JDK Authorization)
管理 Oracle JDK 軟體的授權紀錄,並判定合規狀態。
- 授權紀錄:保存軟體名稱、精確/前綴比對、授權編號、有效期間與備註。
- 授權判定(Agent 或離線掃描找到的 Java 路徑使用關聯):
- 一套 Oracle JDK 的所有已辨識使用者均有有效授權 → 已授權使用。
- 任一使用者未授權或授權過期 → 待處理。
- 無可靠使用關聯 → 用途待確認(仍計入待處理)。
- 立即套用:授權清單異動即時反映既有結果,不需重新掃描。
- 停用授權:可停用既有授權紀錄。
4 Docker / Harbor
盤點容器環境中的 image 及其潛在 JDK 授權風險(功能開關預設啟用)。
- Image 摘要:列出掃描到的 Docker/Harbor image 的 repository、image、tag、vendor、version 與 risk。
- 風險分級:High / Medium / Low / None / Unknown。
- 篩選與搜尋:依關鍵字與風險等級過濾。
- 匯出(XLSX):匯出 image 摘要報告。
5 命令下發(Command Dispatch)
對受管主機下發命令,並提供 Agent 及離線工具的取得方式。
- Agent 下載區:
- Windows
.exe - Linux x64
.tar.gz - macOS Intel
.tar.gz
- Windows
- 內嵌設定:下載檔內嵌 Backend API URL、Shared Agent Token、HMAC secret、TLS mode、server name、state path。
- 離線掃描 script 下載:Windows PowerShell/Linux shell/macOS shell 三種明碼 scanner。
- 安裝腳本:提供 Linux
.sh安裝腳本下載。 - 強制重建:觸發 go-builder 重新產出 Agent 下載檔(含
manifest.json)。
6 離線掃描(Offline Scan)
適用於無法連回後台的受掃主機。
- 明碼 script(一次性 Java 稽核,預設不連線、不安裝 service):
- Windows PowerShell:
nomos-offline-java-scan-windows.ps1 - Linux shell:
nomos-offline-java-scan-linux.sh - macOS shell:
nomos-offline-java-scan-macos.sh
- Windows PowerShell:
- 輸出格式:預設產出
nomos-offline-java-<hostname>-<UTC>.zip,內含完整 JSON。 - UNC 設定檔產生器(Windows,純前端):產生
nomos-offline-unc.conf,報告經暫時性 SMB PSDrive 發布至共享目錄。 - 匯入限制:外層合計最大 50 MB、全部 ZIP 層級最多 500 entries、最多 500 份 JSON(合計 250 MB)、單份 JSON 最大 5 MB。
- Schema:
nomos-j.offline-java-scan/v2(相容 v1),另含程序、服務、排程、啟動設定與 Java 路徑使用關聯。
7 回報紀錄(Agent Logs)
- 查詢 Agent 掃描回報紀錄。
- 匯出(XLSX)。
8 系統日誌(System Logs)
- 檢視系統層級日誌(操作、稽核等)。
- 匯出(XLSX)。
9 帳號管理(Users)
- 新增使用者帳號。
- 刪除使用者帳號。
10 系統設定(Settings)
系統設定包含四個子頁面:
- 組態設定:
- Database 連線設定
- Mail 設定
- Agent 下載與報到設定(heartbeat 週期、完整掃描週期、掃描進度回報間隔)
- 規則設定(
patterns.json):Oracle JDK 判定關鍵字、排除廠牌、Windows Registry 掃描路徑、檔案系統與安裝檔判定規則、Linux RPM/DPKG/APK Java 套件清單、Docker vendor 規則、Dashboard vendor/version 規則等。 - 功能設定:全域功能開關(如 filesystem scan-index cache 的啟用與 TTL 1–30 天)。
11 備份與還原(Backup / Restore)
- 資料庫備份與還原管理。
- 記錄還原請求與狀態。
常見問題
1. JDK 移除/卸載狀態如何確認?
Nomos-J 提供 定期性的 JDK 版本盤點機制,透過掃描系統與映像檔中的實際檔案與執行環境,協助組織確認目前環境中 是否仍存在 JDK 安裝實例。
系統會保留每次掃描結果作為歷史紀錄,以利後續進行狀態比對與管理確認。
在完成盤點並釐清現況後,組織可依自身技術政策與既有流程,採用適當的方式進行 JDK 移除、替換或版本更新作業。
Nomos-J 可配合既有的系統管理機制,並支援與 第三方平台與發行版本生態系 的治理規劃。
例如透過 Red Hat Ansible Automation Platform 相關方案進行後續的 Java Runtime 管理與部署,協助組織在清楚掌握現況的前提下,推動一致化與標準化的技術策略。
2. 如何評估「未發現 JDK 安裝實例」的判斷依據?
在判定環境中未發現 JDK 安裝實例之前,Nomos-J 會執行 全面性的環境盤點流程,包含:
- 作業系統層級的檔案與路徑掃描
- 已知 JDK 安裝位置與常見部署模式辨識
- Docker image 與容器層級的內容分析
此流程旨在提供 完整的可見性基礎,而非僅依賴單一設定來源或系統清單。
3. 盤點評估何時完成?是否可追溯?
Nomos-J 的掃描結果皆具備 時間戳記與歷史記錄,可清楚顯示每一次盤點執行的時間與結果狀態。
組織可依需求設定定期盤點週期,並回溯特定時間點的 JDK 使用狀況作為內部管理依據。
4. 是否僅依賴系統註冊資訊進行搜尋?
否。Nomos-J 的盤點方式 不限於 Windows 註冊表或 Linux 套件管理器。
系統會同時針對:
- 檔案系統(資料夾/目錄)
- 映像檔層級內容
- 常見 JDK 佈署結構
進行掃描與辨識,以提升盤點結果的完整性與可信度。
5. Nomos-J 會修改系統設定嗎?
不會。Nomos-J 以盤點與識別為主,不會對系統進行任何修改。
6. 是否支援內網或離線環境?
可以。Nomos-J 可部署於企業內部環境,掃描與資料皆可於內部運行。同時也支援離線環境,可以下載 Script 後再把檔案匯入回系統即可。
7. 是否只支援 JDK?
目前核心功能專注於 JDK 版本盤點,架構設計可延伸至其他 Runtime 或套件。