绘制 CloudWatch 中规则生成的指标的图表
Contributor Insights 提供了一个指标数学函数,即 INSIGHT_RULE_METRIC
。您可以使用此函数将 Contributor Insights 报告中的数据添加到 CloudWatch 控制台的 Metrics(指标)选项卡中的图表。您也可以根据此数学函数来设置警报。有关指标数学函数的更多信息,请参阅 将数学表达式与 CloudWatch 指标结合使用。
要使用此指标数学函数,您必须登录到同时具有 cloudwatch:GetMetricData
和 cloudwatch: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 图表中添加数学表达式。