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.
Name | Mögliche Werte | Beschreibung |
---|---|---|
logLevel |
|
|
resource |
|
Der Ressourcentyp, der |
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.
API-Name | Beschreibung | Beispiel einer IAM-Richtlinie |
---|---|---|
Gibt aktuelle Standardprotokollebenen oder Protokollebenen nach Ressourcentypen zurück, die Protokolloptionen für drahtlose Geräte oder drahtlose Gateways beinhalten können. |
|
|
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. |
|
|
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. AnmerkungDiese API hat ein Limit von 200 Überschreibungen auf Protokollebene pro Konto. |
|
|
Entfernt die Überschreibungen auf Protokollebene für alle Ressourcen, einschließlich drahtloser Gateways und drahtloser Geräte. AnmerkungDiese API hat keinen Einfluss auf die Protokollebenen, die mithilfe der |
|
|
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. |
|
|
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. AnmerkungEreignisse sind optional und der Ereignistyp ist an den Ressourcentyp gebunden. Weitere Informationen finden Sie unter Ereignisse und Ressourcentypen. |
|
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:
-
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.
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
undUpdateLogLevelsByResourceTypes
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
undResetResourceLogLevel
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 aufPutResourceLogLevel
zurück, für die Sie mithilfe dernull
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.
-
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
undDISABLED
. Der Standardwert istINFO
. - 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 ProtokollebenenDISABLED
undERROR
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":[] }
-
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" } ] } ] }
-
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
aufDISABLED
setzen, und put-resource-log-levelverwenden, umLogLevel
aufERROR
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. -
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 denput-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.