--> 用甲骨文云OCI的应用性能监控工具,高效追踪和监控微服务性能
欢迎访问深圳敏捷云计算科技有限公司!

用甲骨文云OCI的应用性能监控工具,高效追踪和监控微服务性能

2024-01-16 原创文章

监控微服务挑战重重。它们结构复杂,分布式部署。成千上万独立服务,多系统部署,每个服务独立运行。传统监控方法,专注资源和健康监测,在追踪交易流程、调试微服务应用问题时显得无力。


Oracle云基础设施应用性能监控云服务(APM)提供解决方案。它自动实施OpenTracing工具,捕捉端到端用户交易,助您洞察用户体验和应用性能。APM集成分布式追踪系统,实现实例级、端到端、交易追踪。还能监控应用服务器和业务指标。


云服务平台的选择至关重要。Oracle APM展现其独特性:全方位监控,轻量云服务器,便宜且高效。无论是企业上云、品牌出海还是云业务发展,Oracle云服务平台提供最优解决方案,助力企业轻松迈向云端。


架构

本参考架构展示了如何使用Oracle云基础设施应用性能监控云服务(APM),监控部署在Oracle云基础设施容器引擎Kubernetes(OKE)集群上的微服务应用。


架构图显示了运行在Kubernetes集群中的微服务应用。该应用托管在应用服务器上,部署了两个副本。应用通过JDBC连接到Oracle自动化数据库。应用的最终用户通过Web用户界面连接到Oracle云上的服务器。


这种架构中展示的方法使用共享文件系统来部署和配置APM代理。此方法也适用于配置任何部署在Kubernetes上的Java应用服务器或Java框架的监控,如Oracle WebLogic服务器或Spring Boot。


简洁而精确,这个架构设计为企业提供了可靠的云服务体验。无论是中小企业上云,还是企业的出海业务,Oracle APM以其独特的优势,为企业提供了一个强大而灵活的云服务平台。通过简便的操作界面和高效的监控系统,企业可以更轻松地管理其云上业务,保障应用性能,实现业务的快速发展和扩展。


此架构包括以下组件:

租户

Oracle为您在Oracle云中注册时建立的安全且独立的部分,称为租户。在Oracle云中,您可以在自己的租户内创建、组织和管理资源。租户相当于一个公司或组织。通常,一家公司只有一个租户,并在该租户内反映其组织结构。一个租户通常与一个订阅关联,一个订阅通常只有一个租户。


区域

Oracle云基础设施区域是包含一个或多个数据中心的地理区域,称为可用性域。区域彼此独立,可以跨越国家甚至大洲。


分区

分区是Oracle云基础设施租户内的跨区域逻辑分区。使用分区来组织Oracle云中的资源、控制对资源的访问以及设置使用配额。要控制对特定分区中资源的访问,您需要定义策略,指定谁可以访问资源以及他们可以执行的操作。


虚拟云网络(VCN)和子网

VCN是您在Oracle云基础设施区域中设置的可自定义的软件定义网络。就像传统数据中心网络一样,VCN让您完全控制网络环境。VCN可以有多个不重叠的CIDR块,您可以在创建VCN后更改它们。您可以将VCN分割成子网,这些子网可以范围到区域或可用性域。每个子网由不与VCN中其他子网重叠的连续地址范围组成。创建后可以更改子网的大小。子网可以是公共的或私有的。

在这个架构中,托管Redis集群的所有计算实例都连接到一个单一的区域子网。


安全列表

对于每个子网,您可以创建安全规则,指定必须允许进出子网的流量的来源、目的地和类型。

此架构为TCP端口16379和6379添加了入站规则。端口6379为Redis客户端服务,端口16379用于Redis集群总线。


Kubernetes容器引擎

Oracle云基础设施容器引擎Kubernetes是一个完全托管的、可扩展的、高可用的服务,您可以用它将容器化应用部署到云端。您指定应用所需的计算资源,容器引擎Kubernetes在现有的租户中的Oracle云基础设施上为它们提供资源。容器引擎Kubernetes使用Kubernetes自动部署、扩展和管理跨主机集群的容器化应用。


自主交易处理

Oracle自主交易处理是一种自驾、自我保护、自我修复的数据库服务,专为交易处理工作负载优化。您无需配置或管理任何硬件,也无需安装任何软件。Oracle云基础设施负责创建数据库,以及备份、补丁、升级和调优数据库。


应用性能监控

Oracle云基础设施应用性能监控云服务(APM)是一种基于平台即服务(PaaS)的解决方案,它深入洞察您的应用性能,从终端用户到应用日志。服务整合了用户体验信息、应用度量和日志数据分析。

  • APM领域APM领域是Oracle云基础设施(OCI)的一种资源类型,包含APM监控的系统。每个APM领域都创建在标准OCI分区中,您可以定义OCI访问控制策略,以授予特定用户组对APM领域的访问权限。
  • 数据密钥数据密钥确保APM接受数据源收集的观察数据。在创建APM领域时生成数据密钥,有两种类型:公共数据密钥和私有数据密钥。
  • 数据上传端点URL数据上传端点是数据源发送观察结果的URL。在创建APM领域时生成数据上传端点,每个APM领域都有自己的数据上传端点。
  • APM Java代理APM Java代理从应用服务器记录跨度和度量,然后发送到APM。
  • APM浏览器代理APM浏览器代理记录用户与网站的互动,并将跨度和度量发送到APM。
  • 跟踪和跨度跟踪是一个请求在一定时间内通过分布式系统所有组件的完整流程。跨度包括跟踪中的操作或逻辑工作单元,并具有名称、开始时间和持续时间。

建议

您的需求可能与此处描述的架构不同。以下建议可作为Oracle云基础设施应用性能监控云服务(APM)的起点。

  • APM浏览器代理 部署APM浏览器代理到应用的Web界面,以启用终端用户监控。跟踪从浏览器上用户的动作开始。
  • 合成监控 配置合成监控以监测应用用户界面和API端点,以便主动检测可用性和性能问题。您可以创建基于浏览器或基于REST的监控,并安排它们定期从全球位置或租户虚拟云网络(VCN)内运行。

考虑因素

在使用Oracle云基础设施应用性能监控云服务(APM)时,请考虑以下因素。

  • 数据密钥 使用自定义数据密钥管理发送到APM的数据。除了默认数据密钥,您还可以为特定目的创建自己的数据密钥。在大型部署中,许多人使用APM时,向不同项目所有者提供不同的密钥,以便作为APM领域管理员,您可以轻松控制哪些数据进入APM,哪些不进入。
  • 例如,APM收到一个已放弃项目的数据集,您想停止数据收集。但由于项目所有者离开了组织,很难确定哪些代理需要关闭。您可以删除该项目使用的数据密钥,以忽略与该数据密钥相关的数据。
  • Kubernetes资源 在配置微服务时,考虑使用StatefulSets而不是Deployments来配置Kubernetes pod资源,以便在APM中更好地追踪历史。Deployment pod在每次重新生成时都会更改其ID,而StatefulSets重新生成时保持相同的ID索引(例如,SS_0, SS_1, SS_2),这简化了使用APM追踪历史。
  • APM服务名称 配置APM Java代理时,您需要指定在APM中使用的服务名称。考虑使用Deployment/StatefulSet名称作为APM的serviceName,以在APM中实现一致的追踪。
  • 采样 在高流量应用中使用采样(例如,每秒100万次交易)。APM默认收集所有跨度,并让您追踪应用的所有交易。然而,在高流量应用的情况下,这可能会产生许多跨度。在这种情况下,考虑明确指定采样配置,以提高成本效率并减少追踪数据量。

部署

在部署本参考架构中描述的APM Java代理时,请参考以下Oracle LiveLabs研讨会中的逐步指南。

以下实验室以Spring Boot和Oracle WebLogic Server应用为例。

Spring Boot:使用Oracle应用性能监控在Kubernetes上自动化部署Java微服务

WebLogic:使用Oracle应用性能监控在Kubernetes上部署的WebLogic服务器监控追踪


开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。


如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463woshiwhw123

或者可以进入以下群组进行咨询:

微信公众号

微信技术交流社群: