

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.

# OpenSearch Protokolle mit Amazon CloudWatch Logs überwachen
<a name="createdomain-configure-slow-logs"></a>

Amazon OpenSearch Service stellt die folgenden OpenSearch Protokolle über Amazon CloudWatch Logs zur Verfügung: 
+ Fehlerprotokolle
+ [Langsame Protokolle für Suchanfragen](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#search-request-slow-logs)
+ [Langsame Protokolle teilen](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs)
+ [Prüfungsprotokolle](audit-logs.md)

Search Shard Slow-Logs, Indexing Shard Slow-Logs und Fehlerprotokolle sind nützlich, um Leistungs- und Stabilitätsprobleme zu beheben. Prüfungsprotokolle verfolgen Benutzeraktivitäten zu Compliance-Zwecken. Alle Protokolle sind standardmäßig *deaktiviert*. Wenn diese Option aktiviert ist, gelten die [Standardpreise CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/).

**Anmerkung**  
Fehlerprotokolle sind nur für OpenSearch Elasticsearch-Versionen 5.1 und höher verfügbar. Langsame Logs sind für alle Versionen OpenSearch und für Elasticsearch verfügbar.

 OpenSearch Verwendet für seine Logs [Apache Log4j 2](https://logging.apache.org/log4j/2.x/) und die integrierten Log-Levels (vom geringsten bis zum schwersten) von`TRACE`,`DEBUG`, `INFO``WARN`, `ERROR` und. `FATAL`

Wenn Sie Fehlerprotokolle aktivieren, veröffentlicht OpenSearch Service die Protokollzeilen von `WARN``ERROR`, und `FATAL` bis. CloudWatch OpenSearch Service veröffentlicht auch mehrere Ausnahmen von der `DEBUG` Ebene, darunter die folgenden:
+ `org.opensearch.index.mapper.MapperParsingException`
+ `org.opensearch.index.query.QueryShardException`
+ `org.opensearch.action.search.SearchPhaseExecutionException`
+ `org.opensearch.common.util.concurrent.OpenSearchRejectedExecutionException`
+ `java.lang.IllegalArgumentException`

Fehlerprotokolle können bei der Fehlerbehebung in zahlreichen Situationen helfen, unter anderem:
+ Probleme bei der Kompilierung von Painless-Skripts
+ Ungültige Abfragen
+ Probleme bei der Indizierung
+ Snapshot-Fehler
+ Migrationsfehler beim Indexstatusmanagement
**Anmerkung**  
Nicht alle Fehler werden in den Fehlerprotokollen gemeldet.

**Anmerkung**  
OpenSearch Der Dienst protokolliert nicht alle auftretenden Fehler.

**Topics**
+ [Aktivieren der Veröffentlichung von Protokollen (Konsole)](#createdomain-configure-slow-logs-console)
+ [Aktivieren der Veröffentlichung von Protokollen (AWS CLI)](#createdomain-configure-slow-logs-cli)
+ [Aktivieren der Veröffentlichung von Protokollen (AWS SDKs)](#createdomain-configure-slow-logs-sdk)
+ [Aktivieren der Veröffentlichung von Protokollen (CloudFormation)](#createdomain-configure-slow-logs-cfn)
+ [Schwellenwerte für langsame Protokollierung von Suchanfragen festlegen](#createdomain-configure-search-request-slow-logs)
+ [Schwellenwerte für Shard Slow Log festlegen](#createdomain-configure-slow-logs-indices)
+ [Langsame Logs testen](#createdomain-configure-slow-logs-testing)
+ [Anzeigen von Protokollen](#createdomain-configure-slow-logs-viewing)

## Aktivieren der Veröffentlichung von Protokollen (Konsole)
<a name="createdomain-configure-slow-logs-console"></a>

Die OpenSearch Servicekonsole ist die einfachste Methode, um die Veröffentlichung von Protokollen zu ermöglichen CloudWatch.

**Um die Veröffentlichung von Protokollen in CloudWatch (Konsole) zu aktivieren**

1. Gehen Sie zu [aws.amazon.com](https://aws.amazon.com/), wählen Sie dann **Anmelden** und geben Sie Ihre Anmeldeinformationen ein.

1. Wählen Sie unter **Analytics** **Amazon OpenSearch Service** aus.

1. Wählen Sie die Domain aus, die Sie aktualisieren möchten.

1. Wählen Sie auf der Registerkarte **Protokolle** einen Protokolltyp aus und wählen Sie **Aktivieren** aus.

1. Erstellen Sie eine neue CloudWatch Protokollgruppe oder wählen Sie eine bestehende aus.
**Anmerkung**  
Wenn Sie die mehrere Protokolle aktivieren möchten, sollten Sie jedes Protokoll in einer eigenen Protokollgruppe veröffentlichen. Diese Trennung ermöglicht ein einfacheres Scannen der Protokolle.

1. Wählen Sie eine Zugriffsrichtlinie mit den entsprechenden Berechtigungen aus, oder erstellen Sie eine Richtlinie mit dem in der Konsole verfügbaren JSON:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "es.amazonaws.com"
         },
         "Action": [
           "logs:PutLogEvents",
           "logs:CreateLogStream"
         ],
         "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:cw_log_group_name:*"
       }
     ]
   }
   ```

------

   Wir empfehlen Ihnen, die `aws:SourceAccount`- und `aws:SourceArn`-Bedingungsschlüssel zur Richtlinie hinzuzufügen, um sich vor dem [Problem des verwirrten Stellvertreters](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) zu schützen. Das Quellkonto ist der Eigentümer der Domain und der Quell-ARN ist der ARN der Domain. Ihre Domain muss zum Hinzufügen dieser Bedingungsschlüssel über Service-Software R20211203 oder höher verfügen.

   Beispielsweise können Sie der Richtlinie den folgenden Bedingungsblock hinzufügen:

   ```
   "Condition": {
       "StringEquals": {
           "aws:SourceAccount": "account-id"
       },
       "ArnLike": {
           "aws:SourceArn": "arn:aws:es:region:account-id:domain/domain-name"
       }
   }
   ```
**Wichtig**  
CloudWatch Logs unterstützt [10 Ressourcenrichtlinien pro Region](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html). Wenn Sie beabsichtigen, Protokolle für mehrere OpenSearch Dienstdomänen zu aktivieren, sollten Sie eine umfassendere Richtlinie erstellen und wiederverwenden, die mehrere Protokollgruppen umfasst, um zu verhindern, dass dieses Limit erreicht wird. Anweisungen zum Aktualisieren Ihrer Richtlinie finden Sie unter [Aktivieren der Veröffentlichung von Protokollen (AWS CLI)](#createdomain-configure-slow-logs-cli).

1. Wählen Sie **Enable (Aktivieren)** aus.

   Der Status Ihrer Domain ändert sich von **Active (Aktiv)** zu **Processing (In Verarbeitung)**. Der Status muss auf **Active (Aktiv)** zurückgesetzt werden, bevor die Veröffentlichung von Protokollen aktiviert wird. Diese Änderung dauert in der Regel 30 Minuten, kann jedoch je nach Domain-Konfiguration auch länger dauern.

Wenn Sie eines der Shard Slow-Logs aktiviert haben, finden Sie weitere Informationen unter[Schwellenwerte für Shard Slow Log festlegen](#createdomain-configure-slow-logs-indices). Wenn Sie Prüfungsprotokolle aktiviert haben, siehe [Schritt 2: Aktivieren Sie die Audit-Logs in den OpenSearch Dashboards](audit-logs.md#audit-log-dashboards-ui). Wenn Sie nur Fehlerprotokolle aktiviert haben, müssen Sie keine weiteren Konfigurationsschritte ausführen. 

## Aktivieren der Veröffentlichung von Protokollen (AWS CLI)
<a name="createdomain-configure-slow-logs-cli"></a>

Bevor Sie die Protokollveröffentlichung aktivieren können, benötigen Sie eine CloudWatch Protokollgruppe. Wenn Sie noch keine Gruppe vorliegen haben, können Sie mit dem folgenden Befehl eine Gruppe erstellen:

```
aws logs create-log-group --log-group-name my-log-group
```

Geben Sie den folgenden Befehl ein, um den ARN der Protokollgruppe zu ermitteln, und *notieren Sie sich den ARN*:

```
aws logs describe-log-groups --log-group-name my-log-group
```

Jetzt können Sie dem OpenSearch Dienst Schreibberechtigungen für die Protokollgruppe erteilen. Sie müssen die ARN der Protokollgruppe nahe am Ende des Befehls bereitstellen:

```
aws logs put-resource-policy \
  --policy-name my-policy \
  --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com"}, "Action":[ "logs:PutLogEvents","logs:CreateLogStream"],"Resource": "cw_log_group_arn:*"}]}'
```

**Wichtig**  
CloudWatch Logs unterstützt [10 Ressourcenrichtlinien pro Region](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html). Wenn Sie planen, Shard Slow Logs für mehrere OpenSearch Dienstdomänen zu aktivieren, sollten Sie eine umfassendere Richtlinie erstellen und wiederverwenden, die mehrere Protokollgruppen umfasst, um zu verhindern, dass dieses Limit erreicht wird.

Wenn Sie diese Richtlinie zu einem späteren Zeitpunkt überprüfen müssen, verwenden Sie den `aws logs describe-resource-policies`-Befehl. Um die Richtlinie zu aktualisieren, geben Sie denselben `aws logs put-resource-policy`-Befehl für ein neues Richtliniendokument aus.

Schließlich können Sie die Option `--log-publishing-options` zum Aktivieren der Veröffentlichung verwenden. Die Syntax für die Option ist identisch für die `create-domain`- und `update-domain-config`-Befehle.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/opensearch-service/latest/developerguide/createdomain-configure-slow-logs.html)

**Anmerkung**  
Wenn Sie die mehrere Protokolle aktivieren möchten, sollten Sie jedes Protokoll in einer eigenen Protokollgruppe veröffentlichen. Diese Trennung ermöglicht ein einfacheres Scannen der Protokolle.

**Beispiel**

Das folgende Beispiel ermöglicht die Veröffentlichung von Shard Slow-Protokollen für die Suche und Indizierung von Shard Slow für die angegebene Domäne:

```
aws opensearch update-domain-config \
  --domain-name my-domain \
  --log-publishing-options "SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-log-group,Enabled=true},INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-other-log-group,Enabled=true}"
```

Um das Veröffentlichen in zu deaktivieren CloudWatch, führen Sie denselben Befehl mit aus. `Enabled=false`

Wenn Sie eines der Shard Slow-Logs aktiviert haben, finden Sie weitere Informationen unter[Schwellenwerte für Shard Slow Log festlegen](#createdomain-configure-slow-logs-indices). Wenn Sie Prüfungsprotokolle aktiviert haben, siehe [Schritt 2: Aktivieren Sie die Audit-Logs in den OpenSearch Dashboards](audit-logs.md#audit-log-dashboards-ui). Wenn Sie nur Fehlerprotokolle aktiviert haben, müssen Sie keine weiteren Konfigurationsschritte ausführen.

## Aktivieren der Veröffentlichung von Protokollen (AWS SDKs)
<a name="createdomain-configure-slow-logs-sdk"></a>

Bevor Sie die Protokollveröffentlichung aktivieren können, müssen Sie zunächst eine CloudWatch Protokollgruppe erstellen, ihren ARN abrufen und dem OpenSearch Dienst Schreibberechtigungen für diese Gruppe erteilen. Die entsprechenden Vorgänge sind in der [Amazon CloudWatch Logs API-Referenz](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/) dokumentiert:
+ `CreateLogGroup`
+ `DescribeLogGroup`
+ `PutResourcePolicy`

Sie können auf diese Operationen zugreifen, indem Sie [AWS SDKs](https://aws.amazon.com/tools/#sdk)

Die AWS SDKs (außer Android und iOS SDKs) unterstützen alle Operationen, die in der [Amazon OpenSearch Service API-Referenz](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html) definiert sind, einschließlich der `--log-publishing-options` Option für `CreateDomain` und`UpdateDomainConfig`.

Wenn Sie eines der Shard Slow-Logs aktiviert haben, finden Sie weitere Informationen unter[Schwellenwerte für Shard Slow Log festlegen](#createdomain-configure-slow-logs-indices). Wenn Sie nur Fehlerprotokolle aktiviert haben, müssen Sie keine weiteren Konfigurationsschritte ausführen.

## Aktivieren der Veröffentlichung von Protokollen (CloudFormation)
<a name="createdomain-configure-slow-logs-cfn"></a>

In diesem Beispiel erstellen wir eine Protokollgruppe mit dem Namen`opensearch-logs`, weisen ihnen die entsprechenden Berechtigungen CloudFormation zu und erstellen dann eine Domäne, in der die Protokollveröffentlichung für Anwendungsprotokolle, Shard-Slow-Logs für die Suche und Indexierung von Slow-Logs aktiviert ist.

Bevor Sie die Protokollveröffentlichung aktivieren können, müssen Sie eine CloudWatch Protokollgruppe erstellen:

```
Resources:
  OpenSearchLogGroup:
    Type: AWS::Logs::LogGroup
    Properties: 
      LogGroupName: opensearch-logs
Outputs:
  Arn:
    Value:
      'Fn::GetAtt':
        - OpenSearchLogGroup
        - Arn
```

Die Vorlage gibt den ARN der Protokollgruppe aus. In diesem Fall ist der ARN `arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs`.

Erstellen Sie mithilfe des ARN eine Ressourcenrichtlinie, die dem OpenSearch Dienst Schreibberechtigungen für die Protokollgruppe erteilt:

```
Resources:
 OpenSearchLogPolicy:
   Type: AWS::Logs::ResourcePolicy
   Properties:
     PolicyName: my-policy
     PolicyDocument: "{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Sid\": \"\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"es.amazonaws.com\"}, \"Action\":[ \"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\": \"arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs:*\"}]}"
```

Erstellen Sie abschließend den folgenden CloudFormation Stack, der eine OpenSearch Dienstdomäne mit Protokollveröffentlichung generiert. Die Zugriffsrichtlinie ermöglicht es dem Benutzer AWS-Konto , alle HTTP-Anfragen an die Domain zu stellen.

```
Resources:
  OpenSearchServiceDomain:
    Type: "AWS::OpenSearchService::Domain"
    Properties:
      DomainName: my-domain
      EngineVersion: "OpenSearch_1.0"
      ClusterConfig:
        InstanceCount: 2
        InstanceType: "r6g.xlarge.search"
        DedicatedMasterEnabled: true
        DedicatedMasterCount: 3
        DedicatedMasterType: "r6g.xlarge.search"
      EBSOptions:
        EBSEnabled: true
        VolumeSize: 10
        VolumeType: "gp2"
      AccessPolicies:
        Version: "2012-10-17"		 	 	 
        Statement:
            Effect: "Allow"
            Principal:
                AWS: "arn:aws:iam::123456789012:user/es-user"
            Action: "es:*"
            Resource: "arn:aws:es:us-east-1:123456789012:domain/my-domain/*"
      LogPublishingOptions:
        ES_APPLICATION_LOGS:
          CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs"
          Enabled: true
        SEARCH_SLOW_LOGS:
          CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs"
          Enabled: true
        INDEX_SLOW_LOGS:
          CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs"
          Enabled: true
```

Ausführliche Syntaxinformationen finden Sie unter [Optionen für die Protokollveröffentlichung](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html) im *CloudFormation -Benutzerhandbuch.*

## Schwellenwerte für langsame Protokollierung von Suchanfragen festlegen
<a name="createdomain-configure-search-request-slow-logs"></a>

[Protokolle für langsame Suchanfragen](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#search-request-slow-logs) sind für die Suche in OpenSearch Dienstdomänen verfügbar, die auf Version 2.13 und höher ausgeführt werden. Die Protokollschwellenwerte für langsame Suchanfragen sind für die Gesamtdauer der Anfrage konfiguriert. Dies unterscheidet sich von langsamen Protokollen für Shard-Anfragen, die so konfiguriert sind, dass einzelne Shard Zeit in Anspruch nehmen.

Sie können Logs für langsame Suchanfragen mit Clustereinstellungen angeben. Dies unterscheidet sich von Shard Slow Logs, die Sie mit Indexeinstellungen aktivieren. Sie können beispielsweise die folgenden Einstellungen über die OpenSearch REST-API angeben:

```
PUT domain-endpoint/_cluster/settings
{
  "transient": {
    "cluster.search.request.slowlog.threshold.warn": "5s",
    "cluster.search.request.slowlog.threshold.info": "2s"
  }
}
```

**Anmerkung**  
Der `PUT /_cluster/settings` Endpunkt ist in Amazon OpenSearch Service eingeschränkt. Beim Senden dieser Anfrage wird der Fehler zurückgegeben: Verwenden Sie stattdessen Einstellungen auf Indexebene, `Your request: '/_cluster/settings' payload is not allowed.` um Schwellenwerte für Shard Slow Log zu konfigurieren. Beispiel:  

```
PUT domain-endpoint/index/_settings
{
  "index.search.slowlog.threshold.query.warn": "5s",
  "index.search.slowlog.threshold.query.info": "2s"
}
```

## Schwellenwerte für Shard Slow Log festlegen
<a name="createdomain-configure-slow-logs-indices"></a>

OpenSearch deaktiviert standardmäßig [Shard Slow Logs](https://opensearch.org/docs/latest/install-and-configure/configuring-opensearch/logs/#shard-slow-logs). Nachdem Sie die *Veröffentlichung* von Shard Slow-Logs auf aktiviert haben CloudWatch, müssen Sie immer noch Schwellenwerte für die Protokollierung für jeden Index angeben. OpenSearch Diese Schwellenwerte definieren genau, was auf welcher Protokollebene protokolliert werden soll.

Sie können diese Einstellungen beispielsweise über die OpenSearch REST-API angeben:

```
PUT domain-endpoint/index/_settings
{
  "index.search.slowlog.threshold.query.warn": "5s",
  "index.search.slowlog.threshold.query.info": "2s"
}
```

## Langsame Logs testen
<a name="createdomain-configure-slow-logs-testing"></a>

Um zu testen, ob sowohl die Protokolle für Suchanfragen als auch für Shard Slow erfolgreich veröffentlicht werden, sollten Sie mit sehr niedrigen Werten beginnen, um zu überprüfen, ob die Protokolle auch angezeigt werden CloudWatch, und dann die Schwellenwerte auf sinnvollere Werte erhöhen.

Wenn die Protokolle nicht angezeigt werden, überprüfen Sie Folgendes:
+ Existiert die CloudWatch Protokollgruppe? Überprüfen Sie die CloudWatch Konsole.
+ Hat OpenSearch Service die Rechte, in die Protokollgruppe zu schreiben? Überprüfen Sie die OpenSearch Servicekonsole.
+ Ist die OpenSearch Dienstdomäne für die Veröffentlichung in der Protokollgruppe konfiguriert? Überprüfen Sie die OpenSearch Servicekonsole, verwenden Sie die AWS CLI `describe-domain-config` Option oder rufen Sie `DescribeDomainConfig` mit einer der folgenden Optionen an SDKs.
+ Sind die Schwellenwerte für die OpenSearch Protokollierung so niedrig, dass Ihre Anfragen sie überschreiten? 

  Verwenden Sie den folgenden Befehl, um die Schwellenwerte für die langsame Protokollierung Ihrer Suchanfrage für eine Domain zu überprüfen:

  ```
  GET domain-endpoint/_cluster/settings?flat_settings
  ```

  Verwenden Sie den folgenden Befehl, um die Schwellenwerte für das Shard Slow Log für einen Index zu überprüfen:

  ```
  GET domain-endpoint/index/_settings?pretty
  ```

Wenn Sie Slow-Protokolle für einen Index deaktivieren möchten, setzen Sie alle geänderten Schwellenwerte wieder auf die Standardwerte von `-1` zurück.

Wenn Sie die Veröffentlichung CloudWatch über die OpenSearch Service Console deaktivieren oder AWS CLI *nicht* die Erstellung OpenSearch von Protokollen beenden, sondern nur die *Veröffentlichung* dieser Protokolle beenden. Überprüfen Sie unbedingt Ihre Indexeinstellungen, falls Sie die Shard Slow-Logs nicht mehr benötigen, und Ihre Domain-Einstellungen, falls Sie die Slow-Logs für Suchanfragen nicht mehr benötigen.

## Anzeigen von Protokollen
<a name="createdomain-configure-slow-logs-viewing"></a>

Das Anzeigen der Anwendung und die langsame Anmeldung CloudWatch sind wie die Anzeige jedes anderen CloudWatch Protokolls. Weitere Informationen finden Sie unter [Protokolldaten anzeigen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) im *Amazon CloudWatch Logs-Benutzerhandbuch*.

Hier finden Sie einige Überlegungen zur Anzeige der Protokolle:
+ OpenSearch Service veröffentlicht nur die ersten 255.000 Zeichen jeder Zeile an CloudWatch. Alle verbleibenden Inhalte werden abgeschnitten. Bei Prüfungsprotokollen sind es 10 000 Zeichen pro Nachricht. 
+ In CloudWatch haben die Namen der Protokolldatenströme die Suffixe`-index-slow-logs`,,, und `-search-slow-logs``-application-logs`, `-audit-logs` um den Inhalt leichter zu identifizieren.