

# CloudWatch のルールによって生成されたメトリクスのグラフ化
<a name="ContributorInsights-GraphReportData"></a>

Contributor Insights にはメトリクス数学関数、`INSIGHT_RULE_METRIC` があります。この関数を使用して、Contributor Insights レポートのデータを、CloudWatch コンソールの [**メトリクス**] タブにあるグラフに追加できます。また、この数学関数に基づいてアラームを設定することもできます。メトリクス数学関数の詳細については、「[CloudWatch メトリクスでの数式の使用](using-metric-math.md)」を参照してください。

このメトリクス数学関数を使用するには、`cloudwatch:GetMetricData` アクセス許可と `cloudwatch:GetInsightRuleReport` アクセス許可の両方を持つアカウントにサインインしている必要があります。



構文は `INSIGHT_RULE_METRIC(ruleName, metricName)` です。[*ruleName*] は Contributor Insights ルールの名前です。[*metricName*] は次のリストにある値の 1 つです。[*metricName*] の値は、math 関数が返すデータのタイプを決定します。
+ `UniqueContributors` – 各データポイントの一意のコントリビューターの数です。
+ `MaxContributorValue` – 各データポイントのトップコントリビューターの値です。コントリビューターの ID は、グラフのデータポイントごとに変わる場合があります。

  このルールを `Count` によって集計する場合、各データポイントのトップコントリビューターはその期間中に最も多く出現したコントリビューターです。ルールを `Sum` によって集計する場合、トップコントリビューターはその期間中にルールの `Value` によって指定されたログフィールドで最大合計を持つコントリビューターです。
+ `SampleCount` – ルールと一致するデータポイントの数です。
+ `Sum` – そのデータポイントによって表される期間中のすべてのコントリビューターの値の合計です。
+ `Minimum` – そのデータポイントによって表される期間中の単一の観測値の最小値です。
+ `Maximum` – そのデータポイントによって表される期間中の単一の観測値の最大値です。
+ `Average` – そのデータポイントによって表される期間中のすべてのコントリビューターの平均値です。

## Contributor Insights メトリクスデータでのアラームの設定
<a name="ContributorInsights-GraphReportData-Alarm"></a>

この関数 `INSIGHT_RULE_METRIC` を使用すると、Contributor Insights が生成するメトリクスにアラームを設定できます。例えば、拒否された Transmission Control Protocol (TCP) 接続の割合に基づくアラームを作成できます。このタイプのアラームの使用を開始するために、次の 2 つの例に示すようなルールを作成できます。

**ルールの例:「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]** (アラームを作成) アイコンはベルのような見た目です。

表メトリクスと Metric Math 関数の使用に関する詳細については、「[CloudWatch グラフに数式を追加する](using-metric-math.md#adding-metrics-expression-console)」のセクションを参照してください。