Konfigurieren Sie die AWS IoT Protokollierung - AWS IoT Core

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.

Konfigurieren Sie die AWS IoT Protokollierung

Sie müssen die Protokollierung über die AWS IoT Konsole aktivierenCLI, oder API bevor Sie AWS IoT Aktivitäten überwachen und protokollieren können.

Sie können die Protokollierung für alle AWS IoT oder nur für bestimmte Dinggruppen aktivieren. Sie können die AWS IoT Protokollierung mithilfe der AWS IoT Konsole, CLIAPI, oder konfigurieren. Sie müssen jedoch das CLI oder verwenden, API um die Protokollierung für bestimmte Dinggruppen zu konfigurieren.

Wenn Sie überlegen, wie Sie Ihre AWS IoT Protokollierung konfigurieren, bestimmt die Standardkonfiguration für die Protokollierung, wie AWS IoT Aktivitäten protokolliert werden, sofern nicht anders angegeben. Zu Beginn können detaillierte Protokolle mit der Standard-Protokollstufe INFO oder DEBUG sinnvoll sein. Nachdem Sie die ersten Protokolle geprüft haben, können Sie als Standard-Protokollstufe eine weniger ausführliche Stufe wie WARN oder ERROR und zugleich eine ausführlichere Protokollstufe für diejenigen Ressourcen aktivieren, die möglicherweise mehr Aufmerksamkeit benötigen. Protokollstufen können jederzeit geändert werden.

In diesem Thema wird die cloudseitige Anmeldung behandelt. AWS IoT Informationen zur geräteseitigen Protokollierung und Überwachung finden Sie unter Geräteseitige Protokolle hochladen auf. CloudWatch

Informationen zur Protokollierung und Überwachung AWS IoT Greengrass finden Sie unter Protokollierung und Überwachung. AWS IoT Greengrass Zum 30. Juni 2023 wurde die AWS IoT Greengrass Core-Software auf AWS IoT Greengrass Version 2 migriert.

Konfigurieren der Protokollierungsrolle und -richtlinie

Bevor Sie die Anmeldung aktivieren können AWS IoT, müssen Sie eine IAM Rolle und eine Richtlinie erstellen, die Ihnen die AWS Erlaubnis geben, AWS IoT Aktivitäten in Ihrem Namen zu überwachen. Sie können auch im Abschnitt Protokolle der AWS IoT Konsole eine IAM Rolle mit den erforderlichen Richtlinien generieren.

Anmerkung

Bevor Sie die AWS IoT Protokollierung aktivieren, stellen Sie sicher, dass Sie die Zugriffsberechtigungen für CloudWatch Protokolle verstanden haben. Benutzer mit Zugriff auf CloudWatch Protokolle können Debugging-Informationen von Ihren Geräten einsehen. Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle für Amazon CloudWatch Logs.

Wenn Sie AWS IoT Core aufgrund von Lasttests mit hohen Datenverkehrsmustern rechnen, sollten Sie erwägen, die IoT-Protokollierung zu deaktivieren, um Drosselungen zu vermeiden. Wenn ein hoher Datenverkehr festgestellt wird, deaktiviert unser Service möglicherweise die Protokollierung in Ihrem Konto.

Im Folgenden wird gezeigt, wie Sie eine Protokollierungsrolle und eine Richtlinie für AWS IoT Core Ressourcen erstellen.

Erstellen einer Protokollierungsrolle

Um eine Logging-Rolle zu erstellen, öffnen Sie den Rollen-Hub der IAM Konsole und wählen Sie Rolle erstellen aus.

  1. Wählen Sie unter Vertrauenswürdige Entität auswählen die Option AWS -Service aus. Wählen Sie dann die Option IoT unter Anwendungsfall aus. Wenn IoT nicht angezeigt wird, geben Sie IoT im Drop-down-Menü Anwendungsfälle für andere AWS -Services ein und suchen Sie danach. Klicken Sie auf Weiter.

  2. Auf der Seite Berechtigungen hinzufügen sehen Sie die Richtlinien, die automatisch mit der Servicerolle verknüpft werden. Wählen Sie Weiter aus.

  3. Geben Sie auf der Seite Name, Überprüfen und Erstellen einen Rollennamen und eine Rollenbeschreibung für die Rolle ein und wählen Sie dann Rolle erstellen.

  4. Suchen Sie in der Rollenliste nach der Rolle, die Sie erstellt haben, öffnen Sie sie und kopieren Sie die Rolle ARN (logging-role-arn), um es zu verwenden, wenn SieKonfigurieren der Standard-Protokollierung in AWS IoT (Konsole).

Richtlinie für die Protokollierungsrolle

Die folgenden Richtliniendokumente enthalten die Rollen- und Vertrauensrichtlinien, AWS IoT an die Sie Protokolleinträge in CloudWatch Ihrem Namen senden können. Wenn Sie auch das Senden von Protokolleinträgen zugelassen AWS IoT Core haben, wird ein für Sie erstelltes Richtliniendokument angezeigt, in dem beide Aktivitäten protokolliert werden. LoRa WAN

Anmerkung

Diese Dokumente wurden für Sie erstellt, als Sie die Protokollierungsrolle erstellt haben. Die Dokumente haben Variablen, $ {partition}, $ {region}, und ${accountId}, die Sie durch Ihre Werte ersetzen müssen.

Rollenrichtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "iot:GetLoggingOptions", "iot:SetLoggingOptions", "iot:SetV2LoggingOptions", "iot:GetV2LoggingOptions", "iot:SetV2LoggingLevel", "iot:ListV2LoggingLevels", "iot:DeleteV2LoggingLevel" ], "Resource": [ "arn:${partition}:logs:${region}:${accountId}:log-group:AWSIotLogsV2:*" ] } ] }

Vertrauen Sie darauf, dass die Richtlinie nur AWS IoT Core Aktivitäten protokolliert:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Konfigurieren der Standard-Protokollierung in AWS IoT (Konsole)

In diesem Abschnitt wird beschrieben, wie Sie mit der AWS IoT Konsole die Protokollierung für alle von konfigurieren AWS IoT. Um die Protokollierung nur für bestimmte Dinggruppen zu konfigurieren, müssen Sie das CLI oder verwendenAPI. Informationen zum Konfigurieren der Protokollierung ausschließlich für bestimmte Objektgruppen finden Sie unter Konfigurieren Sie die ressourcenspezifische Anmeldung () AWS IoT CLI.

Um die AWS IoT Konsole zur Konfiguration der Standardprotokollierung für alle zu verwenden AWS IoT
  1. Melden Sie sich bei der AWS IoT Konsole an. Weitere Informationen finden Sie unter Öffnen Sie die AWS IoT Konsole.

  2. Wählen Sie im linken Navigationsbereich die Option Einstellungen aus. Wählen Sie im Abschnitt Protokolle der Seite Einstellungen die Option Protokolle verwalten aus.

    Auf der Seite Protokolle werden die Protokollierungsrolle und die Ausführlichkeit des Protokolls für alle AWS IoT-Objekte angezeigt.

    Die Seite „Protokolle“, auf der die Protokollrolle und der Grad der Ausführlichkeit angezeigt werden.
  3. Wählen Sie auf der Seite Protokolle die Option Rolle auswählen aus, um eine Rolle festzulegen, die Sie in Erstellen einer Protokollierungsrolle oder in Rolle erstellen erstellt haben, um eine neue Rolle für die Protokollierung zu erstellen.

    Die Seite „Protokolle“, auf der die Protokollrolle und die Protokollebene angezeigt werden.
  4. Wählen Sie die Protokollebene, die den Detaillierungsgrad der Protokolleinträge beschreibt, die in den CloudWatch Protokollen erscheinen sollen.

  5. Wählen Sie Aktualisieren aus, um Ihre Änderungen zu speichern.

Nachdem Sie die Protokollierung aktiviert haben, finden Sie unter AWS IoT Protokolle in der CloudWatch Konsole anzeigen Informationen zum Anzeigen der Protokolleinträge.

Konfigurieren Sie die Standardanmeldung AWS IoT (CLI)

In diesem Abschnitt wird beschrieben, wie Sie die globale Protokollierung für mithilfe AWS IoT von konfigurierenCLI.

Anmerkung

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 zunächst Erstellen einer Protokollierungsrolle, bevor Sie weitermachen.

Der Principal, mit dem Sie das API Must Have Rollenberechtigungen weitergeben für Ihre Logging-Rolle aufgerufen haben.

Sie können dieses Verfahren auch mit der ausführen, API indem Sie die Methoden in der verwenden AWS API, die den hier gezeigten CLI Befehlen entsprechen.

Um das zu verwendenCLI, um die Standardprotokollierung für zu konfigurieren AWS IoT
  1. Verwenden Sie den Befehl set-v2-logging-options, um die Protokollierungsoptionen für Ihr Konto festzulegen.

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    Wobei:

    --role-arn

    Die RolleARN, die die AWS IoT Erlaubnis erteilt, in Ihre Logs in CloudWatch Logs zu schreiben.

    --default-log-level

    Die zu verwendende Protokollstufe. Gültige Werte: ERROR, WARN, INFO, DEBUG oder DISABLED

    --no-disable-all-logs

    Ein optionaler Parameter, der die gesamte AWS IoT Protokollierung aktiviert. Verwenden Sie diesen Parameter zum Aktivieren der Protokollierung, wenn sie derzeit deaktiviert ist.

    --disable-all-logs

    Ein optionaler Parameter, der die gesamte AWS IoT Protokollierung deaktiviert. Verwenden Sie diesen Parameter zum Deaktivieren der Protokollierung, wenn sie derzeit aktiviert ist.

  2. Verwenden Sie den Befehl get-v2-logging-options, um Ihre aktuellen Protokollierungsoptionen abzurufen.

    aws iot get-v2-logging-options

Nachdem Sie die Protokollierung aktiviert haben, finden Sie unter AWS IoT Protokolle in der CloudWatch Konsole anzeigen Informationen zum Anzeigen der Protokolleinträge.

Anmerkung

AWS IoT unterstützt weiterhin ältere Befehle (set-logging-optionsundget-logging-options) zum Einrichten und Abrufen der globalen Protokollierung für Ihr Konto. Beachten Sie, dass bei Verwendung dieser Befehle die resultierenden Protokolle reinen Text und keine JSON Nutzlasten enthalten und die Protokollierungslatenz im Allgemeinen höher ist. Es werden keine weiteren Verbesserungen an der Implementierung dieser älteren Befehle vorgenommen. Wir empfehlen die Verwendung der „v2“-Versionen zur Konfiguration Ihrer Protokollierungsoptionen und, wenn möglich, die Änderung von Legacy-Anwendungen, die ältere Versionen verwenden.

Konfigurieren Sie die ressourcenspezifische Anmeldung () AWS IoT CLI

In diesem Abschnitt wird beschrieben, wie Sie die ressourcenspezifische Protokollierung für AWS IoT mithilfe von konfigurieren. CLI Mit der ressourcenspezifischen Protokollierung können Sie eine Protokollierungsstufe für eine bestimmte Objektgruppe angeben.

Objektgruppen können andere Objektgruppen enthalten, um eine hierarchische Beziehung zu erstellen. In diesem Verfahren wird beschrieben, wie die Protokollierung einer einzelnen Objektgruppe konfiguriert wird. Sie können dieses Verfahren auf die übergeordnete Objektgruppe in einer Hierarchie anwenden, um die Protokollierung für alle Objektgruppen in der Hierarchie zu konfigurieren. Sie können dieses Verfahren auch auf eine untergeordnete Objektgruppe anwenden, um die Protokollierungskonfiguration des übergeordneten Elements zu überschreiben.

Neben Objektgruppen können Sie auch Ziele wie die Client-ID, die Quell-IP und die Prinzipal-ID eines Geräts protokollieren.

Anmerkung

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 zunächst Erstellen einer Protokollierungsrolle, bevor Sie weitermachen.

Der Principal, mit dem Sie das API Must Have Rollenberechtigungen weitergeben für Ihre Logging-Rolle aufgerufen haben.

Sie können dieses Verfahren auch mit der ausführen, API indem Sie die Methoden in der verwenden AWS API, die den hier gezeigten CLI Befehlen entsprechen.

Um das zu verwendenCLI, um die ressourcenspezifische Protokollierung zu konfigurieren für AWS IoT
  1. Verwenden Sie den Befehl set-v2-logging-options, um die Protokollierungsoptionen für Ihr Konto festzulegen.

    aws iot set-v2-logging-options \ --role-arn logging-role-arn \ --default-log-level log-level

    Wobei:

    --role-arn

    Die RolleARN, die Ihnen die AWS IoT Berechtigung erteilt, in Ihre Logs in CloudWatch Logs zu schreiben.

    --default-log-level

    Die zu verwendende Protokollstufe. Gültige Werte: ERROR, WARN, INFO, DEBUG oder DISABLED

    --no-disable-all-logs

    Ein optionaler Parameter, der die gesamte AWS IoT Protokollierung aktiviert. Verwenden Sie diesen Parameter zum Aktivieren der Protokollierung, wenn sie derzeit deaktiviert ist.

    --disable-all-logs

    Ein optionaler Parameter, der die gesamte AWS IoT Protokollierung deaktiviert. Verwenden Sie diesen Parameter zum Deaktivieren der Protokollierung, wenn sie derzeit aktiviert ist.

  2. Verwenden Sie den Befehl set-v2-logging-level, um die ressourcenspezifische Protokollierung für eine Objektgruppe zu konfigurieren.

    aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=thing_group_name \ --log-level log_level
    --log-target

    Typ und Name der Ressource, für die Sie die Protokollierung konfigurieren. Der Wert target_type muss einer der folgenden sein: THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID. Der Wert des Parameters log-target kann Text sein, wie im vorherigen Befehlsbeispiel gezeigt, oder eine JSON Zeichenfolge, wie im folgenden Beispiel.

    aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \ --log-level log_level
    --log-level

    Die Protokollierungsebene, die beim Generieren von Protokollen für die angegebene Ressource verwendet wird. Gültige Werte: DEBUG, INFO, ERROR, WARN und DISABLED

    aws iot set-v2-logging-level \ --log-target targetType=CLIENT_ID,targetName=ClientId1 \ --log-level DEBUG
  3. Verwenden Sie den Befehl list-v2-logging-levels, um die aktuell konfigurierten Protokollierungsstufen aufzulisten.

    aws iot list-v2-logging-levels
  4. Verwenden Sie den Befehl delete-v2-logging-level, um eine ressourcenspezifische Protokollierungsstufe zu löschen, ähnlich dem folgenden Beispiel.

    aws iot delete-v2-logging-level \ --target-type "THING_GROUP" \ --target-name "thing_group_name"
    aws iot delete-v2-logging-level \ --target-type=CLIENT_ID --target-name=ClientId1
    --targetType

    Der Wert target_type muss einer der folgenden sein: THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID.

    --targetName

    Der Name der Objektgruppe, für welche die Protokollierungsstufe entfernt werden soll.

Nachdem Sie die Protokollierung aktiviert haben, finden Sie unter AWS IoT Protokolle in der CloudWatch Konsole anzeigen Informationen zum Anzeigen der Protokolleinträge.

Protokollstufen

Diese Protokollstufen bestimmen die Ereignisse, die protokolliert werden und die für Standard- und ressourcenspezifische Protokollstufen berücksichtigt werden.

ERROR

Jeder Fehler, der bewirkt, dass ein Vorgang fehlschlägt.

Protokolle enthalten nur ERROR Informationen.

WARN

Alles, was zu Inkonsistenzen im System führen kann, aber möglicherweise nicht zum Fehlschlagen der Operation führt.

Protokolle enthalten ERROR WARN Informationen.

INFO

Hochwertige Informationen über den Ablauf der Objekte.

Protokolle enthalten INFOERROR, und WARN Informationen.

DEBUG

Informationen, die bei der Problembehebung hilfreich sein können.

Protokolle enthaltenDEBUG, INFOERROR, und WARN Informationen.

DISABLED

Die gesamte Protokollierung ist deaktiviert.