

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.

# Abrufen von Metriken mit der Performance-Insights-API für Amazon RDS
<a name="USER_PerfInsights.API"></a>

Wenn Performance Insights aktiviert ist, bietet die API Einblicke in die Instance-Leistung. Amazon CloudWatch Logs stellt die maßgebliche Quelle für Verkaufsüberwachungsmetriken für AWS-Services bereit. 

Performance Insights bietet eine domänenspezifische Ansicht der Datenbanklast, gemessen als durchschnittliche aktive Sitzungen (AAS). Diese Metrik erscheint API-Verbrauchern als zweidimensionaler Zeitreihendatensatz. Die Zeitdimension der Daten stellt die Datenbanklastdaten für jeden Zeitpunkt im abgefragten Zeitraum bereit. Für jeden Zeitpunkt wird die Gesamtlast bezogen auf die angeforderten Dimensionen zerlegt, z. B. `SQL`, `Wait-event`, `User` oder `Host`, gemessen zum betreffenden Zeitpunkt.

Amazon RDS Performance Insights überwacht Ihren Amazon RDS, damit Sie die Datenbankleistung analysieren und beheben können. Eine Möglichkeit zum Anzeigen von Performance-Insights-Daten bietet die AWS-Managementkonsole. Performance Insights stellt außerdem eine öffentliche API bereit, sodass Sie Ihre eigenen Daten abfragen können. Sie können die API für Folgendes verwenden:
+ Auslagern von Daten in eine Datenbank
+ Hinzufügen von Performance-Insights-Daten zu bestehenden Überwachungs-Dashboards
+ Entwickeln von Überwachungstools

Zum Verwenden der Performance-Insights-API aktivieren Sie Performance Insights auf einer Ihrer Amazon-RDS-DB-Instances. Weitere Informationen zum Aktivieren von Performance Insights finden Sie unter [Aktivieren und Deaktivieren von Performance Insights für Amazon RDS](USER_PerfInsights.Enabling.md). Weitere Informationen zur Performance-Insights-API finden Sie in der [Referenz zur Amazon RDS Performance-Insights-API](https://docs.aws.amazon.com/performance-insights/latest/APIReference/Welcome.html).

Die Performance-Insights-API bietet die folgenden Operationen.


****  

|  Performance-Insights-Aktion  |  AWS CLI command  |  Beschreibung  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_CreatePerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_CreatePerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/CreatePerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/CreatePerformanceAnalysisReport.html)  |  Erstellt einen Leistungsanalysebericht für die DB-Instance für einen bestimmten Zeitraum. Das Ergebnis lautet `AnalysisReportId`. Dies ist der eindeutige Bezeichner des Berichts.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DeletePerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DeletePerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/DeletePerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/DeletePerformanceAnalysisReport.html)  |  Löscht einen Leistungsanalysebericht.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html](https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html)  |  Ruft die Schlüssel der Top N-Dimension für eine Metrik für einen bestimmten Zeitraum ab.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html)  |  Ruft die Attribute der angegebenen Dimensionsgruppe für eine DB-Instance oder Datenquelle ab. Wenn Sie beispielsweise eine SQL-ID angeben und die Dimensionsdetails sind verfügbar, ruft `GetDimensionKeyDetails` den Volltext der Dimension `db.sql.statement` ab, die mit dieser ID verknüpft ist. Dieser Vorgang ist nützlich, da `GetResourceMetrics` und `DescribeDimensionKeys` das Abrufen von umfangreichen SQL-Anweisungen nicht unterstützt.   | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetPerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetPerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/GetPerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/GetPerformanceAnalysisReport.html)  |  Ruft den Bericht einschließlich der Erkenntnisse für den Bericht ab. Das Ergebnis umfasst den Berichtsstatus, die Berichts-ID, Details zum Berichtszeitpunkt, Erkenntnisse und Empfehlungen.  | 
| [GetResourceMetadata](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetadata.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html)  |  Rufen Sie die Metadaten für verschiedene Funktionen ab. Die Metadaten könnten beispielsweise darauf hindeuten, dass eine Funktion für eine bestimmte DB-Instance ein- oder ausgeschaltet ist.   | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)  |  Ruft Performance-Insights-Metriken für eine Reihe von Datenquellen über einen Zeitraum ab. Sie können spezifische Dimensionsgruppen und Dimensionen bereitstellen und Aggregation und Filterkriterien für jede Gruppe bereitstellen.  | 
| [ListAvailableResourceDimensions](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceDimensions.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html)  |  Rufen Sie die Dimensionen ab, die für jeden angegebenen Metriktyp für eine bestimmte Instance abgefragt werden können.   | 
| [ListAvailableResourceMetrics](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceMetrics.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html)  |  Rufen Sie alle verfügbaren Metriken der angegebenen Metriktypen ab, die für eine bestimmte DB-Instance abgefragt werden können.  | 
|  `[ListPerformanceAnalysisReports](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListPerformanceAnalysisReports.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-performance-analysis-reports.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-performance-analysis-reports.html)  | Ruft alle Analyseberichte ab, die für die DB-Instance verfügbar sind. Die Berichte werden auf der Grundlage der Startzeit jedes Berichts aufgelistet. | 
|  `[ListTagsForResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListTagsForResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-tags-for-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-tags-for-resource.html)  |  Listet alle Metadaten-Tags auf, die der Ressource hinzugefügt wurden. Die Liste enthält den Namen und den Wert des Tags.  | 
|  `[TagResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_TagResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/tag-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/tag-resource.html)  |  Fügt einer Amazon-RDS-Ressource Metadaten-Tags hinzu. Das Tag enthält einen Namen und einen Wert.  | 
|  `[UntagResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_UntagResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/untag-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/untag-resource.html)  |  Entfernt die Metadaten-Tags von der Ressource.  | 

Weitere Informationen zum Abrufen von Zeitreihenmetriken und AWS CLI-Beispiele für Performance Insights finden Sie in den folgenden Themen.

**Topics**
+ [

# Abrufen von Zeitreihenmetriken für Performance Insights
](USER_PerfInsights.API.TimeSeries.md)
+ [

# AWS CLI Beispiele für Performance Insights
](USER_PerfInsights.API.Examples.md)

# Abrufen von Zeitreihenmetriken für Performance Insights
<a name="USER_PerfInsights.API.TimeSeries"></a>

Mit der `GetResourceMetrics`-Operation werden ein oder mehrere Zeitreihenmetriken aus den Performance-Insights-Daten abgerufen. Für `GetResourceMetrics` ist eine Metrik und ein Zeitraum erforderlich, damit eine Antwort mit einer Liste von Datenpunkten zurückgegeben wird. 

Zum Beispiel dieAWS-Managementkonsole Verwendung`GetResourceMetrics` zum Ausfüllen des Diagramms „**Zählermetriken**“ und des** Datenbank-Load-Diagramms**, wie in der folgenden Abbildung dargestellt.

![\[Zählermetriken- und Datenbanklastdiagramme\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/images/perf-insights-api-charts.png)


Alle von zurückgegebenen Metriken`GetResourceMetrics` sind Standard-Zeitreihenmetriken, mit Ausnahme von`db.load`. Diese Metrik wird im Diagramm **Database Load (Datenbanklast)** angezeigt. Die`db.load` Metrik unterscheidet sich von den anderen Zeitreihenmetriken, da Sie sie in Unterkomponenten aufteilen können, die als* Dimensionen* bezeichnet werden. In der vorherigen Abbildung wird `db.load` unterteilt und nach Wartezuständen gruppiert, aus denen `db.load` besteht.

**Anmerkung**  
`GetResourceMetrics` kann auch die `db.sampleload`-Metrik zurückgeben, aber die `db.load`-Metrik ist in den meisten Fällen angemessen.

Informationen zu den Zählermetriken, die von `GetResourceMetrics` zurückgegeben werden, finden Sie unter [Performance-Insights-Zählermetriken](USER_PerfInsights_Counters.md).

Die folgenden Berechnungen werden für die Metriken unterstützt:
+ Durchschnitt – Der durchschnittliche Wert für die Metrik über einen bestimmten Zeitraum. Fügen Sie dem Metriknamen `.avg` an.
+ Minimum – Der minimale Wert für die Metrik über einen bestimmten Zeitraum. Fügen Sie dem Metriknamen `.min` an.
+ Maximum – Der maximale Wert für die Metrik über einen bestimmten Zeitraum. Fügen Sie dem Metriknamen `.max` an.
+ Summe – Die Summe der Metrikwerte über einen bestimmten Zeitraum. Fügen Sie dem Metriknamen `.sum` an.
+ Beispielanzahl – Die Anzahl, wie oft die Metrik über einen bestimmten Zeitraum erfasst wurde. Fügen Sie dem Metriknamen `.sample_count` an.

Nehmen wir an, dass eine Metrik beispielsweise 300 Sekunden (5 Minuten) lang erfasst wird und dass die Metrik einmal pro Minute erfasst wird. Die Werte für jede Minute sind 1, 2, 3, 4 und 5. In diesem Fall werden die folgenden Berechnungen zurückgegeben:
+ Durchschnitt – 3
+ Minimum – 1
+ Maximum – 5
+ Summe – 15
+ Beispielanzahl – 5

Weitere Informationen zur Verwendung des AWS CLI-Befehls `get-resource-metrics` finden Sie unter [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html).

Geben Sie für die `--metric-queries`-Option eine oder mehrere Abfragen an, um die entsprechenden Ergebnisse zu erhalten. Jede Abfrage besteht aus einem obligatorischen `Metric`- sowie optionalen `GroupBy`- und `Filter`-Parametern. Es folgt ein Beispiel für eine Spezifikation der `--metric-queries`-Option.

```
{
   "Metric": "string",
   "GroupBy": {
     "Group": "string",
     "Dimensions": ["string", ...],
     "Limit": integer
   },
   "Filter": {"string": "string"
     ...}
```

# AWS CLI Beispiele für Performance Insights
<a name="USER_PerfInsights.API.Examples"></a>

In den folgenden Abschnitten erfahren Sie mehr über das AWS Command Line Interface (AWS CLI) für Performance Insights und AWS CLI Anwendungsbeispiele.

**Topics**
+ [

## Integrierte Hilfe AWS CLI für Performance Insights
](#USER_PerfInsights.API.CLI)
+ [

## Abrufen von Zählermetriken
](#USER_PerfInsights.API.Examples.CounterMetrics)
+ [

## Abrufen des DB-Lastdurchschnitts für Top-Warteereignisse
](#USER_PerfInsights.API.Examples.DBLoadAverage)
+ [

## Abrufen des DB-Lastdurchschnitts für Top-SQL-Anweisungen
](#USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL)
+ [

## Abrufen des nach SQL gefilterten DB-Lastdurchschnitts
](#USER_PerfInsights.API.Examples.DBLoadAverageFilterBySQL)
+ [

## Abrufen des Volltextes einer SQL-Anweisung
](#USER_PerfInsights.API.Examples.GetDimensionKeyDetails)
+ [

## Erstellen eines Leistungsanalyseberichts für einen bestimmten Zeitraum
](#USER_PerfInsights.API.Examples.CreatePerfAnalysisReport)
+ [

## Abrufen eines Leistungsanalyseberichts
](#USER_PerfInsights.API.Examples.GetPerfAnalysisReport)
+ [

## Auflisten aller Leistungsanalyseberichte für die DB-Instance
](#USER_PerfInsights.API.Examples.ListPerfAnalysisReports)
+ [

## Löschen eines Leistungsanalyseberichts
](#USER_PerfInsights.API.Examples.DeletePerfAnalysisReport)
+ [

## Hinzufügen eines Tags zu einem Leistungsanalysebericht
](#USER_PerfInsights.API.Examples.TagPerfAnalysisReport)
+ [

## Auflisten aller Tags für einen Leistungsanalysebericht
](#USER_PerfInsights.API.Examples.ListTagsPerfAnalysisReport)
+ [

## Löschen der Tags eines Leistungsanalyseberichts
](#USER_PerfInsights.API.Examples.UntagPerfAnalysisReport)

## Integrierte Hilfe AWS CLI für Performance Insights
<a name="USER_PerfInsights.API.CLI"></a>

Sie können Performance-Insights-Daten über die anzeige AWS CLI. Sie können die Hilfe zu den AWS CLI Befehlen für Performance Insights anzeigen, indem Sie in der Befehlszeile Folgendes eingeben.

```
aws pi help
```

Falls Sie das nicht AWS CLI installiert haben, finden Sie unter [Installation von AWS CLI im AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) *Benutzerhandbuch* weitere Informationen zur Installation.

## Abrufen von Zählermetriken
<a name="USER_PerfInsights.API.Examples.CounterMetrics"></a>

Der folgende Screenshot zeigt zwei Zählermetriken-Diagramme in der AWS-Managementkonsole.

![\[Zählermetriken-Diagramme\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/images/perf-insights-api-counters-charts.png)


Das folgende Beispiel zeigt, wie dieselben Daten erfasst werden, die er zur Generierung der beiden Zählermetrikdiagramme AWS-Managementkonsole verwendet.

Für Linux, macOS oder Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

Für Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

Sie können einen Befehl besser lesbar gestalten, indem Sie eine Datei für die Option `--metrics-query` angeben. Im folgenden Beispiel wird eine Datei namens query.json für die Option verwendet. Die Datei enthält Folgendes.

```
[
    {
        "Metric": "os.cpuUtilization.user.avg"
    },
    {
        "Metric": "os.cpuUtilization.idle.avg"
    }
]
```

Führen Sie den folgenden Befehl aus, um die Datei zu verwenden.

Für Linux, macOS oder Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Für Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

Das vorige Beispiel gibt die folgenden Werte für die Optionen an:
+ `--service-type` – `RDS` für Amazon RDS
+ `--identifier` – Die Ressource-ID für die DB-Instance
+ `--start-time` und `--end-time` – Die ISO 8601-Werte `DateTime` für den abzufragenden Zeitraum mit mehreren unterstützten Formaten

Der Abfragezeitraum beträgt eine Stunde:
+ `--period-in-seconds` – `60` für eine Abfrage pro Minute
+ `--metric-queries` – Ein Array mit zwei Abfragen, jeweils für nur eine Metrik.

  Der Metrikname verwendet Punkte, um die Metrik in eine sinnvolle Kategorie einzustufen, wobei das letzte Element eine Funktion ist. Im Beispiel lautet die Funktion `avg` für jede Abfrage. Wie bei Amazon CloudWatch sind die unterstützten Funktionen `min``max`,`total`, und`avg`.

Die Antwort sieht in etwa so aus:

```
{
    "Identifier": "db-XXX",
    "AlignedStartTime": 1540857600.0,
    "AlignedEndTime": 1540861200.0,
    "MetricList": [
        { //A list of key/datapoints 
            "Key": {
                "Metric": "os.cpuUtilization.user.avg" //Metric1
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 4.0
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 4.0
                },
                {
                    "Timestamp": 1540857780.0, //Minute 3
                    "Value": 10.0
                }
                //... 60 datapoints for the os.cpuUtilization.user.avg metric
            ]
        },
        {
            "Key": {
                "Metric": "os.cpuUtilization.idle.avg" //Metric2
            },
            "DataPoints": [
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 12.0
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 13.5
                },
                //... 60 datapoints for the os.cpuUtilization.idle.avg metric 
            ]
        }
    ] //end of MetricList
} //end of response
```

Die Antwort enthält Werte für `Identifier`, `AlignedStartTime` und `AlignedEndTime`. Bei einem `--period-in-seconds`-Wert von `60` wurden Start- und Endzeiten auf die Minute ausgerichtet. Wenn der `--period-in-seconds`-Wert `3600` lautet, werden Start- und Endzeiten auf die Stunde ausgerichtet.

Die `MetricList` in der Antwort enthält eine Reihe von Einträgen, und zwar jeweils mit einem `Key`- und einem `DataPoints`-Eintrag. Jeder `DataPoint` verfügt über einen `Timestamp` und einen `Value`. Jede `Datapoints`-Liste enthält 60 Datenpunkte, da die Abfragen eine Stunde lang jede Minute Daten abfragen, und zwar mit den Werten `Timestamp1/Minute1`, `Timestamp2/Minute2` usw. bis `Timestamp60/Minute60`. 

Da sich die Abfrage auf zwei verschiedene Zählermetriken bezieht, enthält die -Antwort zwei Element `MetricList`.

## Abrufen des DB-Lastdurchschnitts für Top-Warteereignisse
<a name="USER_PerfInsights.API.Examples.DBLoadAverage"></a>

Das folgende Beispiel ist dieselbe Abfrage, die AWS-Managementkonsole verwendet wird, um ein gestapeltes Flächenliniendiagramm zu generieren. Mit diesem Beispiel wird der `db.load.avg`-Wert für die letzte Stunde abgerufen, wobei die Last auf die sieben Top-Warteereignisse aufgeteilt ist. Der Befehl ist mit dem Befehl unter identisc [Abrufen von Zählermetriken](#USER_PerfInsights.API.Examples.CounterMetrics). Die Datei query.json enthält hingegen Folgendes.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_event", "Limit": 7 }
    }
]
```

Führen Sie den folgenden Befehl aus.

Für Linux, macOS oder Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Für Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

Das Beispiel gibt die Metrik `db.load.avg` und eine `GroupBy`-Sortierung der sieben Top-Warteereignisse an. Einzelheiten zu gültigen Werten für dieses Beispiel finden Sie [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)in der *Performance Insights API-Referenz.*

Die Antwort sieht in etwa so aus:

```
{
    "Identifier": "db-XXX",
    "AlignedStartTime": 1540857600.0,
    "AlignedEndTime": 1540861200.0,
    "MetricList": [
        { //A list of key/datapoints 
            "Key": {
                //A Metric with no dimensions. This is the total db.load.avg
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 0.5166666666666667
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 0.38333333333333336
                },
                {
                    "Timestamp": 1540857780.0, //Minute 3
                    "Value": 0.26666666666666666
                }
                //... 60 datapoints for the total db.load.avg key
            ]
        },
        {
            "Key": {
                //Another key. This is db.load.avg broken down by CPU
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.wait_event.name": "CPU",
                    "db.wait_event.type": "CPU"
                }
            },
            "DataPoints": [
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 0.35
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 0.15
                },
                //... 60 datapoints for the CPU key
            ]
        },
        //... In total we have 8 key/datapoints entries, 1) total, 2-8) Top Wait Events
    ] //end of MetricList
} //end of response
```

In dieser Antwort gibt es acht Einträge in der `MetricList`. Davon bezieht sich ein Eintrag auf den `db.load.avg`-Gesamtwert und sieben Einträge jeweils auf den `db.load.avg`-Wert, der auf eines der sieben Top-Warteereignisse aufgeteilt ist. Im Gegensatz zum ersten Beispiel, bei dem eine Gruppierungsdimension vorlag, muss für jede Gruppierung der Metrik ein Schlüssel vorliegen. Für jede Metrik kann nicht nur ein Schlüssel vorhanden sein, wie im Anwendungsfall der Basiszählermetrik.

## Abrufen des DB-Lastdurchschnitts für Top-SQL-Anweisungen
<a name="USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL"></a>

Im folgenden Beispiel werden `db.wait_events` entsprechend der 10 Top-SQL-Anweisungen gruppiert. Es gibt zwei verschiedene Gruppen für SQL-Anweisungen.
+ `db.sql` – Die vollständige SQL-Anweisung, wie `select * from customers where customer_id = 123`
+ `db.sql_tokenized` – Die SQL-Anweisung mit Token, wie `select * from customers where customer_id = ?`

Beim Analysieren der Datenbank-Performance kann es nützlich sein, SQL-Anweisungen, die sich nur durch ihre Parameter unterscheiden, als ein logisches Element zu betrachten. In diesem Fall können Sie `db.sql_tokenized` beim Abfragen verwenden. In manchen Fällen, insbesondere wenn Sie an Explain-Plänen interessiert sind, ist es jedoch sinnvoller, die vollständigen SQL-Anweisungen mit Parametern zu untersuchen und die Abfrage nach `db.sql` zu gruppieren. Zwischen SQL-Anweisungen mit Token und vollständigen SQL-Anweisungen besteht eine Beziehung der Über-/Unterordnung. Mehrere vollständige (untergeordnete) SQL-Anweisungen befinden sich unter derselben (übergeordneten) SQL-Anweisung mit Token.

Der Befehl in diesem Beispiel ähnelt dem Befehl unter [Abrufen des DB-Lastdurchschnitts für Top-Warteereignisse](#USER_PerfInsights.API.Examples.DBLoadAverage). Die Datei query.json enthält hingegen Folgendes.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.sql_tokenized", "Limit": 10 }
    }
]
```

Im folgenden Beispiel wird verwende `db.sql_tokenized`.

Für Linux, macOS oder Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-29T00:00:00Z \
   --end-time   2018-10-30T00:00:00Z \
   --period-in-seconds 3600 \
   --metric-queries file://query.json
```

Für Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-29T00:00:00Z ^
   --end-time   2018-10-30T00:00:00Z  ^
   --period-in-seconds 3600 ^
   --metric-queries file://query.json
```

In diesem Beispiel werden Abfragen über 24 Stunden, mit einer Stunde, abgefragt period-in-seconds.

Das Beispiel gibt die Metrik `db.load.avg` und eine `GroupBy`-Sortierung der sieben Top-Warteereignisse an. Einzelheiten zu gültigen Werten für dieses Beispiel finden Sie [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)in der *Performance Insights API-Referenz.*

Die Antwort sieht in etwa so aus:

```
{
    "AlignedStartTime": 1540771200.0,
    "AlignedEndTime": 1540857600.0,
    "Identifier": "db-XXX",

    "MetricList": [ //11 entries in the MetricList
        {
            "Key": { //First key is total
                "Metric": "db.load.avg"
            }
            "DataPoints": [ //Each DataPoints list has 24 per-hour Timestamps and a value
                {
                    "Value": 1.6964980544747081,
                    "Timestamp": 1540774800.0
                },
                //... 24 datapoints
            ]
        },
        {
            "Key": { //Next key is the top tokenized SQL  
                "Dimensions": {
                    "db.sql_tokenized.statement": "INSERT INTO authors (id,name,email) VALUES\n( nextval(?)  ,?,?)",
                    "db.sql_tokenized.db_id": "pi-2372568224",
                    "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE"
                },
                "Metric": "db.load.avg"
            },
            "DataPoints": [ //... 24 datapoints 
            ]
        },
        // In total 11 entries, 10 Keys of top tokenized SQL, 1 total key 
    ] //End of MetricList
} //End of response
```

Diese Antwort umfasst 11 Einträge in der `MetricList` (1 gesamt, 10 Top-SQL mit Token), wobei jeder Eintrage 24 `DataPoints` pro Stunde aufweist.

Für SQL-Anweisungen mit Token gibt es in jeder Dimensionsliste drei Einträge:
+ `db.sql_tokenized.statement` – Die SQL-Anweisung mit Token.
+ `db.sql_tokenized.db_id ` – Entweder die native Datenbank-ID zum Verweisen auf die SQL-Anweisung oder eine synthetische ID, die von Performance Insights generiert wird, wenn keine native Datenbank-ID verfügbar ist. In diesem Beispiel wird die synthetische ID `pi-2372568224` zurückgegeben.
+ `db.sql_tokenized.id` – Die ID der Abfrage innerhalb von Performance-Insights.

  In der AWS-Managementkonsole wird diese ID als Support-ID bezeichnet. Es trägt diesen Namen, weil es sich bei der ID um Daten handelt, die der AWS Support untersuchen kann, um Ihnen bei der Behebung eines Problems mit Ihrer Datenbank zu helfen. AWS nimmt die Sicherheit und den Datenschutz Ihrer Daten sehr ernst und fast alle Daten werden mit Ihrem AWS KMS Schlüssel verschlüsselt gespeichert. Daher AWS kann niemand im Inneren diese Daten einsehen. Im vorherigen Beispiel wird sowohl `tokenized.statement` als auch `tokenized.db_id` verschlüsselt gespeichert. Wenn Sie ein Problem mit Ihrer Datenbank haben, kann Ihnen der AWS Support unter Angabe der Support-ID weiterhelfen.

Beim Abfragen empfiehlt es sich ggf., eine `Group` in `GroupBy` anzugeben. Für eine präzisere Kontrolle der Daten, die zurückgegeben werden, sollten Sie allerdings die Dimensionsliste angeben. Wenn z. B. lediglich eine `db.sql_tokenized.statement` erforderlich ist, kann der query.json-Datei ein `Dimensions`-Attribut hinzugefügt werden.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": {
            "Group": "db.sql_tokenized",
            "Dimensions":["db.sql_tokenized.statement"],
            "Limit": 10
        }
    }
]
```

## Abrufen des nach SQL gefilterten DB-Lastdurchschnitts
<a name="USER_PerfInsights.API.Examples.DBLoadAverageFilterBySQL"></a>

![\[Filtern nach SQL-Diagramm.\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/images/perf-insights-api-filter-chart.png)


Die vorherige Abbildung zeigt, dass eine bestimmte Abfrage ausgewählt ist, und das Stapelflächendiagramm der durchschnittlichen aktiven Top-Sitzungen ist auf diese Abfrage beschränkt. Obwohl sich die Abfrage nach wie vor auf die sieben Top-Gesamtwarteereignisse bezieht, wird der Wert der Antwort gefiltert. Durch das Filtern werden nur die Sitzungen berücksichtigt, die mit dem entsprechenden Filter übereinstimmen.

Die entsprechende API-Abfrage in diesem Beispiel ähnelt dem Befehl unter [Abrufen des DB-Lastdurchschnitts für Top-SQL-Anweisungen](#USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL). Die Datei query.json enthält hingegen Folgendes.

```
[
 {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_event", "Limit": 5  }, 
        "Filter": { "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE" }
    }
]
```

Für Linux, macOS oder Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Für Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

Die Antwort sieht in etwa so aus:

```
{
    "Identifier": "db-XXX", 
    "AlignedStartTime": 1556215200.0, 
    "MetricList": [
        {
            "Key": {
                "Metric": "db.load.avg"
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 1.4878117913832196
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 1.192823803967328
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "io", 
                    "db.wait_event.name": "wait/io/aurora_redo_log_flush"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 1.1360544217687074
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 1.058051341890315
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "io", 
                    "db.wait_event.name": "wait/io/table/sql/handler"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.16241496598639457
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.05163360560093349
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "synch", 
                    "db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.11479591836734694
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.013127187864644107
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "CPU", 
                    "db.wait_event.name": "CPU"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.05215419501133787
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.05805134189031505
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "synch", 
                    "db.wait_event.name": "wait/synch/mutex/innodb/lock_wait_mutex"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.017573696145124718
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.002333722287047841
                }
            ]
        }
    ], 
    "AlignedEndTime": 1556222400.0
} //end of response
```

In dieser Antwort werden alle Werte entsprechend dem Beitrag des tokenisierten AKIAIOSFODNN7 SQL-BEISPIELS gefiltert, das in der Datei query.json angegeben ist. Die Schlüssel sind möglicherweise in einer anderen Reihenfolge angeordnet als bei einer Abfrage ohne Filter, da die gefilterte SQL-Anweisung von den fünf Top-Warteereignisse beeinflusst wurde.

## Abrufen des Volltextes einer SQL-Anweisung
<a name="USER_PerfInsights.API.Examples.GetDimensionKeyDetails"></a>

Im folgenden Beispiel wird der Volltext einer SQL-Anweisung für die DB-Instance `db-10BCD2EFGHIJ3KL4M5NO6PQRS5` abgerufen. `--group` ist `db.sql` und `--group-identifier` ist `db.sql.id`. In diesem Beispiel *my-sql-id* steht dies für eine SQL-ID, die durch Aufrufen von oder abgerufen wurde. `pi get-resource-metrics` `pi describe-dimension-keys`

Führen Sie den folgenden Befehl aus.

Für Linux, macOS oder Unix:

```
aws pi get-dimension-key-details \
   --service-type RDS \
   --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \
   --group db.sql \
   --group-identifier my-sql-id \
   --requested-dimensions statement
```

Für Windows:

```
aws pi get-dimension-key-details ^
   --service-type RDS ^
   --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 ^
   --group db.sql ^
   --group-identifier my-sql-id ^
   --requested-dimensions statement
```

In diesem Beispiel sind die Dimensionsdetails verfügbar. Performance Insights ruft also den vollständigen Text der SQL-Anweisung ab, ohne ihn abzuschneiden.

```
{
    "Dimensions":[
    {
        "Value": "SELECT e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id",
        "Dimension": "db.sql.statement",
        "Status": "AVAILABLE"
    },
    ...
    ]
}
```

## Erstellen eines Leistungsanalyseberichts für einen bestimmten Zeitraum
<a name="USER_PerfInsights.API.Examples.CreatePerfAnalysisReport"></a>

Im folgenden Beispiel wird ein Leistungsanalysebericht mit der Startzeit `1682969503` und der Endzeit `1682979503` für die`db-loadtest-0`-Datenbank erstellt.

```
aws pi create-performance-analysis-report \
        --service-type RDS \
        --identifier db-loadtest-0 \
        --start-time 1682969503 \
        --end-time 1682979503 \
        --region us-west-2
```

Die Antwort ist der eindeutige Bezeichner `report-0234d3ed98e28fb17` für den Bericht.

```
{
   "AnalysisReportId": "report-0234d3ed98e28fb17"
}
```

## Abrufen eines Leistungsanalyseberichts
<a name="USER_PerfInsights.API.Examples.GetPerfAnalysisReport"></a>

Im folgenden Beispiel werden die Details des Analyseberichts für den Bericht `report-0d99cc91c4422ee61` abgerufen.

```
aws pi get-performance-analysis-report \
--service-type RDS \
--identifier db-loadtest-0 \
--analysis-report-id report-0d99cc91c4422ee61 \
--region us-west-2
```

Die Antwort enthält den Berichtsstatus, die ID, Zeitdetails und Einblicke.

```
        {
    "AnalysisReport": {
        "Status": "Succeeded", 
        "ServiceType": "RDS", 
        "Identifier": "db-loadtest-0", 
        "StartTime": 1680583486.584, 
        "AnalysisReportId": "report-0d99cc91c4422ee61", 
        "EndTime": 1680587086.584, 
        "CreateTime": 1680587087.139, 
        "Insights": [
           ... (Condensed for space)
        ]
    }
}
```

## Auflisten aller Leistungsanalyseberichte für die DB-Instance
<a name="USER_PerfInsights.API.Examples.ListPerfAnalysisReports"></a>

Das folgende Beispiel listet alle verfügbaren Leistungsanalyseberichte für die `db-loadtest-0`-Datenbank auf.

```
aws pi list-performance-analysis-reports \
--service-type RDS \
--identifier db-loadtest-0 \
--region us-west-2
```

In der Antwort werden alle Berichte mit der Berichts-ID, dem Status und den Details zum Zeitraum aufgeführt.

```
{
    "AnalysisReports": [
        {
            "Status": "Succeeded", 
            "EndTime": 1680587086.584, 
            "CreationTime": 1680587087.139, 
            "StartTime": 1680583486.584, 
            "AnalysisReportId": "report-0d99cc91c4422ee61"
        }, 
        {
            "Status": "Succeeded", 
            "EndTime": 1681491137.914, 
            "CreationTime": 1681491145.973, 
            "StartTime": 1681487537.914, 
            "AnalysisReportId": "report-002633115cc002233"
        }, 
        {
            "Status": "Succeeded", 
            "EndTime": 1681493499.849, 
            "CreationTime": 1681493507.762, 
            "StartTime": 1681489899.849, 
            "AnalysisReportId": "report-043b1e006b47246f9"
        }, 
        {
            "Status": "InProgress", 
            "EndTime": 1682979503.0, 
            "CreationTime": 1682979618.994, 
            "StartTime": 1682969503.0, 
            "AnalysisReportId": "report-01ad15f9b88bcbd56"
        }
    ]
}
```

## Löschen eines Leistungsanalyseberichts
<a name="USER_PerfInsights.API.Examples.DeletePerfAnalysisReport"></a>

Im folgenden Beispiel wird der Analysebericht für die `db-loadtest-0`-Datenbank gelöscht.

```
aws pi delete-performance-analysis-report \
--service-type RDS \
--identifier db-loadtest-0 \
--analysis-report-id report-0d99cc91c4422ee61 \
--region us-west-2
```

## Hinzufügen eines Tags zu einem Leistungsanalysebericht
<a name="USER_PerfInsights.API.Examples.TagPerfAnalysisReport"></a>

Im folgenden Beispiel wird ein Tag mit dem Schlüssel `name` und dem Wert `test-tag` zum Bericht `report-01ad15f9b88bcbd56` hinzugefügt.

```
aws pi tag-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--tags Key=name,Value=test-tag \
--region us-west-2
```

## Auflisten aller Tags für einen Leistungsanalysebericht
<a name="USER_PerfInsights.API.Examples.ListTagsPerfAnalysisReport"></a>

Das folgende Beispiel listet alle Tags für den Bericht `report-01ad15f9b88bcbd56` auf.

```
aws pi list-tags-for-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--region us-west-2
```

In der Antwort werden der Wert und der Schlüssel für alle dem Bericht hinzugefügten Tags aufgeführt:

```
{
    "Tags": [
        {
            "Value": "test-tag", 
            "Key": "name"
        }
    ]
}
```

## Löschen der Tags eines Leistungsanalyseberichts
<a name="USER_PerfInsights.API.Examples.UntagPerfAnalysisReport"></a>

Im folgenden Beispiel wird das Tag `name` aus dem Bericht `report-01ad15f9b88bcbd56` gelöscht.

```
aws pi untag-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--tag-keys name \
--region us-west-2
```

Nachdem das Tag gelöscht wurde, wird beim Abrufen der API `list-tags-for-resource` dieses Tag nicht mehr aufgelistet.