

# Konfigurieren Sie die Protokollierung für AWS IoT Wireless-Ressourcen
<a name="configure-resource-logging"></a>

Zum Konfigurieren der Protokollierung für AWS IoT Wireless-Ressourcen können Sie entweder die API oder die CLI verwenden. Wenn Sie mit der Überwachung von AWS IoT Wireless-Ressourcen beginnen, können Sie die Standardkonfiguration verwenden. Zu diesem Zweck können Sie dieses Thema überspringen und mit [Überwachen von AWS IoT Wireless mithilfe von CloudWatch-Protokollen](cloud-watch-logs.md) mit der Überwachung Ihrer Protokolle fortfahren.

Nachdem Sie mit der Überwachung der Protokolle begonnen haben, können Sie die CLI verwenden, um die Protokollebenen in eine ausführlichere Option zu ändern, z. B. die Bereitstellung von `INFO` und `ERROR`-Informationen und die Aktivierung der Protokollierung für mehr Ressourcen.

## AWS IoT Wireless-Ressourcen und Protokollebenen
<a name="log-levels-resources"></a>

Bevor Sie die API oder CLI verwenden, informieren Sie sich anhand der folgenden Tabelle über die verschiedenen Protokollebenen und die Ressourcen, für die Sie die Protokollierung konfigurieren können. Die Tabelle zeigt Parameter, die Sie in den CloudWatch-Protokollen sehen, wenn Sie die Ressourcen überwachen. Wie Sie die Protokollierung für Ihre Ressourcen konfigurieren, bestimmt, welche Protokolle Sie in der Konsole sehen.

Informationen darüber, wie ein Beispiel für CloudWatch-Protokolle aussieht und wie Sie diese Parameter verwenden können, um nützliche Informationen zu den AWS IoT Wireless-Ressourcen zu protokollieren, finden Sie unter [AWS IoT Wireless-CloudWatch-Protokolleinträge anzeigen](cwl-format.md).


**Protokollebenen und Ressourcen**  

| Name | Mögliche Werte | Beschreibung | 
| --- | --- | --- | 
| logLevel |  `INFO`, `ERROR` oder `DISABLED`  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/iot-wireless/latest/developerguide/configure-resource-logging.html)  | 
| resource |  `WirelessGateway` oder `WirelessDevice`  |  Der Ressourcentyp, der `WirelessGateway` oder `WirelessDevice` sein kann.  | 
| wirelessGatewayType | LoRaWAN | Der Typ des drahtlosen Gateways, sofern vorhanden, wenn resource gleich WirelessGateway ist, wobei es sich immer um LoRaWAN handelt. | 
| wirelessDeviceType | LoRaWAN oder Sidewalk | Der Typ des drahtlosen Geräts, wenn resource gleich WirelessDevice ist, was Sidewalk oder LoRaWAN sein kann. | 
| wirelessGatewayId | - | Die Kennung des drahtlosen Gateways, wenn resource gleich WirelessGateway ist. | 
| wirelessDeviceId | - | Die Kennung des drahtlosen Geräts, wenn resource gleich WirelessDevice ist. | 
| event | Join, Rejoin, Registration, Uplink\$1data, Downlink\$1data, CUPS\$1Request und Certificate | Der Typ des protokollierten Ereignisses, der davon abhängt, ob es sich bei der Ressource, die Sie protokollieren, um ein drahtloses Gerät oder ein drahtloses Gateway handelt. Weitere Informationen finden Sie unter [AWS IoT Wireless-CloudWatch-Protokolleinträge anzeigen](cwl-format.md).  | 

## AWS IoT Wireless-Protokollierungs-API
<a name="logging-api-roles"></a>

Sie können die folgenden API-Aktionen verwenden, um die Protokollierung von Ressourcen zu konfigurieren. Die Tabelle zeigt auch ein Beispiel für eine IAM-Richtlinie, die Sie für die Verwendung der API-Aktionen erstellen müssen. Im folgenden Abschnitt wird beschrieben, wie Sie die APIs zum Konfigurieren von Protokollebenen Ihrer Ressourcen verwenden.


**Protokollieren von API-Aktionen**  

| API-Name | Beschreibung | Beispiel einer IAM-Richtlinie | 
| --- | --- | --- | 
|  [GetLogLevelsByResourceTypes](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetLogLevelsByResourceTypes.html)  |  Gibt aktuelle Standardprotokollebenen oder Protokollebenen nach Ressourcentypen zurück, die Protokolloptionen für drahtlose Geräte oder drahtlose Gateways beinhalten können.  | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:GetLogLevelsByResourceTypes"            <br />            ],            <br />            "Resource": [                <br />                "*"            <br />            ]        <br />        }<br />    ]<br />}</pre>  | 
|  [getResourceLogLevel](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetResourceLogLevel.html)  | Gibt die Überschreibung auf Protokollebene für eine bestimmte Ressourcenkennung und einen bestimmten Ressourcentyp zurück. Bei der Ressource kann es sich um ein drahtloses Gerät oder ein drahtloses Gateway handeln.  | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:GetResourceLogLevel"            <br />            ],            <br />            "Resource": [                <br />                 "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a",           <br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [PUResourceLogLevel](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_PutResourceLogLevel.html)  | Legt die Überschreibung auf Protokollebene für eine bestimmte Ressourcenkennung und einen bestimmten Ressourcentyp fest. Bei der Ressource kann es sich um ein drahtloses Gerät oder ein drahtloses Gateway handeln.  Diese API hat ein Limit von 200 Überschreibungen auf Protokollebene pro Konto.   | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:PutResourceLogLevel"            <br />            ],            <br />            "Resource": [                <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a",            <br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [ResetAllResourceLogLevels](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ResetAllResourceLogLevels.html)  |  Entfernt die Überschreibungen auf Protokollebene für alle Ressourcen, einschließlich drahtloser Gateways und drahtloser Geräte.  Diese API hat keinen Einfluss auf die Protokollebenen, die mithilfe der `UpdateLogLevelsByResourceTypes`-API festgelegt werden.   | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:ResetAllResourceLogLevels"            <br />            ],            <br />            "Resource": [                <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/*", <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessGateway/*<br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [ResetResourceLogLevel](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ResetResourceLogLevel.html)  |  Entfernt die Überschreibung auf Protokollebene für eine bestimmte Ressourcenkennung und einen bestimmten Ressourcentyp. Bei der Ressource kann es sich um ein drahtloses Gerät oder ein drahtloses Gateway handeln.  | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:ResetResourceLogLevel"            <br />            ],            <br />            "Resource": [                <br />                "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a",            <br />            ]        <br />        }<br />    ]<br />}</pre> | 
|  [UpdateLogLevelsByResourceTypes](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateLogLevelsByResourceTypes.html)  |  Legen Sie die Standardprotokollstufe oder Protokollebenen nach Ressourcentypen fest. Sie können diese API für Protokolloptionen für drahtlose Geräte oder drahtlose Gateways verwenden und die Protokollnachrichten steuern, die in CloudWatch angezeigt werden.  Ereignisse sind optional und der Ereignistyp ist an den Ressourcentyp gebunden. Weitere Informationen finden Sie unter [Ereignisse und Ressourcentypen](cwl-format.md#cwl-format-events-resources).   | <pre>{    <br />    "Version": "2012-10-17",    <br />    "Statement": [        <br />        {            <br />            "Effect": "Allow",            <br />            "Action": [                <br />                 "iotwireless:UpdateLogLevelsByResourceTypes"            <br />            ],            <br />            "Resource": [                <br />                "*"            <br />            ]        <br />        }<br />    ]<br />}</pre> | 

## Konfigurieren Sie die Protokollebenen von Ressourcen mithilfe der CLI
<a name="configure-logging-api"></a>

In diesem Abschnitt wird beschrieben, wie Sie die Protokollierung für AWS IoT Wireless-Ressourcen mithilfe der API oder AWS CLI konfigurieren.

**Bevor Sie die CLI verwenden:**
+ Stellen Sie sicher, dass Sie die IAM-Richtlinie für die API erstellt haben, für die Sie den CLI-Befehl ausführen möchten, wie zuvor beschrieben.
+ Sie benötigen den Amazon-Ressourcennamen (ARN) der Rolle, die Sie verwenden möchten. Wenn Sie eine Rolle für die Protokollierung erstellen müssen, beachten Sie [Erstellen einer Protokollierungsrolle und einer Richtlinie für AWS IoT Wireless](create-logging-role-policy.md). 

**Die Vorteile der AWS CLI**  
Wenn Sie die IAM-Rolle `IoTWirelessLogsRole` erstellen, wie unter [Erstellen einer Protokollierungsrolle und einer Richtlinie für AWS IoT Wireless](create-logging-role-policy.md) beschrieben, werden Sie in AWS-Managementkonsole CloudWatch-Protokolle mit der Standardprotokollebene `ERROR` sehen. Verwenden Sie die AWS IoT Wireless Protokollierungs-API oder CLI, um die Standardprotokollebene für alle Ihre Ressourcen oder für bestimmte Ressourcen zu ändern.

**Verwendung von AWS CLI.**  
Die API-Aktionen können in die folgenden Typen eingeteilt werden, je nachdem, ob Sie Protokollebenen für alle Ressourcen oder für bestimmte Ressourcen konfigurieren möchten:
+ API-Aktionen `GetLogLevelsByResourceTypes` und `UpdateLogLevelsByResourceTypes` können die Protokollebenen für alle Ressourcen in Ihrem Konto abrufen und aktualisieren, die einem bestimmten Typ angehören, z. B. ein drahtloses Gateway oder ein LoRaWAN- oder Sidewalk-Gerät.
+ API-Aktionen `GetResourceLogLevel`, `PutResourceLogLevel` und `ResetResourceLogLevel` können die Protokollebenen einzelner Ressourcen, die Sie mithilfe einer Ressourcen-ID angeben, abrufen, aktualisieren und zurücksetzen.
+ Die API-Aktion `ResetAllResourceLogLevels` setzt die Überschreibung auf Protokollebene für alle Ressourcen auf `PutResourceLogLevel` zurück, für die Sie mithilfe der `null` API eine Überschreibung auf Protokollebene angegeben haben.

**So konfigurieren Sie die ressourcenspezifische Protokollierung für AWS IoT mit der CLI**
**Anmerkung**  
Sie können dieses Verfahren auch mit der API durchführen, indem Sie die Methoden der AWS-API verwenden, die den hier gezeigten CLI-Befehlen entsprechen. 

1. Standardmäßig ist für alle Ressourcen die Protokollebene auf `ERROR` festgelegt. Verwenden Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/update-log-levels-by-resource-types.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/update-log-levels-by-resource-types.html)-Befehl, um die Standard-Protokollebenen oder die Protokollebenen nach Ressourcentypen für alle Ressourcen in Ihrem Konto festzulegen. Das folgende Beispiel zeigt, wie Sie eine JSON-Datei `Input.json` erstellen und als Eingabe für den CLI-Befehl bereitstellen können. Sie können diesen Befehl verwenden, um die Protokollierung selektiv zu deaktivieren oder die Standardprotokollebene für bestimmte Arten von Ressourcen und Ereignissen zu überschreiben.

   ```
   {
       "DefaultLogLevel": "INFO",
       "WirelessDeviceLogOptions": 
        [
           {
            "Type": "Sidewalk",
            "LogLevel": "INFO",
            "Events": 
             [
               {
                 "Event": "Registration",
                 "LogLevel": "DISABLED"
               }
             ]
           }, 
           {
            "Type": "LoRaWAN",
            "LogLevel": "INFO",
            "Events": 
             [
               {
                "Event": "Join",
                "LogLevel": "DISABLED"
               }, 
               {
                "Event": "Rejoin",
                "LogLevel": "ERROR"
               }
             ]
           }
         ]
        "WirelessGatewayLogOptions": 
         [
           {
            "Type": "LoRaWAN",
            "LogLevel": "INFO",
            "Events": 
             [
               {
                "Event": "CUPS_Request",
                "LogLevel": "DISABLED"
               }, 
               {
                 "Event": "Certificate",
                 "LogLevel": "ERROR"
               }
             ]
           }
         ]
   }
   ```

   Wobei:  
**WirelessDeviceLogOptions**  
Die Liste der Protokolloptionen für ein drahtloses Gerät. Jede Protokolloption umfasst den Typ des drahtlosen Geräts (Sidewalk oder LoRaWAN) und eine Liste von Ereignisprotokolloptionen für drahtlose Geräte. Jede Ereignisprotokolloption für drahtlose Geräte kann optional den Ereignistyp und dessen Protokollebene enthalten.  
**WirelessGatewayLogOptions**  
Die Liste der Protokolloptionen für ein drahtloses Gateway. Jede Protokolloption umfasst den Typ des drahtlosen Gateways (LoRaWAN) und eine Liste von Ereignisprotokolloptionen für drahtlose Gateways. Jede Ereignisprotokolloption für drahtlose Gateways kann optional den Ereignistyp und dessen Protokollebene enthalten.  
**DefaultLogLevel**  
Die Protokollstufe, die für all Ihre Ressourcen verwendet werden soll. Gültige Werte sind: `ERROR`, `INFO` und `DISABLED`. Der Standardwert ist `INFO`.  
**LogLevel**  
Die Protokollebene, die Sie für einzelne Ressourcentypen und Ereignisse verwenden möchten. Diese Protokollebenen überschreiben die Standardprotokollebene, z. B. die Protokollebene `INFO` für das LoRaWAN-Gateway und die Protokollebenen `DISABLED` und `ERROR` für die beiden Ereignistypen.

   Führen Sie den folgenden Befehl aus, um die `Input.json`-Datei als Eingabe für den Befehl bereitzustellen. Dieser Befehl liefert keine Ausgabe.

   ```
   aws iotwireless update-log-levels-by-resource-types \ 
       --cli-input-json Input.json
   ```

   Wenn Sie die Protokolloptionen sowohl für WLAN-Geräte als auch für WLAN-Gateways entfernen möchten, führen Sie den folgenden Befehl aus.

   ```
   {
       "DefaultLogLevel":"DISABLED",
       "WirelessDeviceLogOptions": [],
       "WireslessGatewayLogOptions":[]
   }
   ```

1. Der **update-log-levels-by-resource-types**-Befehl gibt keine Ausgabe zurück. Verwenden Sie den [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-log-levels-by-resource-types.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-log-levels-by-resource-types.html)-Befehl, um ressourcenspezifische Protokollierungsinformationen abzurufen. Der Befehl gibt die Standardprotokollebene sowie die Protokolloptionen für das WLAN-Gerät und das WLAN-Gateway zurück.
**Anmerkung**  
Der **get-log-levels-by-resource-types**-Befehl kann die Protokollebenen in der CloudWatch-Konsole nicht direkt abrufen. Sie können den **get-log-levels-by-resource-types**-Befehl verwenden, um die neuesten Informationen auf Protokollebene abzurufen, die Sie mit dem **update-log-levels-by-resource-types**-Befehl für Ihre Ressourcen angegeben haben.

   ```
   aws iotwireless get-log-levels-by-resource-types 
   ```

   Wenn Sie den folgenden Befehl ausführen, werden die neuesten Protokollinformationen zurückgegeben, die Sie mit **update-log-levels-by-resource-types** angegeben haben. Wenn Sie beispielsweise die Protokolloptionen für WLAN-Geräte entfernen, gibt **get-log-levels-by-resource-types** die Ausführung von diesen Wert als `null` zurück. 

   ```
   {
       "DefaultLogLevel": "INFO",
       "WirelessDeviceLogOptions": null,
        "WirelessGatewayLogOptions": 
         [
           {
            "Type": "LoRaWAN",
            "LogLevel": "INFO",
            "Events": 
             [
               {
                "Event": "CUPS_Request",
                "LogLevel": "DISABLED"
               }, 
               {
                 "Event": "Certificate",
                 "LogLevel": "ERROR"
               }
             ]
           }
         ]
   }
   ```

1. Verwenden Sie die folgenden CLI-Befehle, um die Protokollebenen für einzelne WLAN-Gateways oder WLAN-Geräteressourcen zu steuern:
   + [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/put-resource-log-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/put-resource-log-level.html)
   + [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-resource-log-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/get-resource-log-level.html)
   + [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-resource-log-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-resource-log-level.html)

   Nehmen wir als Beispiel für die Verwendung dieser CLIs an, dass Sie in Ihrem Konto eine große Anzahl von WLAN-Geräten oder -Gateways haben, die protokolliert werden. Wenn Sie Fehler nur für einige Ihrer WLAN-Geräte beheben möchten, können Sie die Protokollierung für alle WLAN-Geräte deaktivieren, indem Sie den Wert `DefaultLogLevel` auf `DISABLED` setzen, und **put-resource-log-level**verwenden, um `LogLevel` auf `ERROR` festzulegen, für die Geräte in Ihrem Konto. 

   ```
   aws iotwireless put-resource-log-level \ 
       --resource-identifier 
       --resource-type WirelessDevice
       --log-level ERROR
   ```

   In diesem Beispiel legt der Befehl die Protokollebene auf `ERROR` nur für die angegebene WLAN-Geräteressource fest und die Protokolle für alle anderen Ressourcen sind deaktiviert. Dieser Befehl liefert keine Ausgabe. Verwenden Sie den **get-resource-log-level**-Befehl, um diese Informationen abzurufen und zu überprüfen, ob die Protokollebenen festgelegt wurden.

1. Im vorherigen Schritt können Sie, nachdem Sie das Problem debuggt und den Fehler behoben haben, den **reset-resource-log-level**-Befehl ausführen, um die Protokollebene für diese Ressource auf `null` zurückzusetzen. Wenn Sie den `put-resource-log-level`-Befehl verwendet haben, um die Überschreibung der Protokollebene für mehr als ein WLAN-Gerät oder eine Gateway-Ressource festzulegen, z. B. zur Behebung von Fehlern für mehrere Geräte, können Sie mit dem [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-all-resource-log-levels.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iotwireless/reset-all-resource-log-levels.html)-Befehl die Überschreibungen auf Protokollebene für all diese Ressourcen wieder auf `null` zurücksetzen.

   ```
   aws iotwireless reset-all-resource-log-levels
   ```

   Dieser Befehl liefert keine Ausgabe. Führen Sie den **get-resource-log-level**-Befehl aus, um die Protokollierungsinformationen für die Ressourcen abzurufen.

## Nächste Schritte
<a name="configure-logging-next-steps"></a>

Sie haben gelernt, wie Sie die Protokollierungsrolle erstellen und die AWS IoT Wireless-API verwenden, um die Protokollierung für Ihre AWS IoT Core für LoRaWAN-Ressourcen zu konfigurieren. Weitere Informationen zur Überwachung Ihrer Protokolleinträge finden Sie unter [Überwachen von AWS IoT Wireless mithilfe von CloudWatch-Protokollen](cloud-watch-logs.md).