注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
使用堆栈监视管理 VM 磁盘利用率
简介
云管理员的主要职责之一是管理和监视组织环境中部署的资源。对于所有类型的负载,必须监视资源运行状况和不断变化,并确保所有负载都处于绿色状态 - 正常运行。
在计算实例中,存储在应用稳定性、运行和存储应用数据、数据库文件中的用户等方面起着重要作用。管理员必须监视和管理连接到计算实例的每个卷或磁盘的存储,以减轻用户和组织的应用程序崩溃、停机时间以及数据丢失。
堆栈监视是用于监视 Oracle Cloud Infrastructure (OCI) 中在 OCI 租户下部署的基础设施的可观察性和管理下的计算实例的服务之一。堆栈监视不仅允许存储每个磁盘,还允许在连接到计算实例的每个卷上创建的文件系统。除了存储之外,堆栈监视还提供计算实例的可用性、CPU、内存和磁盘活动以及分页度量。
栈监视功能
堆栈监视提供了用于快速预警和识别问题的工具,例如磁盘空间不足或 CPU 利用率高的文件系统。通过堆栈监视,您可以更深入地了解计算实例的运行状况和可用性状态。它还提供所监视的所有资源的编译后视图仪表盘。通过堆栈监视,您可以:
- 使用图形图表和表快速识别内存、CPU 或磁盘文件系统过度利用率等性能问题。
- 使用表轻松查看所有挂载点的文件系统利用率。提供所监视资源的任何打开预警的详细视图。
- 快速访问关键信息,例如 OS 版本、按严重性列出的打开的预警摘要以及主机上次状态更改的日期和时间的详细信息。
- 从堆栈监视表中查看给定度量的所有维和值。此信息有助于查看主机上所有文件系统的文件系统使用情况(以 GB 为单位),而无需登录到主机。
- 了解指示灯的磁盘活动,了解主机的繁忙程度。磁盘活动摘要报告主机上所有磁盘每秒的读取、写入和总操作数。
目标
了解如何使用堆栈监视管理 VM 磁盘利用率。
先决条件
-
创建或指定要使用的区间:
您可以创建新区间,也可以使用现有区间来安装和配置堆栈监视服务。有关区间的信息,请参阅“管理区间”。
指定监视区间时,请确保为代理以及本机 OCI 资源(例如数据库、计算实例)使用相同的区间。如果资源位于不同的区间中,则将资源移至堆栈监视代理的同一区间。
-
创建所有管理代理的动态组:
要与 OCI 服务端点交互,您必须明确创建一个动态组,以允许管理代理与管理代理服务 (Management Agent Service,MACS) 进行通信。要创建动态组,请执行以下操作:
-
在身份和安全性下,转至身份并单击动态组。
-
单击创建动态组。
-
在创建动态组对话框中,输入动态组的名称、说明和匹配规则,然后单击创建动态组。

例如,在 RULE 1 下创建一个名为 "Demo_DyanmicGroup_For_MonitoringAgent" 的动态组,其中包含以下详细信息:
ALL {resource.type='managementagent', resource.compartment.id='ocid1.compartment.oc1.examplecompartmentid'}
-
-
在动态组上创建策略:
您需要创建以下策略以允许管理代理与管理代理服务交互并允许管理代理上载数据。
-
策略 1:
ALLOW DYNAMIC-GROUP <Demo_DynamicGroup_For_MonitoringAgent >TO USE METRICS IN COMPARTMENT <compartment_name> where target.metrics.namespace = 'oracle_appmgmt'说明:允许代理将度量上载到“遥测”到“oracle_appmgmt”名称空间。此处,Management_Agent_Dynamic_Group 是区间中一组动态的管理代理。
-
策略 2:
ALLOW DYNAMIC-GROUP <Demo_DynamicGroup_For_MonitoringAgent> TO {STACK_MONITORING_DISCOVERY_JOB_RESULT_SUBMIT} IN COMPARTMENT <compartment_name>`说明:允许代理将数据上载到搜索服务。此处,Management_Agent_Dynamic_Group 是区间中一组动态的管理代理。
注:如果您对租户具有管理员权限,则可以跳过先决条件 4 和先决条件 5。如果管理员希望创建仅管理堆栈监视的用户,则需要遵循以下步骤。
-
-
创建用户和组:
最佳做法是创建单独的用户和组来管理与堆栈监视相关的操作。但是,默认情况下,管理员组及其用户将具有所需的权限。堆栈监视用户和组是使用 Oracle Cloud Infrastructure 中的身份和访问管理 (Identity and Access Management,IAM) 服务创建的。有关使用身份和访问管理 (Identity and Access Management,IAM) 服务创建和管理用户和组的信息,请参阅“管理用户和管理组”。创建堆栈监视所需的以下用户组。
分组 说明 StackMonitoringAdminGrp 执行管理员/操作员相关操作的用户组。 -
创建必需的策略:
堆栈监视策略是使用身份和访问管理 (Identity and Access Management,IAM) 策略创建的。此教程提供了一些具体示例来配置租户以利用堆栈监视。有关 OCI 策略的一般信息,请参阅“策略入门”。
为管理操作创建策略
下面是要定义的策略列表,以允许可以执行管理操作的用户,即属于
StackMonitoringAdminGrp组的用户。-
策略 1:
ALLOW GROUP StackMonitoringAdminGrp TO MANAGE stack-monitoring-family IN COMPARTMENT <compartment_name>说明:允许
StackMonitoringAdminGrp组中的用户在区间中执行管理操作。 -
政策 2:
ALLOW GROUP StackMonitoringAdminGrp TO {MGMT_AGENT_DEPLOY_PLUGIN_CREATE, MGMT_AGENT_INSPECT, MGMT_AGENT_READ} IN COMPARTMENT <compartment_name>说明:允许
StackMonitoringAdminGrp组中的用户在资源搜索期间列出/读取代理并部署 Stack Monitoring Management Agent 插件(如果管理代理尚未在区间范围内)。 -
政策 3:
ALLOW GROUP StackMonitoringAdminGrp TO READ metrics IN COMPARTMENT <compartment_name>说明:允许
StackMonitoringAdminGrp组中的用户读取区间中的度量。 -
政策 4:
ALLOW GROUP StackMonitoringAdminGrp to READ instances IN COMPARTMENT<compartment_name>说明:允许
StackMonitoringAdminGrp组中的用户读取区间中的实例。 -
政策 5:
ALLOW GROUP StackMonitoringAdminGrp to MANAGE external-database-family IN COMPARTMENT <compartment_name>说明:允许
StackMonitoringAdminGrp组中的用户管理区间中的外部数据库。 -
政策 6:
ALLOW GROUP StackMonitoringAdminGrp to MANAGE alarms IN COMPARTMENT<compartment_name>说明:允许
StackMonitoringAdminGrp组中的用户管理区间中的预警。 -
政策 7:
ALLOW GROUP StackMonitoringAdminGrp to USE ons-topics IN COMPARTMENT <compartment_name>说明:允许
StackMonitoringAdminGrp中的用户列出、创建、更新、删除和移动租户中主题的订阅。
-
任务 1:安装管理代理
必须安装管理代理插件,因为使用堆栈监视服务需要此插件。
-
登录到 Oracle Cloud 控制台,从导航菜单中,单击计算,然后单击实例。
-
单击您感兴趣的实例。
-
单击 Oracle Cloud Agent 选项卡。此时将显示插件列表。
-
切换管理代理插件的已启用开关。

启用代理后,需要大约 10-15 分钟的时间才能更改为运行状态。
任务 2:验证监视代理 ID
-
从导航菜单中,登录到 Oracle Cloud 控制台,单击观察和管理。
-
选择管理代理服务。
-
从“Compartment(区间)”下拉列表中选择区间,您将看到为各自的计算实例启用的代理列表。

-
选择要为其启用堆栈监视的计算实例的代理,并记下监视的“代理 ID”以供将来使用。

任务 3:运行堆栈监视搜索作业
最后一步是通过提升 OCI 计算实例来运行搜索作业。您可以更全面地监视计算实例,并洞察其使用的资源。在此步骤中,您需要打开 OCI 门户中的 Cloud Shell。
-
单击主页中的 OCI Cloud Shell 并显示以下窗口。此外,您还可以在安装了 OCI CLI 的设备上执行该步骤。

-
使用命令
oci –version验证 OCI CLI 版本。堆栈监视命令将在 OCI CLI 3.XX 或更高版本上运行。 -
在云 shell 中的任何目录下创建名为
parameters.json的 JSON 文件。复制下面提供的 JSON 并将 ""、" "、" " 替换为您各自的参数。要更改的参数的详细信息在“JSON 输入参数”表中提供: { "discoveryType": "ADD", "discoveryClient": "host-discovery", "compartmentId": "<Compartment-ID>", "discoveryDetails": { "agentId": "<Agent-ID>", "resourceType": "HOST", "resourceName": "<HostName or IP Address>", "properties": { "propertiesMap": {} } } }JSON 输入参数
输入字段 说明 compartmentId 计算实例所在的区间 OCID。 agentId 监视资源的管理代理的 OCID。 resourceName 堆栈监视中主机的全限定域名 (FQDN)。 -
保存以上 JSON 文件后,通过将
<path_to_JSON_file>参数替换为上一步中创建的 JSON 文件的实际路径来执行以下命令。可以使用pwd命令获取 JSON 文件路径。oci stack-monitoring discovery-job create --compartment-id "your-compartment-id" --from-json file://< path_to_JSON_file>
-
该过程最多可能需要 5-10 分钟才能完成,刷新 OCI 门户后,您将能够看到“堆栈监视”已启用以及“堆栈监视”页上的完整仪表盘。提升后,计算实例的资源类型为主机。

-
在资源搜索下检查促销作业的状态以验证搜索资源的成功。

-
在堆栈监视仪表盘上,选择资源块,将显示您启用了监视的计算实例和主机的列表。

-
从列表中选择所需的主机,将显示为该特定主机显示的度量和表的详细视图。

主机信息和度量显示为资源详细信息页上的图表和表。



可以选择已用文件系统 (GB) 和文件系统使用率 (%) 来获取有关主机中存在的存储的更具体的信息。表视图以表样式/格式提供所有度量。

选择实例的特定信息后,它将显示在百分比和存储中(以 GB 为单位)。主机中提供的每个文件系统都以表格式表示挂载点。

任务 4:启用预警
-
在主机的“资源详细信息”页中显示度量后,要获取特定度量的预警,请导航到可观察性和管理、监视和预警状态。
-
单击创建预警,然后键入预警的名称和严重性。选择主机区间的名称空间 "oracle appmgmt,resource group host,并从下拉列表中选择度量名称。
-
根据要求,选择 "Filesystem Used"(已用文件系统)或 "Filesystem Utilization"(文件系统利用率)度量、间隔期间和统计信息。
-
选择度量后,选择度量维。
• 要指定特定主机,请选择“agentHostName”,然后从下拉菜单中选择主机的维值。
• 接下来,单击附加维,选择“fileSystemName”,然后从列表中选择要为其触发预警的挂载点的维值。
-
在“触发器”部分规则中,设置将警报置于触发状态的条件。例如,对于 agentHostName - "XXXX" 和 "fileSystemName" - "/Dev",带有统计信息 - "mean"。如果文件系统存储超过 90%,则触发“存储已满”预警。
-
在“定义预警通知”部分中选择“目标服务 - 通知”和“主题”,在此主题中指定了要接收此特定预警的电子邮件地址。有关主题的通知和创建的详细信息,请单击此处。
-
此外,您还可以选择消息格式以获得更好的预警格式设置。如果要接收相同度量的连续预警,请选中重复通知复选框。
-
保存预警。

-
定义的规则与度量匹配后,将触发预警,下面是度量预警的示例屏幕截图:

您可以利用 OCI Stack Monitoring and Alarms 功能提供的高级指标来监视计算基础设施,特别是在存储领域。您还可以了解针对不同服务的堆栈监视的更多功能。
相关链接
致谢
- Authors - Akarsha I K(Cloud Architect),Maninder Flora(Cloud Architect)
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Manage VM disk utilization using Stack Monitoring
F75078-01
December 2022
Copyright © 2022, Oracle and/or its affiliates.