监视和管理您的 Java 和 Java 应用程序安装
使用须知
此参考架构假设您已成功加入 OCI。
JMS 是可在商业领域和受限领域中部署的 OCI 本机服务。它可通过 API( OCI Software Development Kit (SDK)(适用于 JMS))或 JMS 控制台访问。
您将在租户的区间中创建 JMS 组。可以跨一个或多个地理位置具有多个 JMS 组和资源。使用组控制对关联资源的访问,并将其分配给企业中的部门。通过这种方法,客户企业中的每个部门都可以控制自己的车队和资源。
执行以下操作以完成 JMS 入职:
- 为 JMS 设置 Oracle Cloud Infrastructure (手动管理策略或使用向导)。
- 创建 JMS 组。
- 部署代理或配置代理并启用 JMS 插件。
- 监视托管实例中的 Java 安装和应用程序。
- 根据需要执行高级功能操作。
有关详细信息,请参阅 OCI 文档中的 Java 管理服务。
体系结构
JMS 代理安装在托管实例上,用于收集 Java 使用情况遥测和 Java 使用情况元数据。遥测数据会发送到您的租户并存储在租户中,以提供隐私保护。
Java 使用量元数据由安装在租户中的代理从租户中泄露。JMS 使用此元数据生成洞察分析,例如 Java 版本、安全基线、即将推出的 Java 更新和应用程序使用情况;当您登录到 OCI 控制台时显示这些洞察分析。除了处理泄漏的元数据,没有 Oracle 访问权限。
使用 JMS 中提供的高级功能,您可以分析 Java 应用服务器的使用情况,识别环境中运行的应用程序使用的 Java 库中的潜在漏洞,使用 Java 飞行记录器进行性能和加密分析,并在您的环境中管理 Oracle Java 运行时(JDK 版本)。您可以使用高级功能管理环境中运行的 Java。
下图说明了生产中 JMS 服务的拓扑。该图显示了为跟踪在 OCI 上运行的 Java、本地桌面、笔记本电脑和服务器以及第三方云服务而部署的代理。这些代理部署在您的托管实例中,并与您在租户中创建的资源(组)关联。
下图说明了此引用体系结构。

插图 jms-oci-topology.png 的说明
概括地说,以下示例说明了托管实例上安装的 JMS 代理与 OCI 上的 JMS 服务之间的数据流:
- 您可以在托管实例上安装代理,然后代理向 OCI 注册。
- 您可以配置或启用 JMS 插件(将 JMS 组作为参数传递)。JMS 代理现在与所需的 JMS 组关联。
- 注册的 JMS 代理轮询 JMS 以进行工作。JMS 将使用适当的工作请求(如果有)响应轮询。
- JMS 代理定期扫描托管实例以查找使用情况跟踪器中的 Java 安装或条目,并将 Java 度量和 Java 元数据发送到 OCI。
JMS 代理与 OCI 服务之间的数据流如下图所示。

插图 jms-oci-workflow.png 的说明
- 用户:在 JMS 代理上安装代理,并将请求发送到 JMS 代理(请求)。
- JMS 代理:向 OCI 服务发送注册请求(请求)。
- OCI 服务:验证密钥并返回元数据和验证令牌,并向 JMS 代理发送响应(响应)。
- JMS 代理:启动代理并向用户发送响应(响应)。
- JMS 代理:将请求的插件安装到 OCI 服务(请求)。
- JMS 代理:将 OCI 服务轮询为工作请求(请求)。
- OCI 服务:发送工作请求(响应)。
- JMS 代理:代理获取插件包并安装(请求)。
- JMS 代理:定期轮询并将库存发送到客户租户上的 OCI 服务(请求)。
下面的网络图概述了安装在主机(内部部署)上的 JMS 代理与在 OCI 中运行的 JMS 之间的通信流。OCI 和 JMS 中的主机之间会出现类似的流量模式。

插图 jms-oci-network-traffic.png 的说明
jms-oci-network-traffic-oracle.zip
- JMS 代理始终通过使用防火墙允许的开放端口 (443) 使用 OCI 验证自身来启动请求。
- OCI 中的管理代理和 JMS 服务不会向代理推送任何数据。
- JMS 代理轮询服务以查找工作请求。
- JMS 代理工作请求轮询间隔可以低至 30 秒。
- JMS 代理轮询间隔可配置,最大轮询间隔为 10 分钟。
- 传输的数据使用 TLS 进行加密。
- 在建立连接后,OCI 服务会根据这些请求发送数据。
该体系结构具有以下组件:
- 区域
Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
- 可用性域
可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 区间
区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间来组织、控制访问并设置 Oracle Cloud 资源的使用限额。在给定的区间中,您可以定义用于控制资源访问和设置权限的策略。
- 动态路由网关 (DRG)
DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或另一个云提供商中的网络)之间的专用网络流量提供路径。
- 实例池
实例池是区域内的一组实例,这些实例基于相同实例配置创建并作为组一起管理。
- 内部部署网络
此网络是您的组织使用的本地网络。它是拓扑的发言人之一。
- 安全列表
对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。
- 安全区域
安全区域从一开始就实施加密数据和阻止公共访问整个区间的网络等策略,从而确保 Oracle 的安全优秀实践。安全区域与同名的区间关联,并包括安全区域策略或适用于该区间及其子区间的“配方”。无法将标准区间添加或移动到安全区域区间。
- 动态路由网关 (DRG)
DRG 是虚拟路由器,用于为同一区域中的 VCN 之间、VCN 与区域外的网络(例如另一个 Oracle Cloud Infrastructure 区域中的 VCN、内部部署网络或另一个云提供商中的网络)之间的专用网络流量提供路径。
- 服务网关
通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。
- Tenancy
租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在您的租户内的 Oracle Cloud 中创建、组织和管理资源。租户是公司或组织的同义词。通常,公司将具有单个租户并反映其在该租户中的组织结构。单个租户通常与单个订阅关联,单个订阅通常只有一个租户。
- 日志记录日志记录是一项高度可扩展且完全托管的服务,它允许您从云端资源访问以下类型的日志:
- 审计日志:与审计服务发出的事件相关的日志。
- 服务日志:由各个服务发出的日志,如 API 网关、事件、函数、负载平衡、对象存储和 VCN 流日志。
- 定制日志:包含来自定制应用程序、其他云提供商或内部部署环境的诊断信息的日志。
- 监视
Oracle Cloud Infrastructure Monitoring 服务使用指标主动和被动监视云资源,监视资源和警报,以便在这些指标满足警报指定的触发器时通知您。
- 策略
Oracle Cloud Infrastructure Identity and Access Management 策略指定谁可以访问哪些资源以及如何访问这些资源。可以在组和区间级别授予访问权限,这意味着您可以编写策略来为组提供特定区间内或租户的特定类型的访问权限。
- Oracle Cloud Infrastructure Vault
借助 Oracle Cloud Infrastructure Vault ,您可以集中管理加密密钥,以保护您的数据和用于保护对云中资源的访问的密钥凭证。可以使用 Vault 服务创建和管理 Vault、密钥和密钥。
OCI Vault 还提供一组丰富的 Rest API 来管理 Vault 和密钥。
- 工作流
Oracle Cloud Infrastructure 工作流服务是一个无服务器工作流引擎,为开发人员和架构师提供图形流设计器。它可加速创建和执行 OCI 服务(例如 OCI Functions、AI/ML)的编排,以执行企业逻辑、IT 任务和数据作业。
- 虚拟云网络 (VCN) 和子网
VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- API 网关
使用 Oracle Cloud Infrastructure API Gateway ,您可以发布具有可从网络内访问的专用端点的 API,并根据需要向公共互联网公开这些 API。这些端点支持 API 验证、请求和响应转换、CORS、验证和授权以及请求限制。
- 自治数据库
Oracle Autonomous Database 是一个完全托管的预配置数据库环境,可用于事务处理和数据仓库工作负载。您不需要配置或管理任何硬件,或者安装任何软件。Oracle Cloud Infrastructure 负责创建、备份、打补丁、升级和优化数据库。
- 堡垒主机
堡垒主机是一个计算实例,它为用户从云外部访问拓扑提供了安全受控的入口点。堡垒主机通常预配在隔离区 (DMZ) 中。利用它,您可以将敏感资源放在无法从云外部直接访问的专用网络中,从而保护这些资源。拓扑具有已知的单个入口点,您可以定期对其进行监视和审计。因此,您可以避免公开拓扑中较为敏感的组件,同时又不会影响对它们的访问。
- 计算服务
借助 Oracle Cloud Infrastructure Compute ,您可以在云中预配和管理计算主机。您可以通过配置启动计算实例,以满足对 CPU、内存、网络带宽和存储的资源要求。创建计算实例后,可以安全地访问该实例,重新启动该实例,附加和分离卷,并在不再需要时终止该实例。
- DNS
Oracle Cloud Infrastructure 域名系统 (Domain Name System,DNS) 服务是一个高度可扩展的全局任播域名系统 (DNS) 网络,可提供增强的 DNS 性能、可恢复性和可扩展性,以便最终用户随时随地快速连接到互联网应用。
- Kafka 流
Kafka Streams 是用于构建应用程序和微服务的客户端库,其中输入和输出数据存储在 Kafka 集群中。它将在客户端编写和部署标准 Java 和 Scala 应用的简单性与 Kafka 服务器端集群技术的优势相结合。
- 对象存储
Oracle Cloud Infrastructure Object Storage 支持您快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地存储数据,然后直接从互联网或云平台检索数据。您可以在不降低性能或服务可靠性的情况下扩展存储。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。
- Oracle Management Agent
Oracle Management Agent 是一种在 Oracle Cloud Infrastructure 与内部部署托管实例之间提供低延迟交互式通信和数据收集的服务。管理代理从要监视的源收集数据。管理代理服务 (Oracle Cloud Service) 管理管理代理的生命周期以及服务的插件。
- Oracle Cloud Agent
Oracle Cloud Agent 是一个轻量级流程,用于管理在 OCI 上的计算实例上运行的插件的生命周期。JMS 插件从在 OCI 中的托管实例上部署的环境收集 Java 元数据。JMS 插件将此 Java 元数据提取到 OCI 中的 JMS 服务。
- 基辅即服务 (KaaS)
KaaS 是完全托管的数据平台服务,主要由 OCI 上的 Control Plane 服务使用。KaaS 提供了高级 NoSQL API,可用于轻松集成、可序列化扫描、更改源流处理和其他功能。KaaS 是建立在基辅之上的服务。Kiev 是一个“NoSQL 键 - 值存储”,它还支持小型交易以方便。为了防止应用程序中出现并发错误,Kiev 的小型事务处理具有强隔离,这比 Oracle 和 MySQL 中常用的较弱隔离级别提供更强的保证。基辅的可用性 SLA 为 99.9% 。
推荐
- VCN
创建 VCN 时,请根据您计划附加到 VCN 中子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择不与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、您的内部部署数据中心或其他云提供商中)重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可以用作安全边界的同一子网。
使用区域子网。
- 安全
使用 Oracle Cloud Guard 主动监视和维护 Oracle Cloud Infrastructure 中资源的安全性。使用安全区域实现最大安全性。
- Cloud Guard
克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪种类型的安全违规会生成警告,以及允许对它们执行哪些操作。例如,您可能希望检测可见性设置为公共的对象存储桶。
在租户级别应用 Cloud Guard,以涵盖最广泛的范围并减轻维护多个配置的管理负担。
还可以使用“托管列表”功能将某些配置应用于检测器。
- 安全区域
对于需要最高安全性的资源,Oracle 建议您使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,安全区域中的资源必须无法从公共 Internet 访问,并且必须使用客户管理的密钥对它们进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 会根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。
- 网络安全组 (NSG)
可以使用 NSG 定义一组适用于特定 VNIC 的入站和出站规则。我们建议使用 NSG 而非安全列表,因为 NSG 使您能够将 VCN 的子网体系结构与应用的安全要求分开。
- 负载平衡器带宽
创建负载平衡器时,您可以选择提供固定带宽的预定义配置,也可以指定定制(灵活)配置,在其中设置带宽范围并允许服务根据流量模式自动扩展带宽。通过任一方法,您都可以在创建负载平衡器后随时更改配置。
注意事项
部署此引用体系结构时,请考虑以下几点。
- 性能在实施参考架构以检测和管理本地托管实例中的 Java 安装和 java 应用时,请考虑以下事项。
- JMS 使用代理对 Java 元数据进行泄漏(需要考虑网络流量和谨慎的防火墙配置)。
- 代理要求在托管实例上执行最新 JRE 8 版本。
- 代理在托管实例上需要 512 MB 空闲的堆内存。
- 代理将在托管实例上与应用争用 CPU。
泄漏的元数据在日志对象上可用。JMS 处理元数据以生成洞察。这些洞察和度量存储在服务拥有的 Oracle Autonomous Transaction Processing 数据库中。您可以使用 API 查询服务,获得您环境中部署的 Java 的历史洞察。JMS 不是一个实时系统。由于通过许多其他客户查询加载服务,延迟可以提供当前和历史的洞察。
- 安全
使用策略来限制谁可以访问企业中的 Oracle Cloud Infrastructure (OCI) 资源,以及他们如何访问这些资源。Java 元数据从您的环境中提取到企业拥有的日志对象中。JMS 将处理此元数据和洞察提供给您。这些洞察存储在 Oracle Autonomous Transaction Processing 数据库中。您生成的报告存储在 OCI 对象存储中。
默认情况下为 OCI Object Storage 启用了加密,因此无法关闭。
- 可用性
JMS 已指定为类别 10 服务,已发布的服务级别目标为 3'9s (99.9)。
- 成本
JMS 是免费服务。每个人都可以使用在您的环境中监视和查询对 Java 的洞察的基本功能。在您的环境中管理 Java 的高级功能仅适用于运行内部部署托管实例的 Java SE 订户。在 OCI 上运行整个工作负载时,JMS 的完整功能版本也可供您使用。
如果您有内部部署托管实例并使用极少的 Java 工作负载,那么您可能会发现,在 OCI 免费层的范围内使用 JMS 是可以接受的(避免计算、存储和网络出站成本的每月最低成本)。
浏览更多
请转至 Set up Java Management Service to monitor Java usage on an Oracle Linux host,在 Oracle Linux 计算机上设置和启用 Java 使用情况监视。