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

Konfiguration AWS IoT Protokollierung

Sie müssen die Protokollierung aktivieren, indem Sie den AWS IoT KonsoleCLI, oder API bevor Sie überwachen und protokollieren können AWS IoT Aktivität.

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

Wenn Sie überlegen, wie Sie Ihre konfigurieren sollen AWS IoT Die Standardkonfiguration für die Protokollierung bestimmt, wie AWS IoT Die Aktivität wird protokolliert, 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.

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

Informationen zur Protokollierung und Überwachung finden Sie AWS IoT Greengrass, siehe Protokollierung und Überwachung in AWS IoT Greengrass. Stand 30. Juni 2023 AWS IoT Greengrass Die Kernsoftware wurde migriert zu AWS IoT Greengrass Version 2.

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 AWS Erlaubnis zur Überwachung AWS IoT Aktivität in Ihrem Namen. Sie können auch eine IAM Rolle mit den erforderlichen Richtlinien im Abschnitt Logs der AWS IoT Konsole.

Anmerkung

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

Wenn Sie hohe Verkehrsmuster erwarten in AWS IoT Core Aufgrund von Lasttests sollten Sie erwägen, die IoT-Protokollierung auszuschalten, 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 die Protokollierung erstellen AWS IoT Core Ressourcen schätzen.

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 AWS Dienst. Wählen Sie dann die Option IoT unter Anwendungsfall aus. Wenn Sie IoT nicht sehen, geben Sie IoT ein und suchen Sie in den Anwendungsfällen nach anderen AWS Dienste: Drop-down-Menü. 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 Sie die Standardprotokollierung im AWS IoT (Konsole).

Richtlinie für die Protokollierungsrolle

Die folgenden Richtliniendokumente enthalten die Rollen- und Vertrauensrichtlinien, die Folgendes ermöglichen AWS IoT um Protokolleinträge in CloudWatch Ihrem Namen einzureichen. Wenn du es auch erlaubt hast AWS IoT Core LoRaWANUm Protokolleinträge einzureichen, wird Ihnen ein für Sie erstelltes Richtliniendokument angezeigt, in dem beide Aktivitäten protokolliert werden.

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 der Richtlinie, dass sie nur protokolliert AWS IoT Core Aktivität:

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

Konfigurieren Sie die Standardprotokollierung im AWS IoT (Konsole)

In diesem Abschnitt wird beschrieben, wie Sie AWS IoT Konsole zur Konfiguration der Protokollierung für alle 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 das AWS IoT Konsole, um die Standardprotokollierung für alle zu konfigurieren AWS IoT
  1. Melden Sie sich an bei AWS IoT console. Weitere Informationen finden Sie unter Öffnen Sie 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 der Grad der Ausführlichkeit angezeigt, die von allen verwendet werden AWS IoT.

    Auf der Seite „Protokolle“ werden die Rolle und der Grad der Ausführlichkeit des Protokolls angezeigt.
  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 Ansehen AWS IoT Logs in der CloudWatch Konsole 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 konfigurieren AWS IoT mithilfe derCLI.

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 durchführen, API indem Sie die Methoden in der AWS APIdie 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 gewährt AWS IoT Erlaubnis, 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 alle aktiviert AWS IoT Protokollierung. Verwenden Sie diesen Parameter zum Aktivieren der Protokollierung, wenn sie derzeit deaktiviert ist.

    --disable-all-logs

    Ein optionaler Parameter, der alle deaktiviert AWS IoT Protokollierung. 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 Ansehen AWS IoT Logs in der CloudWatch Konsole 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 konfigurieren AWS IoT mithilfe der. 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 durchführen, API indem Sie die Methoden in der AWS APIdie 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 Rolle, die gewährt ARN AWS IoT Erlaubnis, 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 alle aktiviert AWS IoT Protokollierung. Verwenden Sie diesen Parameter zum Aktivieren der Protokollierung, wenn sie derzeit deaktiviert ist.

    --disable-all-logs

    Ein optionaler Parameter, der alle deaktiviert AWS IoT Protokollierung. 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 Ansehen AWS IoT Logs in der CloudWatch Konsole 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.