监视 Oracle NoSQL Database Cloud Service
Oracle Cloud Infrastructure Monitoring 服务支持您使用度量和警报功能主动和被动监视云资源。监视服务使用度量监视资源和预警,以便在这些度量满足预警指定的触发器时通知您。
度量是与给定资源的健康状况、容量或性能相关的度量。预警是触发器规则和查询。预警使用指标被动监视云资源。您可以在创建预警时配置通知设置。
度量作为原始数据点(指定度量的时间戳值对)以及维(度量定义中提供的资源标识符)和元数据发送到监视服务。监视服务会将预警消息发布到通知服务管理的已配置目标。
查询度量时,监视服务将根据指定的参数返回聚集数据。您可以指定范围(例如过去 24 小时)、统计信息和间隔。统计信息是应用于原始数据点的聚合函数。SUM 聚合函数是统计信息的一个示例。间隔是用于转换指定的一组原始数据点的时间窗口。例如,5 分钟。
控制台针对所选资源为每个度量显示一个监视图表。每个图表中的聚合数据反映您选择的统计信息和间隔。API 请求可以选择按维筛选并指定解决方案。API 响应包括度量名称及其源区间和度量名称空间(指示发出度量的资源、服务或应用程序)。度量定义中提供了名称空间。例如,Oracle Cloud 发出的 CpuUtilization 度量定义将 oci_computeagent
度量名称空间列为度量的源。
可以通过控制台、CLI 和 API 访问度量和预警数据。有关 OCI 监视服务概念的更多信息,请参阅监视概念。
本文章包含以下主题:
Oracle NoSQL Database Cloud Service 度量
Oracle NoSQL Database Cloud Service 使用度量名称空间 oci_nosql
发出度量。
RESOURCEID
Oracle NoSQL Database Cloud Service 中 NoSQL 表的 OCID。注意:
OCID 是 Oracle 分配的唯一 ID,包含在控制台和 API 中作为资源信息的一部分。TABLENAME
Oracle NoSQL Database Cloud Service 中 NoSQL 表的名称。
REPLICA
从另一个区域接收表更新的区域的名称。
表 - Oracle NoSQL Database Cloud Service 度量
度量 | 度量显示名称 | 单位 | 说明 | 尺寸 |
---|---|---|---|---|
ReadUnits |
读取单位数 | 单元 | 在此期间内消耗的读取单位数。 | resourceId tableName |
WriteUnits |
写入单位数 | 单元 | 在此期间内消耗的写入单位数。 | resourceId tableName |
StorageGB |
存储大小 | GB | 表所消耗的最大存储量。由于此信息是每小时生成的,因此您可能会看到刷新点之间的值已过时。 | resourceId tableName |
ReadThrottleCount |
读取限制 | 计数 | 该时间段内该表的读取限制异常数。 | resourceId tableName |
WriteThrottleCount |
写入限制 | 计数 | 该时间段内该表的写入限制异常数。 | resourceId tableName |
StorageThrottleCount |
存储限制 | 计数 | 该时间段内该表的存储限制异常数。 | resourceId tableName |
MaxShardSizeUsagePercent |
最大份额使用量 | 百分比 | 分片中使用的空间与分配给分片的总空间的比率。这是特定于表的,是所有分片中的最高值。 | resourceId tableName |
Replica Lag |
副本延迟 | 毫秒 | 将全局活动表的数据更改从发件人区域复制到接收者区域的时间延迟。 |
|
此外,您可以根据需要发布定制度量。例如,您可以设置度量来捕获应用事务处理延迟(每个已完成事务处理花费的时间),然后将这些数据发布到监视服务。
NDCS 度量说明
Oracle NoSQL Database Cloud Service 将度量发送到 Oracle Cloud Infrastructure Monitoring Service。
读取单位数:
在此期间内消耗的读取单位数。对于最终一致的读取操作,该吞吐量为每秒 1 KB 的数据。如果数据大于 1 KB,则需要多个读取单位来读取数据。表的“读取单位”度量图表如下所示。度量每分钟获取一次,默认情况下度量图表的绘制时间间隔为 5 分钟。
写入单位数:
在此期间内消耗的写入单位数。它是指写入操作的吞吐量(按每秒 1 KB 数据计算)。写入操作在插入、更新和删除操作期间触发。如果数据大于 1 KB,则需要多个读取单位来编写数据。表的“写入单位”度量图表如下所示。度量每分钟获取一次,默认情况下度量图表的绘制时间间隔为 5 分钟。
StorageGB:
注意:
创建表后需要一小时的时间来植入存储大小跟踪的开始。初始小时后,存储统计信息每 5 分钟更新一次。注意:
存储 GB 度量被截断。因此,小于 1 GB 的存储使用量将显示为 0。当使用量大于 1 GB 时,图表将开始显示存储。ReadThrottleCount:
这将计算指定表中在时段内的读取限制异常数。限制异常错误通常表示已超出预配的读取吞吐量。如果你经常得到这些,那么你应该考虑增加你的表的读取单位。表的读取限制计数度量图表如下所示。度量每分钟获取一次,默认情况下度量图表的绘制时间间隔为 5 分钟。
WriteThrottleCount:
这将计算指定表中在时段内的写入限制异常数。限制异常错误通常表示已超出预配的写入吞吐量。如果你经常得到这些,那么你应该考虑增加表上的写入单位。表的写入限制计数度量图表如下所示。度量每分钟获取一次,默认情况下度量图表的绘制时间间隔为 5 分钟。
StorageThrottleCount:
这将计算指定表中在时段内的存储限制异常数。限制异常错误通常表示已超出预配的存储容量。如果经常获得这些数据,则应考虑增加表的存储容量。表的存储限制计数度量图表如下所示。度量每分钟获取一次,默认情况下度量图表的绘制时间间隔为 5 分钟。
MaxShardSizeUsagePercent
注意:
Oracle NoSQL Database Cloud Service 将密钥散列到分片,以便在为表提供存储的存储节点集合上提供分发。虽然对您不可见,但 Oracle NoSQL Database Cloud Service 表会进行分片和复制,以提高可用性和性能。分片键 100% 与主键匹配,或者是主键的子集。共享分片键的所有记录均共存,以实现数据位置。当 maxShardSizeUsagepercent
达到 100 时,无法再在表中执行写入操作。您必须增加存储容量才能对表执行写入。此度量有助于确定 NoSQL 表是否存在存储热点。
发生这种情况的原因是分片之间表数据存储方式不平衡。当大多数表数据存储在分片子集中时,可能会出现不平衡。对 NoSQL 数据库中的存储进行分片,分片键是表定义的一部分。在分层表中,父表和子表共享相同的分片键。如果父表包含子表,则所有记录共享相同的分片键。因此,所有这些数据将存储在一起。如果父表的子代较少,则单个分片中的存储空间会较少。由于这种不平衡,某些分片可能包含的数据比其他分片多得多。
在某个时间点,一个分片对特定表的空间使用率最高,该分片中使用的百分比为 MaxShardSizeUsagePercent。表的 maxShardSizeUsagepercent
度量图表如下所示。度量每分钟获取一次,默认情况下度量图表的绘制时间间隔为 5 分钟。
除了查看度量图表之外,您还可以选择以下选项。
可以获取表视图来检查给定时间点度量值。
监视 MaxShardSizeUsagePercent 度量
您必须定期监视此图表以了解是否已达到 maxShardSizeUsagepercent
。可以主动为此度量创建预警。
也就是说,当度量达到特定值时,您应该触发预警,例如 90%。
OCI 预警使用 OCI 通知服务发送通知。通常,警报将配置为通过配置的电子邮件发送通知。当 maxShardSizeUsagepercent
达到 90% 时,将发送电子邮件通知。
有关更多详细信息,请参阅管理预警和通知。
maxShardSizeUsagepercent
也会达到 100 的值。现在,您需要添加更多存储空间才能继续写入表。设计表时,可遵循一些准则来避免这种情况。
- 确定表的正确分片键。具有高基数的属性是分片键的理想选择。
- 限制子表的数量,以避免潜在的分片存储不平衡情况。
副本延迟
将全局活动表的数据更改(INSERT/UPDATE 或 DELETE)从发件人区域复制到接收者区域的时间延迟。在全局活动表的发送方区域中发生的写入操作会在一段时间后反映在接收方区域中。有关时间滞后的信息表示为称为“副本滞后”的度量。副本延迟是衡量接收器复制区域中的表数据相对于发送器区域表中的数据的当前情况的度量。副本延迟表示接收方区域中的表尚未从延迟期间发生的发送方区域接收更新。如果发件人区域没有对表进行应用程序写入,该服务将使用 ping 机制计算滞后的近似值,并且滞后统计信息仍将在接收者区域中可用。
获取有关副本延迟的信息:
在接收器区域中,单击 "Global Active" 表并查看表信息。在资源下,单击度量。您将看到一个度量 Replica lag ,该度量显示复制滞后(以毫秒为单位)。在下面的示例图表中,您会看到 "Replica Lag"(副本延迟)度量取自加拿大东南部(多伦多)区域,该区域是接收方区域。此 Global Active 表有两个区域表副本,分别位于加拿大东南部(蒙特利尔)和美国东部(阿什本)区域。您会看到,该图表在蒙特利尔和阿什本的这些区域表副本各包含两行一。
在下面的图表中,“间隔”指示用于绘制图表的时间窗口。可用的各种间隔选项包括 1 分钟、5 分钟、1 小时和 1 天。默认情况下,副本延迟每 1 分钟进行一次监视,图表每 5 分钟绘制一次。可以为 "Replica Lag"(副本滞后)度量选择不同的统计信息。
示例 1: Replica 滞后,加拿大东南部(多伦多)为接收方区域,加拿大东南部(蒙特利尔)和美国东部(阿什本)为发送方区域。
下面的图表按 5 分钟的间隔绘制均值统计信息。
在此示例中,蒙特利尔和阿什本是两个发件人区域,多伦多是捕获度量的接收者区域。考虑蒙特利尔时间 12:25 的 Replica Lag 值。2020 毫秒。这意味着接收方区域加拿大东南部(多伦多)在过去的 2020 毫秒内没有收到发送方区域加拿大东南部(蒙特利尔)发生的更新。同样,考虑阿什本的副本滞后时间为 12:25 的值。2954 毫秒。这意味着接收方区域加拿大东南部(多伦多)在过去的 2954 毫秒内没有收到发送方区域美国东部(阿什本)发生的更新。
示例 2:副本延迟,以美国东部(阿什本)为接收方区域,加拿大东南部(蒙特利尔)和加拿大东南部多伦多为发送方区域。
在此示例中,蒙特利尔和多伦多是两个发送方区域,而阿什本是捕获度量的接收方区域。
示例 3:副本延迟,将加拿大东南部(蒙特利尔)作为接收方区域,将美国东部(阿什本)和加拿大东南部多伦多作为发送方区域。
在此示例中,阿什本和多伦多是两个发件人区域,蒙特利尔是捕获度量的接收者区域。
除了查看副本延迟的图表之外,您还可以选择以下选项。
可以获取表视图来检查指定时间点的副本滞后值。
查看或列出 Oracle NoSQL Database Cloud Service 度量
您可以从控制台查看可用于 Oracle NoSQL Database Cloud Service 的度量。此外,您还可以使用 OCI CLI 命令获取可用于 Oracle NoSQL Database Cloud Service 的度量列表。
- 打开导航菜单,然后单击观测和管理。在监视下单击服务度量。
- 选择区间和度量名称空间 (oci_nosql )。
在 Cloud Shell 中运行以下命令。它返回与请求中指定的标准匹配的度量定义。需要提供区间 OCID。有关 list 命令提供的 OPTIONS 的更多信息,请参见 List Metrics 。
oci monitoring metric list --compartment-id <Compartment_OCID> --namespace oci_nosql
oci monitoring metric list --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya --namespace oci_nosql
{
"data": [
{
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
"tableName": "demo"
},
"name": "ReadThrottleCount",
"namespace": "oci_nosql",
"resource-group": null
},
{
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
"tableName": "demo"
},
"name": "ReadUnits",
"namespace": "oci_nosql",
"resource-group": null
},
{
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
"tableName": "demo"
},
"name": "StorageGB",
"namespace": "oci_nosql",
"resource-group": null
},
{
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
"tableName": "demo"
},
"name": "StorageThrottleCount",
"namespace": "oci_nosql",
"resource-group": null
},
{
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
"tableName": "demo"
},
"name": "WriteThrottleCount",
"namespace": "oci_nosql",
"resource-group": null
},
{
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyasvdkoclhgryulgzox3nvlxb2bqtlxxsrvrc4zxr6lo4a",
"tableName": "demo"
},
"name": "WriteUnits",
"namespace": "oci_nosql",
"resource-group": null
}
]
}
如何收集 Oracle NoSQL Database Cloud Service 度量?
您可以构建度量查询来收集特定的度量集(聚合数据)。度量查询包含用于计算返回聚集数据的监视查询语言 (Monitoring Query Language,MQL) 表达式。查询必须指定度量、统计信息和间隔。
您可以使用度量查询主动和被动监视云资源。通过自动按需生成的度量查询来主动监视。在控制台中,更新图表以显示来自多个查询的数据。存储要重用的查询。使用向度量查询添加条件或触发规则的预警被动监视。
metric[interval] {dimensionname=dimensionvalue}.groupingfunction.statistic
metric[interval]{dimensionname=dimensionvalue}.groupingfunction.statistic alarmoperator alarmvalue
有关支持的参数值,请参阅监视查询语言 (MQL) 参考。
示例查询
简单度量查询区间中所有表的存储调节计数总和,间隔为一分钟。
度量图表(控制台)中显示的行数:每个表 1。
StorageThrottleCount[1m].sum()
筛选的度量查询区间中存储调节计数的总和,间隔为一分钟,筛选为单个表。
度量图表(控制台)中显示的行数:1。
StorageThrottleCount[1m]{tableName = "demoKeyVal"}.sum()
聚集度量查询间隔为 60 分钟的读取操作的聚合平均值,筛选为区间(按平均值聚合)。
度量图表(控制台)中显示的行数:每个表 1。
ReadUnits[60m]{compartmentId="ocid1.compartment.oc1.phx..exampleuniqueID"}.grouping().mean()
组聚合的度量查询按读取单位列出的读取限制计数的汇总平均值(以 60 分钟为间隔),筛选为区间中的单个表。
度量图表(控制台)中显示的行数:每个读取单位 1。
ReadThrottleCount[60m]{tableName = "demoKeyVal"}.groupBy(ReadUnits).mean()
创建度量查询
创建度量查询有两种方法。可以使用控制台或 OCI CLI 命令创建查询。
- 打开导航菜单,然后单击观测和管理。在监视下,单击度量浏览器。
度量浏览器页显示一个空图表,其中包含用于构建查询的字段。
- 为新查询填写字段。
- 区间:包含要监视的 Oracle NoSQL Database Cloud Service 表的区间。默认情况下,选择第一个可访问的区间。
- 度量名称空间:Oracle NoSQL Database Cloud Service 为要监视的表发出度量。示例:oci_nosql。
- 资源组(可选):度量所属的组。资源组是随定制度量提供的定制字符串。不适用于服务度量。
- 度量名称:度量的名称。只有一个度量可以指定。度量选择取决于所选区间和度量名称空间。示例:ReadUnits
- 间隔:汇总窗口。
- 统计信息:聚合函数。
- 度量维:用于缩小评估的度量数据的可选筛选器。
- 维字段:对于 Oracle NoSQL Database Cloud Service 度量,可以选择 resourceId 或 tableName 作为维名称和维值对。
- 聚集度量流:在度量图表上绘制一条线,表示所选统计信息的所有度量流的组合值。
- 单击更新图表。
该图表显示新查询的结果。极小或大值由国际单位体系(SI 单位)表示,例如 M 为大(10 至第六功率)。单位与所选度量相对应,不按统计信息更改。
- 要以监视查询语言 (Monitoring Query Language,MQL) 表达式形式查看查询,请选择高级模式。
- 高级模式位于图表的右侧。
使用高级模式使用 MQL 语法编辑查询,以按组汇总结果。MQL 语法还支持其他参数值。有关基本模式和高级模式中的查询参数的详细信息,请参阅监视查询语言 (MQL) 参考。
- 高级模式位于图表的右侧。
在 Cloud Shell 中运行以下命令。它返回与请求中指定的标准匹配的聚合数据。需要提供区间 OCID。
oci monitoring metric-data summarize-metrics-data --compartment-id<Compartment_OCID> --namespace oci_nosql --query-text [text]
--query-text
是要在搜索要聚合的度量数据点时使用的监视查询语言 (Monitoring Query Language,MQL) 表达式。查询必须指定度量、统计信息和间隔。支持的间隔值:1m-60m(也为 1h)。可以选择指定维和分组函数。支持的分组函数:grouping()、groupBy()。有关 summary-metrics-data 命令中提供的选项的更多信息,请参见 Summarize Metrics Data 。在下面的示例中,我们将创建一个筛选的度量查询,以按分钟间隔获取区间中读取单位总和(筛选为单个表)。
oci monitoring metric-data summarize-metrics-data --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya
--namespace oci_nosql --query-text 'ReadUnits[1m]{tableName="articles"}.sum()'
{
"data": [
{
"aggregated-datapoints": [
{
"timestamp": "2022-02-17T11:03:00+00:00",
"value": 0.0
},
{
"timestamp": "2022-02-17T11:04:00+00:00",
"value": 0.0
},
{
"timestamp": "2022-02-17T11:05:00+00:00",
"value": 0.0
},
...
...
...
{
"timestamp": "2022-02-17T13:59:00+00:00",
"value": 0.0
},
{
"timestamp": "2022-02-17T14:00:00+00:00",
"value": 0.0
},
{
"timestamp": "2022-02-17T14:01:00+00:00",
"value": 0.0
}
],
"compartment-id": "ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya",
"dimensions": {
"resourceId": "ocid1_nosqltable_oc1_phx_amaaaaaau7x7rfyav7f67yuj3t2q6rk7lp2a2obfdxa6hg2ho2ea7qabin4q",
"tableName": "demo"
},
"metadata": {},
"name": "ReadUnits",
"namespace": "oci_nosql",
"resolution": null,
"resource-group": null
}
]
}
创建预警
您可以创建评估预警查询的预警,并在预警处于触发状态时发送通知以及其他预警属性。触发后,预警会将预警消息发送到已配置主题(在通知中),然后将消息发送到该主题的所有订阅。Slack、Email、SMS 和 PagerDuty 是通知中配置主题的一些示例。
配置后,重复通知会提醒您按配置的重复间隔继续触发状态。当警报转换回正常状态或重置警报时,也会通知您。
预警查询包含用于计算返回聚集数据的监视查询语言 (Monitoring Query Language,MQL) 表达式。查询必须指定度量、统计信息和间隔。
有两种方法可以创建报警。可以使用控制台或 OCI CLI 创建查询。
- 打开导航菜单,然后单击观测和管理。在监视下,单击预警定义。
- 单击创建预警。
注意:
您还可以从“服务度量”页上的预定义查询创建预警。展开“Options(选项)”,然后单击“Create an Alarm on this Query(在此查询上创建预警有关服务度量的详细信息,请参阅查看或列出 Oracle NoSQL Database Cloud Service 度量。 - 在创建预警页的定义预警下,填写或更新预警设置:
注意:
要在 "Basic Mode" 和 "Advanced Mode" 之间切换,请单击 Switch to Advanced Mode 或 Switch to Basic Mode (在 "Define Alarm" 右侧)。- 预警名称:新预警的用户友好名称。此名称作为与此预警相关的通知的标题发送。请避免输入机密信息。
- 报警严重性:报警处于触发状态时所需的感知响应类型。
- 预警正文:提供的通知的可读内容。Oracle 建议为操作员提供解决预警条件的指导。示例:"High Read Throttle Count"。
- 标记(可选):如果您具有创建资源的权限,则还有权对该资源应用自由格式的标记。要应用定义的标记,您必须有权使用标记名称空间。有关标记的更多信息,请参见 Resource Tag 。如果不确定是否应用标记,则跳过此选项(可在以后应用标记)或询问管理员 )。
- 度量说明:要评估预警条件的度量。
- 区间:包含要监视的 Oracle NoSQL Database Cloud Service 表的区间。默认情况下,选择第一个可访问的区间。
- 度量名称空间:Oracle NoSQL Database Cloud Service 为要监视的表发出度量。示例:oci_nosql。
- 资源组(可选):度量所属的组。资源组是随定制度量提供的定制字符串。不适用于服务度量。
- 度量名称:度量的名称。只有一个度量可以指定。度量选择取决于所选区间和度量名称空间。示例:ReadUnits
- 间隔:汇总窗口。
- 统计信息:聚合函数。
- 度量维:用于缩小评估的度量数据的可选筛选器。
- 维字段:对于 Oracle NoSQL Database Cloud Service 度量,可以选择 resourceId 或 tableName 作为维名称和维值对。
- 聚集度量流:在度量图表上绘制一条线,表示所选统计信息的所有度量流的组合值。
- 触发规则:要使预警处于触发状态,必须满足的条件。条件可以指定阈值,例如 StorageGB 的 90%。
- 运算符:条件阈值中使用的运算符。
- 值:要用于条件阈值的值。
- 触发延迟分钟数:在预警进入触发状态之前,必须保持所满足条件的分钟数。
- 要更改查询结果的视图,请单击结果上方右侧的相应选项:
- 显示数据表:列出数据点,指示每个数据点的时间戳和字节。
- 显示图形(默认值):在图形上绘制数据点。
- 设置通知:在“通知”下,填写字段。
- 目标:要用于通知的主题。
- 是否重复通知?:当预警处于触发状态时,以指定的间隔重新发送通知。
- 通知频率:重新发送通知之前等待的时间段。
- 隐藏通知:设置暂停评估和通知的隐藏时间窗口。用于在系统维护期间避免报警通知。
- 如果要禁用新预警,请清除启用此预警?
- 单击保存预警。
在 Cloud Shell 中,运行以下命令在指定区间中创建新的预警。需要提供区间 OCID。
oci monitoring alarm create --compartment-id <Compartment_OCID> --namespace oci_nosql --query-text [text] --destinations [complex type] --display-name [text] --is-enabled [boolean] --metric-compartment-id [text] --severity [text]
--query-text
是要在搜索要聚合的度量数据点时使用的监视查询语言 (Monitoring Query Language,MQL) 表达式。查询必须指定度量、统计信息和间隔。支持的间隔值:1m-60m(也为 1h)。可以选择指定维和分组函数。支持的分组函数:grouping()、groupBy()。有关 create alert 命令提供的 OPTIONS 的更多信息,请参见 create - alert 。在下面的示例中,当 StorageGB 的百分位数在区间中以一分钟间隔大于 85 时,我们将使用预警查询创建预警,并筛选为单个表。
oci monitoring alarm create --compartment-id ocid1.compartment.oc1..aaaaaaaawrmvqjzoegxbsixp5k3b5554vlv2kxukobw3drjho3f7nf5ca3ya
--namespace oci_nosql --query-text 'StorageGB[1m]{tableName="demo"}.groupBy(WriteUnits).percentile(0.9) > 85'
--display-name HighStorageConsumption --metric-compartment-id demonosql --severity Critical --is-enabled true
管理预警
您可以遵循以下准则来管理预警。
- 为每个度量创建一组预警。
对于 Oracle NoSQL Database Cloud Service 表发出的每个度量,创建定义以下资源行为的预警:
- 有风险 - Oracle NoSQL Database Cloud Service 可能无法运行,如度量值所示。例如,表的存储大小存在高使用率的风险。
- 非最佳 - Oracle NoSQL Database Cloud Service 在非最佳级别执行,如度量值所示。例如,ReadUnits 或写入单元具有高延迟。
- 资源启动或关闭 - Oracle NoSQL Database Cloud Service 无法访问或无法运行。例如,ReadThrottleCount 或 WriteThrottleCount 的上限。
- 设置响应报警的处理。
根据报警的严重性,您可以选择以以下不同方式响应报警:
- 对于危急到有风险预警,您可以决定立即通知运营团队,因为需要修复才能使实例恢复到最佳运营水平。您可以通过 PagerDuty 和电子邮件向负责团队配置预警通知,在实例进入不可操作状态之前请求调查和适当的修复。您每分钟设置一次重复通知。当有人响应报警通知时,您可以通过隐藏报警来临时停止通知。度量返回到最佳值后,将删除隐藏。
- 对于警告或非最佳预警,您可以决定通知相应的个人或团队 Oracle NoSQL Database Cloud Service 表消耗的存储大小比平常多。您可以配置阈值警报以通知相应的联系人,因为不需要立即执行操作来调查和减少存储大小。您将通知设置为仅通过电子邮件发送给相应的开发人员或团队,每 24 小时重复一次通知以减少电子邮件通知噪音。