Konfigurieren Sie die Protokollierung für AWS IoT Wireless-Ressourcen - AWS IoT Wireless

Konfigurieren Sie die Protokollierung für AWS IoT Wireless-Ressourcen

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 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

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.

Protokollebenen und Ressourcen
Name Mögliche Werte Beschreibung
logLevel

INFO, ERROR oder DISABLED

  • ERROR: Zeigt einen Fehler, der bewirkt, dass ein Vorgang fehlschlägt. Protokolle enthalten nur ERROR-Informationen.

  • INFO: Allgemeine Informationen über den Ablauf der Elemente. Protokolle enthalten INFO- und ERROR-Informationen.

  • DISABLED: Deaktiviert die gesamte Protokollierung.

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_data, Downlink_data, CUPS_Request 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.

AWS IoT Wireless-Protokollierungs-API

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

Gibt aktuelle Standardprotokollebenen oder Protokollebenen nach Ressourcentypen zurück, die Protokolloptionen für drahtlose Geräte oder drahtlose Gateways beinhalten können.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

getResourceLogLevel

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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

PUResourceLogLevel

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.

Anmerkung

Diese API hat ein Limit von 200 Überschreibungen auf Protokollebene pro Konto.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:PutResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

ResetAllResourceLogLevels

Entfernt die Überschreibungen auf Protokollebene für alle Ressourcen, einschließlich drahtloser Gateways und drahtloser Geräte.

Anmerkung

Diese API hat keinen Einfluss auf die Protokollebenen, die mithilfe der UpdateLogLevelsByResourceTypes-API festgelegt werden.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetAllResourceLogLevels" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/*", "arn:aws:iotwireless:us-east-1:123456789012:WirelessGateway/* ] } ] }

ResetResourceLogLevel

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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

UpdateLogLevelsByResourceTypes

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.

Anmerkung

Ereignisse sind optional und der Ereignistyp ist an den Ressourcentyp gebunden. Weitere Informationen finden Sie unter Ereignisse und Ressourcentypen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:UpdateLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

Konfigurieren Sie die Protokollebenen von Ressourcen mithilfe der CLI

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:
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 beschrieben, werden Sie in AWS Management Console 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 update-log-levels-by-resource-types-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":[] }
  2. Der update-log-levels-by-resource-types-Befehl gibt keine Ausgabe zurück. Verwenden Sie den get-log-levels-by-resource-types-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" } ] } ] }
  3. Verwenden Sie die folgenden CLI-Befehle, um die Protokollebenen für einzelne WLAN-Gateways oder WLAN-Geräteressourcen zu steuern:

    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-levelverwenden, 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.

  4. 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 reset-all-resource-log-levels-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

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