端到端监控的目标是为在OCI上运行的业务提供服务级别和关键性能目标监控。随着组织将工作负载转移到OCI,他们需要能够确定服务级别是否与本地环境保持一致或有所改进。
此外,如果这些OCI工作负载与其他部署(本地或其他云)集成,则它们需要跨混合和多云资产的可见性。在所有情况下,当出现性能问题时,他们都需要了解其业务交易,以了解根本原因源自何处,以便他们能够快速修复问题并确保积极的最终用户体验。
统一了解应用程序的执行情况并在潜在问题影响客户之前发现它们对业务至关重要。监控不仅限于性能指标或主机错误日志,还可以跨越各种数据源,例如来自OCI的审计日志、应用程序和堆栈组件遥测、用户行为和单个应用程序和/或来自OCI的使用数据,详细说明使用了哪些资源以及使用了多少。
对于OCI上的工作负载,这涵盖了我们可以提供的所有监控,从客户端的浏览器一直到OCI的各个组件。提供了在所有层的性能和运行状况的统一视图。如果发现问题,将专门构建的机器学习应用于大量指标和日志,使用户能够快速深入了解细节并更好地了解根本原因和补救步骤。
除了监控,我们还提供主动帮助客户识别和避免潜在问题的功能。这是通过将异常检测算法应用于指标或日志数据、预测资源使用情况和安排健康检查来探测解决方案的关键部分来实现的。警报可以根据各种条件和阈值触发,并可用于提醒人们或触发自动修复任务。
今天的应用程序和解决方案可以由许多使用不同技术的组件组成,或者驻留在不同的公共云、客户云或本地环境中。
OCI提供开箱即用和附加服务的组合供客户根据自身的需求进行选择,为客户提供他们所需的端到端监控,以确保他们的工作负载以最佳方式运行。目前,OCI上面提供了下面这些开箱即用的监控服务:
事件
OCI事件服务发出事件,这些事件是指示OCI资源状态更改的结构化消息。例如:启动实例、终止实例、创建/更新/删除对象。通知服务可以将事件路由到适当的渠道,或将事件发送到函数中以获取可操作的项目,例如在实例启动时通知特定团队。可以在此处找到发出事件的OCI服务列表。
指标
来自OCI Monitoring的指标在指标浏览器中开箱即用,提供了OCI控制台中指标的全面视图。监控服务允许定义资源指标的阈值以生成警报。警报可以进一步输入通知服务。OCI指标还可以与第三方工具集成,这些工具与云供应商无关,例如 Grafana,一个用于监控和分析的开源平台。
OCI提供了一个 Grafana 插件,它使OCI作为数据源可以在单个Grafana 仪表板中查看OCI资源或OKE集群使用的OCI资源的指标。下面列出了在撰写本文时发出指标的OCI服务。
Block Storage
Compute
Database
Events
Load Balancing
Key Management
Networking
Notifications
Object Storage
Functions
Streaming
WAF (Web Application Firewall)
可以在此处
https://docs.oracle.com/en-us/iaas/Content/Monitoring/Concepts/monitoringoverview.htm
找到有关指标服务的更多信息,包括。发出指标的OCI服务的最新列表。
健康检查
运行状况检查为用户提供外部监控功能,以确定任何面向公众的服务的可用性和性能,包括托管网站、API端点或面向外部的负载平衡器。
日志
在OCI资源上进行API操作的审计日志事件在OCI审计控制台中可用,并且可以通过命令行界面 (CLI) 或通过REST API导出,以供其他第三方工具使用,例如Splunk以获取单一控制板视图(Single Pane of Glass View)。
附加服务
虽然开箱即用的服务是免费提供的,但客户可以选择附加服务来使用数据并提供分析和进一步的洞察。
附加服务目前是日志分析服务、应用程序性能监控服务 (APM)。
这些服务可以收集和摄取不同类型的指标和日志,日志和指标数据可以通过三种方式提供:通过本机OCI资源自动发出数据、通过客户可以部署的预打包代理或通过使用行业标准接口(如 REST API)。
简单的端到端用例
下图显示了一个简单的2层架构,包含以下组件:
在OCI上运行Oracle数据库的数据库层
2 个应用层托管WebLogic应用服务器以及在OCI上运行的Web服务器前端
前端Web服务器的OCI负载均衡器。
所有这些组件都在单独的子网中运行,LBR子网是唯一的公共子网。
该图显示了以浅蓝色突出显示的3个不同的监控组件:
云代理:在操作系统中运行,从操作系统和其他应用程序(如 Web 服务器、数据库等)收集指标和日志。云代理还可以收集通过syslog 流式传输的日志,并且可以从其他数据收集机制(例如 Collectd、Telegraf、 Mircosoft SCOM 和 VMWare VCenter Ops。
APM 代理:在应用服务器内运行,主要是对其进行检测并提供有关在应用服务器上运行的应用程序执行的详细信息
APM 浏览器代理:在客户端浏览器中查看的网页中嵌入 Javascript,以检测设备级别的最终用户性能。Java script在网页加载时执行,并将信息发送回应用程序性能监控服务。
除了上面提到的三个组件之外,OCI 还自动为许多本机资源提供指标。例如。您不能在块存储卷或 VCN 上安装代理,但这些资源会自行发出预定义的指标。
下表列出了可以收集和用于监控上述解决方案的所有不同类型的指标和日志:
Log Analytics Service
Log Analytics Service 用于日志事件摄取、分析、字段丰富和索引。可以从多个来源安全地摄取日志数据。通过了解预定义实体类型形式的日志结构和内容以及开箱即用的日志源,从基础设施和应用程序收集的日志有助于关联活动、解决问题并提供可操作的见解。目前以下是通过 Log Analytics 摄取日志的三种方法
云代理
可以持续收集注册实体的日志文件。日志源需要与实体类型相关联,以便云代理知道它应该收集什么。通常代理安装在产生日志的服务器上。
按需上传客户端ODU
对于临时或按需场景,可以使用 ODU(On-Demand Upload)客户端。ODU 客户端是一种命令行工具,可用于在一次操作中摄取多个文件。
RestAPI(需要服务请求才能启用)
REST API 是开发人员/DevOps 团队可以用来编排日志摄取的另一个选项。
在加载和丰富的数据上,可能的操作是对日志进行分析和探索(搜索),关联和获取关键值并获得对数据的操作洞察。
交互式数据可视化是关键,它提供了各种选项,例如通过饼图、条形图和直方图等图形将数据与一个或多个参数进行比较和对比。这有助于汇总数据并在需要的地方深入挖掘数据集。
对于高级分析,日志分析服务使用机器学习来识别来自不同数据集的模式并将它们分组到聚集中。通过对来自不同数据集的模式进行聚类,异常值或突出的模式就是结果。相反,如果用例/高级分析需要从不同的数据集中挑选特定的日志记录并将它们分组以进行进一步分析,那么“链接”功能提供了这样的功能。
聚集上的链接是一个混合用例,让日志分析服务在模式上聚集并使用链接对日志记录进行分组以进行其他模式/分析。
应用性能监控服务
Oracle Application Performance Monitoring 是一项云服务,可提供对客户Web应用程序性能的深入可见性。使用Oracle应用程序性能监控,您可以:
快速隔离应用程序性能问题
深入到问题上下文中的相关日志并找到其根本原因
获得对所有层级应用程序性能的端到端可见性
监控最终用户体验
Web应用程序的监控是通过使用APM Java 代理实现的,APM Java 代理是一个轻量级代理,它在Web应用程序的Java 虚拟机 (JVM) 中运行,并为在您的数据中心或云中运行的 Java Web应用程序收集性能监控数据。
使用 Oracle APM,您可以通过跟踪跨服务器的事务来确定导致应用程序问题的确切层,查看该问题是否特定于某个地理区域,并在应用程序性能的上下文中自动查看应用程序日志,从而监控应用程序的性能.当我们拥有来自全球分布式测试代理的数据以及来自应用程序内部的数据时,确定问题是出在应用程序上还是区域网络问题变得更加容易。
综合监控(Synthetic Monitoring)有助于模拟应用程序中用户通常会采用的路径,并确保用户可以顺利过渡到路径中的不同网页。这有助于在最终用户体验之前识别应用程序性能问题。综合监控允许执行以下类型的测试:
HTTP Ping —测试应用程序的连接性和性能
页面加载——测试单个 URL 的性能,由浏览器加载
脚本操作 - 测试使用 Selenium 脚本记录的完整工作流的性能。
Rest Web 服务— 测试使用 REST Web 服务的完整工作流的性能。
APM通过监控最终用户体验、服务器请求、应用程序服务器和其他实体来监控应用程序性能。最终用户体验监控是通过密切关注应用程序的各个方面来完成的,包括页面性能、AJAX 请求监控和应用程序请求性能监控。