

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Spezifikation: Eingebettetes Metrikformat
<a name="CloudWatch_Embedded_Metric_Format_Specification"></a>

 Das CloudWatch eingebettete Metrikformat ist eine JSON-Spezifikation, mit der CloudWatch Logs angewiesen wird, automatisch Metrikwerte zu extrahieren, die in strukturierte Protokollereignisse eingebettet sind. Sie können CloudWatch es verwenden, um die extrahierten Metrikwerte grafisch darzustellen und Alarme zu erstellen. In diesem Abschnitt werden die Konventionen für die Spezifikation des eingebetteten Metrikformats und die Dokumentstruktur des eingebetteten Metrikformats beschrieben. 

## Konventionen der Spezifikationen für eingebettete Metrikformate
<a name="CloudWatch_Embedded_Metric_Format_Specification_Conventions"></a>

Die Schlüsselwörter „MUSS“, „DARF NICHT“, „ERFORDERLICH“, „SOLL“, „DARF NICHT“, „SOLLTE“, „SOLLTE“, „SOLLTE NICHT“, „EMPFOHLEN“, „KANN“ und „OPTIONAL“ in dieser Formatspezifikation sind wie unter [Stichwörter](http://tools.ietf.org/html/rfc2119) beschrieben zu interpretieren RFC2119.

Die Begriffe „JSON“, „JSON-Text“, „JSON-Wert“, „Mitglied“, „Element“, „Objekt“, „Array“, „Zahl“, „Zeichenfolge“, „Boolean“, „True“, „False“ und „Null“ in dieser Formatspezifikation sind so zu interpretieren, wie sie in [JavaScript Object Notation](https://tools.ietf.org/html/rfc8259) definiert sind RFC8259.

**Anmerkung**  
Wenn Sie Alarme für Metriken erstellen möchten, die im eingebetteten Metrikformat erstellt wurden, siehe [Alarme für Metriken setzen, die mit dem eingebetteten Metrikformat erstellt wurden](CloudWatch_Embedded_Metric_Format_Alarms.md) für Empfehlungen.

## Eingebettetes Metrikformat-Dokumentstruktur
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure"></a>

Dieser Abschnitt beschreibt die Struktur eines Dokuments im eingebetteten Metrikformat. Dokumente im eingebetteten metrischen Format werden in [JavaScript Object](https://tools.ietf.org/html/rfc8259) Notation definiert. RFC8259

Sofern nicht anders angegeben, DÜRFEN in dieser Spezifikation definierte Objekte KEINE zusätzlichen Elemente enthalten. Elemente, die von dieser Spezifikation nicht erkannt werden, MÜSSEN ignoriert werden. In dieser Spezifikation definierte Elemente berücksichtigen Groß- und Kleinschreibung.

Das eingebettete metrische Format unterliegt denselben Beschränkungen wie standardmäßige CloudWatch Log-Ereignisse und ist auf eine maximale Größe von 1 MB begrenzt.

 Mit dem eingebetteten Metrikformat können Sie die Verarbeitung Ihrer EMF-Protokolle nach Metriken verfolgen, die im `AWS/Logs`-Namespace Ihres Kontos veröffentlicht werden. Diese können verwendet werden, um die fehlgeschlagene Metrikgenerierung von EMF nachzuverfolgen und festzustellen, ob Fehler aufgrund der Analyse oder der Validierung auftreten. Weitere Informationen finden Sie unter [Überwachung mit CloudWatch Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Monitoring-CloudWatch-Metrics.html). 

### Stammknoten
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_root"></a>

Die LogEvent Nachricht MUSS ein gültiges JSON-Objekt ohne zusätzliche Daten am Anfang oder Ende der LogEvent Nachrichtenzeichenfolge sein. Weitere Hinweise zur LogEvent Struktur finden Sie unter [InputLogEvent](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_InputLogEvent.html). 

Dokumente im eingebetteten Metrikformat MÜSSEN das folgende Element der obersten Ebene auf dem Stammknoten enthalten. Dies ist ein [Metadatenobjekt](#CloudWatch_Embedded_Metric_Format_Specification_structure_metadata)-Objekt. 

```
{
 "_aws": {
    "CloudWatchMetrics": [ ... ]
  }
}
```

Der Stammknoten MUSS alle [Zielmitglieder](#CloudWatch_Embedded_Metric_Format_Specification_structure_target)-Elemente enthalten, die durch die Verweise in [MetricDirective Objekt](#CloudWatch_Embedded_Metric_Format_Specification_structure_metricdirective) definiert sind.

Der Stammknoten KANN alle anderen Elemente enthalten, die nicht in den oben genannten Anforderungen enthalten sind. Die Werte dieser Elemente MÜSSEN gültige JSON-Typen sein.

### Metadatenobjekt
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_metadata"></a>

Das `_aws` Element kann verwendet werden, um Metadaten über die Nutzlast darzustellen, die nachgelagerten Dienste darüber informieren, wie sie diese verarbeiten sollen. LogEvent Der Wert MUSS ein Objekt sein und MUSS die folgenden Elemente enthalten: 
+ **CloudWatchMetrics**— Ein Array von, das [MetricDirective Objekt](#CloudWatch_Embedded_Metric_Format_Specification_structure_metricdirective) verwendet wird, um anzuweisen CloudWatch , Metriken aus dem Stammknoten des zu extrahieren. LogEvent

  ```
  {
    "_aws": {
      "CloudWatchMetrics": [ ... ]
    }
  }
  ```
+ **Zeitstempel** – Eine Zahl, die den Zeitstempel für Metriken darstellt, die aus dem Ereignis extrahiert werden. Werte MÜSSEN als die Anzahl der Millisekunden nach dem 1. Januar 1970 00:00:00 UTC ausgedrückt werden.

  ```
  {
    "_aws": {
      "Timestamp": 1559748430481
    }
  }
  ```

### MetricDirective Objekt
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_metricdirective"></a>

Das MetricDirective Objekt weist nachgelagerte Dienste an, dass es Metriken LogEvent enthält, die extrahiert und veröffentlicht werden. CloudWatch MetricDirectives MUSS die folgenden Mitglieder enthalten:
+ **Namespace** — Eine Zeichenfolge, die den CloudWatch Namespace für die Metrik darstellt.
+ **Dimensionen** – Ein [DimensionSet Array](#CloudWatch_Embedded_Metric_Format_Specification_structure_dimensionset).
+ **Metriken**– – Ein Array von [MetricDefinition Objekt](#CloudWatch_Embedded_Metric_Format_Specification_structure_metricdefinition)-Objekten. Dieses Array DARF NICHT mehr als 100 MetricDefinition Objekte enthalten.

### DimensionSet Array
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_dimensionset"></a>

A DimensionSet ist ein Array von Zeichenketten, die die Dimensionsschlüssel enthalten, die auf alle Metriken im Dokument angewendet werden. Die Werte innerhalb dieses Arrays MÜSSEN auch Elemente auf dem Stammknoten sein, die als das [Zielmitglieder](#CloudWatch_Embedded_Metric_Format_Specification_structure_target) bezeichnet werden.

A DimensionSet DARF NICHT mehr als 30 Dimensionsschlüssel enthalten. A DimensionSet KANN leer sein.

Das Zielelement MUSS einen Zeichenfolgenwert haben. Dieser Wert DARF NICHT mehr als 1024 Zeichen enthalten. Das Zielelement definiert eine Dimension, die als Teil der Metrikidentität veröffentlicht wird. Jeder DimensionSet Benutzer erstellt eine neue Metrik in CloudWatch. Weitere Informationen zu Dimensionen finden Sie unter [Dimension](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Dimension.html) und [Dimensionen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension).

```
{
 "_aws": {
   "CloudWatchMetrics": [
     {
       "Dimensions": [ [ "functionVersion" ] ],
       ...
     }
   ]
 },
 "functionVersion": "$LATEST"
}
```

**Anmerkung**  
Seien Sie vorsichtig, wenn Sie die Metrikextraktion konfigurieren, da sich dies auf Ihre benutzerdefinierte Metrikauslastung und die entsprechende Rechnung auswirkt. Wenn Sie versehentlich Metriken basierend auf hohen Kardinalitätsdimensionen erstellen (z. B. `requestId`), erstellt das eingebettete Metrikformat standardmäßig eine benutzerdefinierte Metrik, die jeder eindeutigen Dimensionskombination entspricht. Weitere Informationen finden Sie unter [Dimensionen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension).

### MetricDefinition Objekt
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_metricdefinition"></a>

A MetricDefinition ist ein Objekt, das das folgende Mitglied enthalten MUSS:
+ **Name** – Eine Zeichenfolge [Referenzwerte](#CloudWatch_Embedded_Metric_Format_Specification_structure_referencevalues) auf eine Metrik [Zielmitglieder](#CloudWatch_Embedded_Metric_Format_Specification_structure_target). Metrikziele MÜSSEN entweder aus einem numerischen Wert oder einem Array von numerischen Werten bestehen.

Ein MetricDefinition Objekt KANN die folgenden Mitglieder enthalten:
+ **Einheit** – Ein OPTIONALER Zeichenfolgenwert, der die Maßeinheit für die entsprechende Metrik darstellt. Die Werte SOLLTEN gültige CloudWatch metrische Einheiten sein. Hinweise zu gültigen Einheiten finden Sie unter [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html). Wenn kein Wert angegeben wird, wird der Standardwert NONE angenommen.
+ **StorageResolution**— Ein OPTIONALER Ganzzahlwert, der die Speicherauflösung für die entsprechende Metrik darstellt. Wenn dieser Wert auf 1 gesetzt wird, handelt es sich bei dieser Metrik um eine Metrik mit hoher Auflösung, sodass die Metrik mit einer Auflösung von unter einer Minute bis zu einer Sekunde CloudWatch gespeichert wird. Wenn dieser Wert auf 60 gesetzt wird, handelt es sich bei dieser Metrik um eine Standardauflösung, die mit einer Auflösung von 1 Minute CloudWatch gespeichert wird. Die Werte SOLLTEN gültige CloudWatch unterstützte Auflösungen sein, 1 oder 60. Wenn kein Wert angegeben wird, wird der Standardwert 60 angenommen.

  Weitere Informationen zu hochauflösenden Metriken finden Sie unter [Hochauflösende Metriken](publishingMetrics.md#high-resolution-metrics).

**Anmerkung**  
Wenn Sie Alarme für Metriken erstellen möchten, die im eingebetteten Metrikformat erstellt wurden, siehe [Alarme für Metriken setzen, die mit dem eingebetteten Metrikformat erstellt wurden](CloudWatch_Embedded_Metric_Format_Alarms.md) für Empfehlungen.

```
{
  "_aws": {
    "CloudWatchMetrics": [
      {
        "Metrics": [
          {
            "Name": "Time",
            "Unit": "Milliseconds",
            "StorageResolution": 60
          }
        ],
        ...
      }
    ]
  },
  "Time": 1
}
```

### Referenzwerte
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_referencevalues"></a>

Referenzwerte sind Zeichenfolgenwerte, die [Zielmitglieder](#CloudWatch_Embedded_Metric_Format_Specification_structure_target)-Elemente auf dem Stammknoten referenzieren. Diese Verweise sollten NICHT mit den unter beschriebenen JSON-Zeigern verwechselt werden. [RFC6901](https://tools.ietf.org/html/rfc6901) Zielwerte können nicht verschachtelt werden.

### Zielmitglieder
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_target"></a>

Gültige Ziele MÜSSEN Elemente auf dem Stammknoten sein und dürfen keine verschachtelten Objekte sein. Ein \$1reference\$1-Wert von `"A.a"` MUSS beispielsweise mit dem folgenden Element übereinstimmen:

```
{ "A.a" }
```

Er DARF NICHT mit dem verschachtelten Element übereinstimmen:

```
{ "A": { "a" } }
```

Gültige Werte von Zielelementen hängen davon ab, was sie referenziert. Ein Metrikziel MUSS ein numerischer Wert oder ein Array numerischer Werte sein. Numerische Array-Metrikziele DÜRFEN NICHT mehr als 100 Mitglieder haben. Ein Dimensionsziel MUSS einen Zeichenfolgenwert haben.

### Beispiel für ein eingebettetes Metrikformat und JSON-Schema
<a name="CloudWatch_Embedded_Metric_Format_Specification_structure_example"></a>

Im Folgenden finden Sie ein gültiges Beispiel für ein eingebettetes Metrikformat.

```
{
  "_aws": {
    "Timestamp": 1574109732004,
    "CloudWatchMetrics": [
      {
        "Namespace": "lambda-function-metrics",
        "Dimensions": [["functionVersion"]],
        "Metrics": [
          {
            "Name": "time",
            "Unit": "Milliseconds",
            "StorageResolution": 60
          }
        ]
      }
    ]
  },
  "functionVersion": "$LATEST",
  "time": 100,
  "requestId": "989ffbf8-9ace-4817-a57c-e4dd734019ee"
}
```

Sie können das folgende Schema verwenden, um Dokumente im eingebetteten Metrikformat zu validieren.

```
{
    "type": "object",
    "title": "Root Node",
    "required": [
        "_aws"
    ],
    "properties": {
        "_aws": {
            "$id": "#/properties/_aws",
            "type": "object",
            "title": "Metadata",
            "required": [
                "Timestamp",
                "CloudWatchMetrics"
            ],
            "properties": {
                "Timestamp": {
                    "$id": "#/properties/_aws/properties/Timestamp",
                    "type": "integer",
                    "title": "The Timestamp Schema",
                    "examples": [
                        1565375354953
                    ]
                },
                "CloudWatchMetrics": {
                    "$id": "#/properties/_aws/properties/CloudWatchMetrics",
                    "type": "array",
                    "title": "MetricDirectives",
                    "items": {
                        "$id": "#/properties/_aws/properties/CloudWatchMetrics/items",
                        "type": "object",
                        "title": "MetricDirective",
                        "required": [
                            "Namespace",
                            "Dimensions",
                            "Metrics"
                        ],
                        "properties": {
                            "Namespace": {
                                "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Namespace",
                                "type": "string",
                                "title": "CloudWatch Metrics Namespace",
                                "examples": [
                                    "MyApp"
                                ],
                                "pattern": "^(.*)$",
                                "minLength": 1,
                                "maxLength": 1024
                            },
                            "Dimensions": {
                                "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Dimensions",
                                "type": "array",
                                "title": "The Dimensions Schema",
                                "minItems": 1,
                                "items": {
                                    "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Dimensions/items",
                                    "type": "array",
                                    "title": "DimensionSet",
                                    "minItems": 0,
                                    "maxItems": 30,
                                    "items": {
                                        "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Dimensions/items/items",
                                        "type": "string",
                                        "title": "DimensionReference",
                                        "examples": [
                                            "Operation"
                                        ],
                                        "pattern": "^(.*)$",
                                        "minLength": 1,
                                        "maxLength": 250
}
                                }
                            },
                            "Metrics": {
                                "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics",
                                "type": "array",
                                "title": "MetricDefinitions",
                                "items": {
                                    "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items",
                                    "type": "object",
                                    "title": "MetricDefinition",
                                    "required": [
                                        "Name"
                                    ],
                                    "properties": {
                                        "Name": {
                                            "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items/properties/Name",
                                            "type": "string",
                                            "title": "MetricName",
                                            "examples": [
                                                "ProcessingLatency"
                                            ],
                                            "pattern": "^(.*)$",
                                            "minLength": 1,
                                            "maxLength": 1024
                                        },
                                        "Unit": {
                                            "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items/properties/Unit",
                                            "type": "string",
                                            "title": "MetricUnit",
                                            "examples": [
                                                "Milliseconds"
                                            ],
                                            "pattern": "^(Seconds|Microseconds|Milliseconds|Bytes|Kilobytes|Megabytes|Gigabytes|Terabytes|Bits|Kilobits|Megabits|Gigabits|Terabits|Percent|Count|Bytes\\/Second|Kilobytes\\/Second|Megabytes\\/Second|Gigabytes\\/Second|Terabytes\\/Second|Bits\\/Second|Kilobits\\/Second|Megabits\\/Second|Gigabits\\/Second|Terabits\\/Second|Count\\/Second|None)$"
                                         },
                                         "StorageResolution": {
                                            "$id": "#/properties/_aws/properties/CloudWatchMetrics/items/properties/Metrics/items/properties/StorageResolution",
                                            "type": "integer",
                                            "title": "StorageResolution",
                                            "examples": [
                                                60
                                            ]
                                         }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```

## Entity-Informationen im EMF-Format
<a name="entity-information-emf-format"></a>

Wenn Sie Protokolle CloudWatch mithilfe des Embedded Metric Format (EMF) auf Amazon veröffentlichen, können Sie Entitätsinformationen in das Protokollereignis aufnehmen. In diesem Abschnitt wird beschrieben, wie Entitätsinformationen angegeben und wie diese Informationen CloudWatch verarbeitet werden.

### Entity-Typen
<a name="entity-types-emf"></a>

Wenn in der `PutLogEvents` Anfrage keine Entität angegeben ist, CloudWatch wird im EMF-Protokollinhalt nach Entitätsinformationen gesucht:
+ **Entitys vom Typ „Service“**

  Pflichtfelder: `Service` und `Environment`
+ **Entitys vom Typ „Ressource“**

  Pflichtfelder: `ResourceType` und `Identifier`

### Plattformsattribute
<a name="platform-attributes-emf"></a>

CloudWatch bestimmt automatisch den Plattformtyp auf der Grundlage dieser Attribute:
+ **Kubernetes (K8s):**

  Erforderlich: `K8s.Cluster`

  Fakultativ: `K8s.Namespace``K8s.Workload`,`K8s.Node`,`K8s.Pod`,`EC2.InstanceId`, `EC2.AutoScalingGroup`
+ **Amazon EKS**

  Erforderlich: `EKS.Cluster`

  Fakultativ: `K8s.Namespace``K8s.Workload`,`K8s.Node`,`K8s.Pod`, `EC2.InstanceId`
+ **Amazon ECS:**

  Erforderlich: `ECS.Cluster`

  Fakultativ:`ECS.Service`, `ECS.Task`
+ **Amazon EC2**

  Erforderlich: `EC2.InstanceId`

  Fakultativ: `EC2.AutoScalingGroup`
+ **Lambda:**

  Erforderlich: `Lambda.Function`
+ **Generische Hosts:**

  Erforderlich: `Host`

### Beispiel-EMF-Protokollformat
<a name="example-emf-log-format"></a>

```
{
    "_aws": {
        "CloudWatchMetrics": [
            {
                "Metrics": [
                    {"Name": "RequestLatency", "Unit": "Milliseconds"}
                ],
                "Namespace": "MyApplication"
            }
        ]
    },
    "Service": "PaymentService",
    "Environment": "Production",
    "K8s.Cluster": "main-cluster",
    "K8s.Namespace": "payment-ns",
    "K8s.Pod": "payment-pod-123",
    "K8s.Node": "worker-node-1",
    "K8s.Workload": "payment-deployment",
    "RequestLatency": 135.5,
    "timestamp": 1622163600000
}
```

### Generierte Entity
<a name="generated-entity-emf"></a>

Das obige EMF-Protokoll generiert die folgende Entity:

```
{
    "KeyAttributes": {
        "Type": "Service",
        "Name": "PaymentService",
        "Environment": "Production"
    },
    "Attributes": {
        "PlatformType": "K8s",
        "K8s.Cluster": "main-cluster",
        "K8s.Namespace": "payment-ns",
        "K8s.Pod": "payment-pod-123",
        "K8s.Node": "worker-node-1",
        "K8s.Workload": "payment-deployment"
    }
}
```

### Entity-Verarbeitung
<a name="entity-processing-emf"></a>

CloudWatch verarbeitet die Entitätsinformationen wie folgt:
+ **KeyAttributes:**
  + Ermittelt den Entitätstyp anhand der Pflichtfelder
  + Extrahiert für den Servicetyp den Servicenamen und die Umgebung
  + Diese werden zu den primären Identifikatoren für die Entity
+ **Attribute**:
  + Sätze, die PlatformType auf den enthaltenen Plattformattributen basieren
  + Umfasst alle relevanten plattformspezifischen Informationen
  + Behält Beziehungskontext für die Telemetriedaten bei

CloudWatch verwendet diese Entitätsinformationen, um Beziehungen zwischen verschiedenen Telemetriedaten herzustellen, was eine verbesserte Beobachtbarkeit und Kontextanalyse Ihrer Anwendungen und Infrastruktur ermöglicht. Weitere Informationen finden Sie unter [Hinzufügen verwandter Informationen zu benutzerdefinierter Telemetrie, die an gesendet wurde](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html). CloudWatch

**Anmerkung**  
Mithilfe von Entitätsinformationen CloudWatch können Sie sich ein vollständiges Bild der Telemetriedaten Ihrer Anwendung und ihrer Beziehungen innerhalb Ihrer Infrastruktur machen.