

# メトリクスパイプラインプロセッサ
<a name="metrics-pipeline-processors"></a>

メトリクスパイプラインプロセッサは、取り込み中に OTel メトリクスデータポイントを変換します。メトリクスパイプラインには最大 20 個のプロセッサを含めることができます。プロセッサは、定義した順に適用されます。

プロセッサは OTTL パス式を使用して、さまざまなスコープで属性をターゲットにします。


| パス | 範囲 | 例 | 
| --- | --- | --- | 
| `resource.attributes["key"]` | リソースレベル | `resource.attributes["service.name"]` | 
| `instrumentation_scope.attributes["key"]` | スコープ属性 | `instrumentation_scope.attributes["library"]` | 
| `datapoint.attributes["key"]` | データポイントレベル | `datapoint.attributes["status_code"]` | 
| `attributes["key"]` | データポイントのショートフォーム | `attributes["environment"]` | 

## add\_entries プロセッサ
<a name="add-attributes-processor"></a>

メトリクスデータポイントに対して属性を追加または上書きします。あらゆるタイプの時間性で動作します。

**OTTL と同等:** `set(attributes["key"], "value")`

**設定**  
次のパラメータを使用して add\_attributes プロセッサを設定します。

```
processor:
  - add_attributes:
      attributes:
        - key: resource.attributes["team"]
          value: "payments"
        - key: attributes["environment"]
          value: "production"
        - key: instrumentation_scope.attributes["version"]
          value: "1.0"
          overwrite_if_key_exists: true
```パラメータ

`attributes` (必須)  
追加する属性オブジェクトの配列。

`attributes[].key` (必須)  
属性を追加する場所を指定する OTTL 属性パス。

`attributes[].value` (必須)  
割り当てる文字列値。

`attributes[].overwrite_if_key_exists` (オプション)  
Boolean。`true` の場合、既存の値を上書きします。デフォルトは `false` です。`true` に設定すると、このオペレーションは破壊的と見なされ、累積メトリクスや提供されたメトリクスには適用されません。

## delete\_attributes プロセッサ
<a name="delete-attributes-processor"></a>

メトリクスデータポイントから特定の属性を削除します。**累積メトリクスまたは提供されたメトリクスには適用されません。**

**OTTL と同等:** `delete_key(attributes, "key")`

**設定**  
次のパラメータを使用して delete\_attributes プロセッサを設定します。

```
processor:
  - delete_attributes:
      with_keys:
        - resource.attributes["obsolete"]
        - attributes["temp"]
        - datapoint.attributes["debug"]
```パラメータ

`with_keys` (必須)  
削除する OTTL 属性パスの配列。

## rename\_attributes プロセッサ
<a name="rename-attributes-processor"></a>

メトリクスデータポイントの属性キーの名前を変更します。**累積メトリクスまたは提供されたメトリクスには適用されません。**

**OTTL と同等:** `set() + delete_key()`

**設定**  
次のパラメータを使用して rename\_attributes プロセッサを設定します。

```
processor:
  - rename_attributes:
      attributes:
        - from_key: resource.attributes["old_key"]
          to_key: resource.attributes["new_key"]
          overwrite_if_to_key_exists: true
```パラメータ

`attributes` (必須)  
名前変更操作の配列。

`attributes[].from_key` (必須)  
ソース OTTL 属性パス。

`attributes[].to_key` (必須)  
ターゲット OTTL 属性パス。

`attributes[].overwrite_if_to_key_exists` (オプション)  
Boolean。`true` の場合、ターゲットキーが存在していれば上書きします。デフォルトは `false` です。

## rename\_metrics プロセッサ
<a name="rename-metrics-processor"></a>

メトリクス名を変更します。**累積メトリクスまたは提供されたメトリクスには適用されません。**

**OTTL と同等:** `set(name, "new.metric.name") where name == "old.metric.name"`

**設定**  
次のパラメータを使用して rename\_metrics プロセッサを設定します。

```
processor:
  - rename_metrics:
      metrics:
        - from: "old.metric.name"
          to: "new.metric.name"
```パラメータ

`metrics` (必須)  
名前変更操作の配列。

`metrics[].from` (必須)  
現在のメトリクス名。

`metrics[].to` (必須)  
新しいメトリクス名。

## substitute\_attribute\_values プロセッサ
<a name="substitute-attribute-values-processor"></a>

ルックアップテーブルを使用して属性値をマッピングします。**累積メトリクスまたは提供されたメトリクスには適用されません。**

**OTTL と同等:** `replace_match()`

**設定**  
次のパラメータを使用して substitute\_attribute\_values プロセッサを設定します。

```
processor:
  - substitute_attribute_values:
      attributes:
        - key: resource.attributes["region"]
          from: "us-east-1a"
          to: "us-east-1"
```パラメータ

`attributes` (必須)  
置換オペレーションの配列。

`attributes[].key` (必須)  
照合対象の OTTL 属性パス。

`attributes[].from` (必須)  
照合する値。

`attributes[].to` (必須)  
置換値。

## 完全な例
<a name="metrics-processors-full-example"></a>

次の例では、1 つのパイプラインで 5 つのプロセッサすべてを使用しています。

```
pipeline:
  source:
    cloudwatch_metrics:
      format: otlp
      selection_criteria:
        - match_all:
            - 'resource.attributes["service.name"] == "my-service"'
            - 'metric.name == "CPUUtilization"'
  processor:
    - add_attributes:
        attributes:
          - key: resource.attributes["env"]
            value: "prod"
            overwrite_if_key_exists: true
    - delete_attributes:
        with_keys:
          - resource.attributes["internal.trace"]
    - rename_attributes:
        attributes:
          - from_key: resource.attributes["old_key"]
            to_key: resource.attributes["new_key"]
    - rename_metrics:
        metrics:
          - from: "CPUUtilization"
            to: "system.cpu.utilization"
    - substitute_attribute_values:
        attributes:
          - key: resource.attributes["environment"]
            from: "dev"
            to: "development"
  sink:
    - cloudwatch_metrics: {}
```

## プロセッサの互換性と制限事項
<a name="metrics-processor-restrictions"></a>

最大プロセッサ数  
メトリクスパイプラインには最大 20 個のプロセッサを含めることができます。

破壊的プロセッサと時間性  
破壊的プロセッサ (`delete_attributes`、`rename_attributes`、`rename_metrics`、`substitute_attribute_values`、および `add_attributes` と `overwrite_if_key_exists: true`) は、累積メトリクスおよび提供されたメトリクスには適用されません。これらのメトリクスは変更されずに渡されます。

提供されたメトリクスの保護  
破壊的プロセッサは、`instrumentation_scope.name` が `cloudwatch.aws/` で始まるメトリクスを変更することはできません。これらのメトリクスは変更されずに渡されます。