绘制 CloudWatch 中规则生成的指标的图表 - Amazon CloudWatch

绘制 CloudWatch 中规则生成的指标的图表

Contributor Insights 提供了一个指标数学函数,即 INSIGHT_RULE_METRIC。您可以使用此函数将 Contributor Insights 报告中的数据添加到 CloudWatch 控制台的 Metrics(指标)选项卡中的图表。您也可以根据此数学函数来设置警报。有关指标数学函数的更多信息,请参阅 将数学表达式与 CloudWatch 指标结合使用

要使用此指标数学函数,您必须登录到同时具有 cloudwatch:GetMetricDatacloudwatch:GetInsightRuleReport 权限的账户。

语法为 INSIGHT_RULE_METRIC(ruleName, metricName)ruleName 是 Contributor Insights 规则的名称,metricName 是以下列表中的值之一。metricName 的值决定了数学函数返回的数据类型。

  • UniqueContributors – 每个数据点的独特贡献者数。

  • MaxContributorValue – 每个数据点的顶级贡献者的值。对于图表中的每个数据点,确定的贡献者可能会变化。

    如果此规则按 Count 进行聚合,则每个数据点的顶级贡献者是该时段内出现次数最多的贡献者。如果此规则按 Sum 进行聚合,则排在最前面的贡献者是此时段内具有该规则的 Value 指定的日志字段中最大总和的贡献者。

  • SampleCount – 规则匹配的数据点数。

  • Sum – 该数据点表示的时段内来自所有贡献者的值的总和。

  • Minimum – 该数据点所表示的时段内单个观察结果中的最小值。

  • Maximum – 该数据点所表示的时段内单个观察结果中的最大值。

  • Average – 该数据点表示的时段内来自所有贡献者的平均值。

为 Contributor Insights 指标数据设置告警

您可以使用函数 INSIGHT_RULE_METRIC 对 Contributor Insights 生成的指标设置告警。例如,您可以根据已被拒绝的传输控制协议(TCP)连接的百分比来创建告警。要开始使用这种类型的告警,您可以创建类似以下两个示例中所示的规则:

示例规则: "RejectedConnectionsRule"

{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupNames": [ "/aws/containerinsights/sample-cluster-name/flowlogs" ], "LogFormat": "CLF", "Fields": { "3": "interfaceID", "4": "sourceAddress", "8": "protocol", "13": "action" }, "Contribution": { "Keys": [ "interfaceID", "sourceAddress" ], "Filters": [ { "Match": "protocol", "EqualTo": 6 }, { "Match": "action", "In": [ "REJECT" ] } ] }, "AggregateOn": "Sum" }

示例规则: "TotalConnectionsRule"

{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupNames": [ "/aws/containerinsights/sample-cluster-name/flowlogs" ], "LogFormat": "CLF", "Fields": { "3": "interfaceID", "4": "sourceAddress", "8": "protocol", "13": "action" }, "Contribution": { "Keys": [ "interfaceID", "sourceAddress" ], "Filters": [{ "Match": "protocol", "EqualTo": 6 }], "AggregateOn": "Sum" } }

创建规则后,您可以选择 CloudWatch 控制台中的 Metrics(指标)选项卡,在其中使用以下示例指标数学表达式来绘制 Contributor Insights 报告的数据的图表:

示例: 指标数学表达式

e1 INSIGHT_RULE_METRIC("RejectedConnectionsRule", "Sum") e2 INSIGHT_RULE_METRIC("TotalConnectionsRule", "Sum") e3 (e1/e2)*100

在该示例中,指标数学表达式 e3 返回所有已被拒绝的 TCP 连接。如果您想要在已被拒绝的 TCP 连接达到 20% 时收到通知,则可以修改表达式,将阈值从 100 更改为 20

注意

Metrics(指标)部分中,您可以对您监控的指标设置告警。在 Graphed metrics(绘制的指标)选项卡中,您可以选择 Actions(操作)列下的 Create alarm(创建告警)。Create alarm(创建告警)图标看起来像个铃铛。

有关绘制指标的图表和使用指标数学函数的更多信息,请参阅以下部分: 向 CloudWatch 图表中添加数学表达式