Protokollmanager - AWS IoT Greengrass

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.

Protokollmanager

Die Log Manager-Komponente (aws.greengrass.LogManager) lädt Protokolle von AWS IoT Greengrass Core-Geräten auf Amazon CloudWatch Logs hoch. Sie können Protokolle aus dem Greengrass-Kern, anderen Greengrass-Komponenten und anderen Anwendungen und Services hochladen, die keine Greengrass-Komponenten sind. Weitere Informationen zur Überwachung von Protokollen in - CloudWatch Protokollen und im lokalen Dateisystem finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Die folgenden Überlegungen gelten, wenn Sie die Log Manager-Komponente verwenden, um in CloudWatch Protokolle zu schreiben:

  • Protokollverzögerungen

    Anmerkung

    Wir empfehlen Ihnen, auf Log Manager Version 2.3.0 zu aktualisieren, um Protokollverzögerungen für rotierte und aktive Protokolldateien zu reduzieren. Wenn Sie auf Log Manager 2.3.0 aktualisieren, empfehlen wir Ihnen, auch auf Greengrass-Kern 2.9.1 zu aktualisieren.

    Die Log Manager-Komponente Version 2.2.8 (und früher) verarbeitet und lädt Protokolle nur aus rotierten Protokolldateien hoch. Standardmäßig rotiert die AWS IoT Greengrass Core-Software Protokolldateien stündlich oder nach 1 024 KB. Daher lädt die Log Manager-Komponente Protokolle erst hoch, nachdem die -AWS IoT GreengrassCore-Software oder eine Greengrass-Komponente Protokolle mit mehr als 1.024 KB geschrieben hat. Sie können eine niedrigere Größenbeschränkung für Protokolldateien konfigurieren, damit Protokolldateien häufiger rotiert werden. Dies führt dazu, dass die Protokollmanagerkomponente Protokolle häufiger in CloudWatch Protokolle hochlädt.

    Die Log Manager-Komponente Version 2.3.0 (und höher) verarbeitet und lädt alle Protokolle hoch. Wenn Sie ein neues Protokoll schreiben, verarbeitet und lädt Log Manager Version 2.3.0 (und höher) diese aktive Protokolldatei direkt hoch, anstatt darauf zu warten, dass sie rotiert wird. Das bedeutet, dass Sie das neue Protokoll in 5 Minuten oder weniger anzeigen können.

    Die Log Manager-Komponente lädt regelmäßig neue Protokolle hoch. Standardmäßig lädt die Log Manager-Komponente alle 5 Minuten neue Protokolle hoch. Sie können ein niedrigeres Upload-Intervall konfigurieren, sodass die Protokollmanagerkomponente Protokolle häufiger in CloudWatch Protokolle hochlädt, indem Sie die konfigurierenperiodicUploadIntervalSec. Weitere Informationen zur Konfiguration dieses regelmäßigen Intervalls finden Sie unter Konfiguration .

    Protokolle können nahezu in Echtzeit aus demselben Greengrass-Dateisystem hochgeladen werden. Wenn Sie Protokolle in Echtzeit beobachten müssen, sollten Sie die Verwendung von Dateisystemprotokollen in Betracht ziehen.

    Anmerkung

    Wenn Sie verschiedene Dateisysteme verwenden, um Protokolle zu schreiben, kehrt Log Manager zum Verhalten in den Versionen 2.2.8 und früher des Protokollmanagers zurück. Informationen zum Zugriff auf Dateisystemprotokolle finden Sie unter Zugriff auf Dateisystemprotokolle.

  • Zeitverzerrung

    Die Log-Manager-Komponente verwendet den Standard-Signaturprozess von Signature Version 4, um API-Anfragen an CloudWatch Logs zu erstellen. Wenn die Systemzeit auf einem Core-Gerät um mehr als 15 Minuten nicht synchron ist, lehnt CloudWatch Logs die Anforderungen ab. Weitere Informationen finden Sie unter Signaturprozess mit Signaturversion 4 in derAllgemeine AWS-Referenz .

Informationen zu den Protokollgruppen und Protokollstreams, in die diese Komponente Protokolle hochlädt, finden Sie unter Verwendung.

Versionen

Diese Komponente hat die folgenden Versionen:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Typ

Diese Komponente ist eine Plugin-Komponente (aws.greengrass.plugin). Der Greengrass-Kern führt diese Komponente in derselben Java Virtual Machine (JVM) wie der Kern aus. Der Kern wird neu gestartet, wenn Sie die Version dieser Komponente auf dem Core-Gerät ändern.

Diese Komponente verwendet dieselbe Protokolldatei wie der Greengrass-Kern. Weitere Informationen finden Sie unter Überwachen von AWS IoT Greengrass Protokollen.

Weitere Informationen finden Sie unter Komponententypen.

Betriebssystem

Diese Komponente kann auf -Core-Geräten installiert werden, auf denen die folgenden Betriebssysteme ausgeführt werden:

  • Linux

  • Windows

Voraussetzungen

Für diese Komponente gelten die folgenden Anforderungen:

  • Die Greengrass-Geräterolle muss die logs:DescribeLogStreams Aktionen logs:CreateLogGroup, logs:CreateLogStreamlogs:PutLogEvents, und zulassen, wie in der folgenden Beispiel-IAM-Richtlinie gezeigt.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:*" } ] }
    Anmerkung

    Die Greengrass-Geräterolle, die Sie bei der Installation der AWS IoT Greengrass Core-Software erstellen, enthält standardmäßig die Berechtigungen in dieser Beispielrichtlinie.

    Weitere Informationen finden Sie unter Verwenden von identitätsbasierten Richtlinien (IAM-Richtlinien) für - CloudWatch Protokolle im Amazon- CloudWatch Logs-Benutzerhandbuch.

  • Die Log Manager-Komponente wird für die Ausführung in einer VPC unterstützt. Um diese Komponente in einer VPC bereitzustellen, ist Folgendes erforderlich.

    • Die Log-Manager-Komponente muss über Konnektivität mit logs.region.amazonaws.com dem VPC-Endpunkt verfügencom.amazonaws.us-east-1.logs.

Endpunkte und Ports

Diese Komponente muss in der Lage sein, ausgehende Anfragen an die folgenden Endpunkte und Ports auszuführen, zusätzlich zu den für den grundlegenden Betrieb erforderlichen Endpunkten und Ports. Weitere Informationen finden Sie unter Zulassen von Gerätedatenverkehr über einen Proxy oder eine Firewall.

Endpunkt Port Erforderlich Beschreibung

logs.region.amazonaws.com

443 Nein

Erforderlich, wenn Sie Protokolle in CloudWatch -Protokolle schreiben.

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, stellt AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereit. Das bedeutet, dass Sie die Anforderungen für die Komponente und alle ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitzustellen. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente und die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können auch die Abhängigkeiten für jede Version der Komponente in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste Abhängigkeiten.

2.3.7

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.3.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.13.0 Weich
2.3.5 and 2.3.6

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.3.5 und 2.3.6 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.12.0 Weich
2.3.3 – 2.3.4

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.3.3 bis 2.3.4 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.11.0 Weich
2.2.8 – 2.3.2

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.2.8 bis 2.3.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.10.0 Weich
2.2.7

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.2.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.9.0 Weich
2.2.6

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.2.6 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.8.0 Weich
2.2.5

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.2.5 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.7.0 Weich
2.2.1 - 2.2.4

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.2.1–2.2.4 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.6.0 Weich
2.1.3 and 2.2.0

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.1.3 und 2.2.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.5.0 Weich
2.1.2

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.4.0 Weich
2.1.1

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.1 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.3.0 Weich
2.1.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.1.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.1.0 <2.2.0 Weich
2.0.x

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.0.x dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Abhängigkeitstyp
Greengrass-Kern >=2.0.3 <2.1.0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zum Komponentenrezept .

Konfiguration

Diese Komponente bietet die folgenden Konfigurationsparameter, die Sie anpassen können, wenn Sie die Komponente bereitstellen.

v2.3.6 – v2.3.7
logsUploaderConfiguration

(Optional) Die Konfiguration für Protokolle, die die Log-Manager-Komponente hochlädt. Dieses Objekt enthält die folgenden Informationen:

systemLogsConfiguration

(Optional) Die Konfiguration für -AWS IoT GreengrassCore-Softwaresystemprotokolle, die Protokolle aus dem Greengrass-Kern und Plugin-Komponenten enthalten. Geben Sie diese Konfiguration an, damit die Log Manager-Komponente Systemprotokolle verwalten kann. Dieses Objekt enthält die folgenden Informationen:

uploadToCloudWatch

(Optional) Sie können Systemprotokolle in CloudWatch -Protokolle hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindestebene gilt nur, wenn Sie die Greengrass-Kernkomponente für die Ausgabe von Protokollen im JSON-Format konfigurieren. Um Protokolle im JSON-Format zu aktivieren, geben Sie JSON für den Protokollierungsformatparameter (logging.format) an.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Greengrass-Systemprotokolldateien diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Greengrass-Systemprotokolldateien.

Dieser Parameter entspricht dem Parameter für die Protokollgrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtgröße des Greengrass-Systemprotokolls.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

componentLogsConfigurationMap

(Optional) Eine Zuordnung von Protokollkonfigurationen für Komponenten auf dem Core-Gerät. Jedes componentName Objekt in dieser Zuordnung definiert die Protokollkonfiguration für die Komponente oder Anwendung. Die Log-Manager-Komponente lädt diese Komponentenprotokolle in CloudWatch Logs hoch.

Wichtig

Wir empfehlen dringend, einen einzelnen Konfigurationsschlüssel pro Komponente zu verwenden. Sie sollten nur auf eine Gruppe von Dateien abzielen, die nur eine Protokolldatei haben, in die aktiv geschrieben wird, wenn Sie die verwendenlogFileRegex. Wenn Sie diese Empfehlung nicht befolgen, können doppelte Protokolle in hochgeladen werden CloudWatch. Wenn Sie mehrere aktive Protokolldateien mit einem einzigen Regex anvisieren, empfehlen wir Ihnen, auf Log Manager v2.3.1 oder höher zu aktualisieren und Ihre Konfiguration mithilfe der Beispielkonfiguration zu ändern.

Anmerkung

Wenn Sie von einer Version des Protokollmanagers vor v2.2.0 aktualisieren, können Sie weiterhin die componentLogsConfiguration Liste anstelle von verwendencomponentLogsConfigurationMap. Es wird jedoch dringend empfohlen, das Kartenformat zu verwenden, damit Sie Zusammenführungs- und Reset-Aktualisierungen verwenden können, um Konfigurationen für bestimmte Komponenten zu ändern. Informationen zum -componentLogsConfigurationParameter finden Sie in den Konfigurationsparametern für v2.1.x dieser Komponente.

componentName

Die Protokollkonfiguration für die componentName Komponente oder Anwendung für diese Protokollkonfiguration. Sie können den Namen einer Greengrass-Komponente oder einen anderen Wert angeben, um diese Protokollgruppe zu identifizieren.

Jedes Objekt enthält die folgenden Informationen:

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindestebene gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON-Format verwenden, das Sie im AWS IoT Greengrass Protokollierungsmodul-Repository auf finden GitHub.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Protokolldateien dieser Komponente diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Protokolldateien dieser Komponente.

Dieser Parameter bezieht sich auf den Parameter zur Begrenzung der Protokollgröße (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass -Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

logFileDirectoryPath

(Optional) Der Pfad zu dem Ordner, der die Protokolldateien dieser Komponente enthält.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Format des Protokolldateinamens angibt, das die Komponente oder Anwendung verwendet. Die Log Manager-Komponente verwendet diesen regulären Ausdruck, um Protokolldateien im Ordner unter zu identifizierenlogFileDirectoryPath.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen Regex an, der den rotierten Protokolldateinamen entspricht. Sie können beispielsweise angeben, hello_world\\\\w*.log um Protokolle für eine Hello World-Anwendung hochzuladen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, die alphanumerische Zeichen und Unterstriche enthalten. Dieser Regex gleicht Protokolldateien mit und ohne Zeitstempel im Namen ab. In diesem Beispiel lädt der Protokollmanager die folgenden Protokolldateien hoch:

  • hello_world.log – Die neueste Protokolldatei für die Hello World-Anwendung.

  • hello_world_2020_12_15_17_0.log – Eine ältere Protokolldatei für die Hello World-Anwendung.

Standard: componentName\\\\w*.log, wobei componentName der Name der Komponente für diese Protokollkonfiguration ist.

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann eine Protokollnachricht in einer neuen Zeile eine neue Protokollnachricht ist. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Protokollmanagerkomponente die neue Zeile an die Protokollnachricht für die vorherige Zeile an.

Standardmäßig prüft die Protokollmanagerkomponente, ob die Zeile mit einem Leerzeichen beginnt, z. B. einer Registerkarte oder einem Leerzeichen. Ist dies nicht der Fall, behandelt der Protokollmanager diese Zeile als neue Protokollnachricht. Andernfalls wird diese Zeile an die aktuelle Protokollnachricht angehängt. Dieses Verhalten stellt sicher, dass die Protokollmanagerkomponente keine Nachrichten aufteilt, die sich über mehrere Zeilen erstrecken, z. B. Stack-Ablaufverfolgungen.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Log Manager-Komponente nach neuen hochzuladenden Protokolldateien sucht.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

deprecatedVersionSupport

Gibt an, ob der Protokollmanager Verbesserungen der Protokollierungsgeschwindigkeit verwenden soll, die in Log Manager v2.3.5 eingeführt wurden. Setzen Sie den Wert auf false, um die Verbesserungen zu verwenden.

Wenn Sie diesen Wert auf festlegenfalse, wenn Sie ein Upgrade von Log Manager v2.3.1 durchführen, können frühere doppelte Protokolleinträge hochgeladen werden.

Der Standardwert ist true.

Beispiel: Aktualisierung der Konfigurationszusammenführung

Die folgende Beispielkonfiguration gibt an, Systemprotokolle und com.example.HelloWorld Komponentenprotokolle in CloudWatch Protokolle hochzuladen.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300", "deprecatedVersionSupport": "false" }
Beispiel: Konfiguration zum Hochladen mehrerer aktiver Protokolldateien mit Log Manager v2.3.1

Die folgende Beispielkonfiguration ist das empfohlene Beispiel, wenn Sie mehrere aktive Protokolldateien anvisieren möchten. Diese Beispielkonfiguration gibt an, welche aktiven Protokolldateien Sie in hochladen möchten CloudWatch. Bei Verwendung dieser Konfigurationsbeispielkonfiguration werden auch alle rotierten Dateien hochgeladen, die mit dem übereinstimmenlogFileRegex. Diese Beispielkonfiguration wird auf Log Manager v2.3.1 unterstützt.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.3.x
logsUploaderConfiguration

(Optional) Die Konfiguration für Protokolle, die die Log-Manager-Komponente hochlädt. Dieses Objekt enthält die folgenden Informationen:

systemLogsConfiguration

(Optional) Die Konfiguration für -AWS IoT GreengrassCore-Softwaresystemprotokolle, die Protokolle aus dem Greengrass-Kern und den Plugin-Komponenten enthalten. Geben Sie diese Konfiguration an, damit die Log Manager-Komponente Systemprotokolle verwalten kann. Dieses Objekt enthält die folgenden Informationen:

uploadToCloudWatch

(Optional) Sie können Systemprotokolle in CloudWatch -Protokolle hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn Sie die Greengrass-Kernkomponente für die Ausgabe von Protokollen im JSON-Format konfigurieren. Um Protokolle im JSON-Format zu aktivieren, geben Sie JSON für den Protokollierungsformatparameter (logging.format) an.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Greengrass-Systemprotokolldateien diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Greengrass-Systemprotokolldateien.

Dieser Parameter entspricht dem Parameter zur Begrenzung der Protokollgröße (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtgröße des Greengrass-Systemprotokolls.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

componentLogsConfigurationMap

(Optional) Eine Zuordnung von Protokollkonfigurationen für Komponenten auf dem Core-Gerät. Jedes componentName Objekt in dieser Zuordnung definiert die Protokollkonfiguration für die Komponente oder Anwendung. Die Log-Manager-Komponente lädt diese Komponentenprotokolle in CloudWatch Logs hoch.

Wichtig

Wir empfehlen dringend, einen einzelnen Konfigurationsschlüssel pro Komponente zu verwenden. Sie sollten nur auf eine Gruppe von Dateien abzielen, die nur eine Protokolldatei haben, in die aktiv geschrieben wird, wenn Sie die verwendenlogFileRegex. Wenn Sie diese Empfehlung nicht befolgen, können doppelte Protokolle in hochgeladen werden CloudWatch. Wenn Sie mehrere aktive Protokolldateien mit einem einzigen Regex anvisieren, empfehlen wir Ihnen, auf Log Manager v2.3.1 zu aktualisieren und Ihre Konfiguration mithilfe der Beispielkonfiguration zu ändern.

Anmerkung

Wenn Sie von einer Version des Protokollmanagers vor v2.2.0 aktualisieren, können Sie weiterhin die componentLogsConfiguration Liste anstelle von verwendencomponentLogsConfigurationMap. Es wird jedoch dringend empfohlen, das Kartenformat zu verwenden, damit Sie Zusammenführungs- und Reset-Aktualisierungen verwenden können, um Konfigurationen für bestimmte Komponenten zu ändern. Informationen zum componentLogsConfiguration Parameter finden Sie in den Konfigurationsparametern für v2.1.x dieser Komponente.

componentName

Die Protokollkonfiguration für die componentName Komponente oder Anwendung für diese Protokollkonfiguration. Sie können den Namen einer Greengrass-Komponente oder einen anderen Wert angeben, um diese Protokollgruppe zu identifizieren.

Jedes Objekt enthält die folgenden Informationen:

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindestebene gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON-Format verwenden, das Sie im AWS IoT Greengrass Protokollierungsmodul-Repository auf finden GitHub.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Protokolldateien dieser Komponente diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Protokolldateien dieser Komponente.

Dieser Parameter bezieht sich auf den Parameter zur Begrenzung der Protokollgröße (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

logFileDirectoryPath

(Optional) Der Pfad zu dem Ordner, der die Protokolldateien dieser Komponente enthält.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Format des Protokolldateinamens angibt, das die Komponente oder Anwendung verwendet. Die Log Manager-Komponente verwendet diesen regulären Ausdruck, um Protokolldateien im Ordner unter zu identifizierenlogFileDirectoryPath.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen Regex an, der den rotierten Protokolldateinamen entspricht. Sie können beispielsweise angeben, hello_world\\\\w*.log um Protokolle für eine Hello World-Anwendung hochzuladen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, die alphanumerische Zeichen und Unterstriche enthalten. Dieser Regex gleicht Protokolldateien mit und ohne Zeitstempel im Namen ab. In diesem Beispiel lädt der Protokollmanager die folgenden Protokolldateien hoch:

  • hello_world.log – Die neueste Protokolldatei für die Hello World-Anwendung.

  • hello_world_2020_12_15_17_0.log – Eine ältere Protokolldatei für die Hello World-Anwendung.

Standard: componentName\\\\w*.log, wobei componentName der Name der Komponente für diese Protokollkonfiguration ist.

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann eine Protokollnachricht in einer neuen Zeile eine neue Protokollnachricht ist. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Protokollmanagerkomponente die neue Zeile an die Protokollnachricht für die vorherige Zeile an.

Standardmäßig prüft die Log-Manager-Komponente, ob die Zeile mit einem Leerzeichen beginnt, z. B. einer Registerkarte oder einem Leerzeichen. Andernfalls behandelt der Protokollmanager diese Zeile als neue Protokollnachricht. Andernfalls wird diese Zeile an die aktuelle Protokollnachricht angehängt. Dieses Verhalten stellt sicher, dass die Log-Manager-Komponente keine Nachrichten aufteilt, die sich über mehrere Zeilen erstrecken, z. B. Stack-Ablaufverfolgungen.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Protokollmanager-Komponente nach neuen Protokolldateien zum Hochladen sucht.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Konfigurationszusammenführung

Die folgende Beispielkonfiguration gibt an, Systemprotokolle und com.example.HelloWorld Komponentenprotokolle in CloudWatch Protokolle hochzuladen.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300" }
Beispiel: Konfiguration zum Hochladen mehrerer aktiver Protokolldateien mit Log Manager v2.3.1

Die folgende Beispielkonfiguration ist das empfohlene Beispiel, wenn Sie mehrere aktive Protokolldateien anvisieren möchten. Diese Beispielkonfiguration gibt an, welche aktiven Protokolldateien Sie in hochladen möchten CloudWatch. Bei Verwendung dieser Konfigurationsbeispielkonfiguration werden auch alle rotierten Dateien hochgeladen, die mit dem übereinstimmenlogFileRegex. Diese Beispielkonfiguration wird auf Log Manager v2.3.1 unterstützt.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.2.x
logsUploaderConfiguration

(Optional) Die Konfiguration für Protokolle, die die Log-Manager-Komponente hochlädt. Dieses Objekt enthält die folgenden Informationen:

systemLogsConfiguration

(Optional) Die Konfiguration für -AWS IoT GreengrassCore-Softwaresystemprotokolle, die Protokolle aus dem Greengrass-Kern und Plugin-Komponenten enthalten. Geben Sie diese Konfiguration an, damit die Log Manager-Komponente Systemprotokolle verwalten kann. Dieses Objekt enthält die folgenden Informationen:

uploadToCloudWatch

(Optional) Sie können Systemprotokolle in CloudWatch -Protokolle hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn Sie die Greengrass-Kernkomponente für die Ausgabe von Protokollen im JSON-Format konfigurieren. Um Protokolle im JSON-Format zu aktivieren, geben Sie JSON für den Protokollierungsformatparameter (logging.format) an.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Greengrass-Systemprotokolldateien diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Greengrass-Systemprotokolldateien.

Dieser Parameter entspricht dem Parameter für die Protokollgrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtgröße des Greengrass-Systemprotokolls.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

componentLogsConfigurationMap

(Optional) Eine Zuordnung von Protokollkonfigurationen für Komponenten auf dem Core-Gerät. Jedes componentName Objekt in dieser Zuordnung definiert die Protokollkonfiguration für die Komponente oder Anwendung. Die Log-Manager-Komponente lädt diese Komponentenprotokolle in CloudWatch Logs hoch.

Anmerkung

Wenn Sie von einer Version des Protokollmanagers vor v2.2.0 aktualisieren, können Sie weiterhin die componentLogsConfiguration Liste anstelle von verwendencomponentLogsConfigurationMap. Es wird jedoch dringend empfohlen, das Kartenformat zu verwenden, damit Sie Zusammenführungs- und Reset-Aktualisierungen verwenden können, um Konfigurationen für bestimmte Komponenten zu ändern. Informationen zum componentLogsConfiguration Parameter finden Sie in den Konfigurationsparametern für v2.1.x dieser Komponente.

componentName

Die Protokollkonfiguration für die componentName Komponente oder Anwendung für diese Protokollkonfiguration. Sie können den Namen einer Greengrass-Komponente oder einen anderen Wert angeben, um diese Protokollgruppe zu identifizieren.

Jedes Objekt enthält die folgenden Informationen:

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindestebene gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON-Format verwenden, das Sie im AWS IoT Greengrass Protokollierungsmodul-Repository auf finden GitHub.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Protokolldateien dieser Komponente diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Protokolldateien dieser Komponente.

Dieser Parameter bezieht sich auf den Parameter zur Begrenzung der Protokollgröße (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

logFileDirectoryPath

(Optional) Der Pfad zu dem Ordner, der die Protokolldateien dieser Komponente enthält.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Format des Protokolldateinamens angibt, das die Komponente oder Anwendung verwendet. Die Log Manager-Komponente verwendet diesen regulären Ausdruck, um Protokolldateien im Ordner unter zu identifizierenlogFileDirectoryPath.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen Regex an, der den rotierten Protokolldateinamen entspricht. Sie können beispielsweise angeben, hello_world\\\\w*.log um Protokolle für eine Hello World-Anwendung hochzuladen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, die alphanumerische Zeichen und Unterstriche enthalten. Dieser Regex gleicht Protokolldateien mit und ohne Zeitstempel im Namen ab. In diesem Beispiel lädt der Protokollmanager die folgenden Protokolldateien hoch:

  • hello_world.log – Die neueste Protokolldatei für die Hello World-Anwendung.

  • hello_world_2020_12_15_17_0.log – Eine ältere Protokolldatei für die Hello World-Anwendung.

Standard: componentName\\\\w*.log, wobei componentName der Name der Komponente für diese Protokollkonfiguration ist.

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann eine Protokollnachricht in einer neuen Zeile eine neue Protokollnachricht ist. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Protokollmanagerkomponente die neue Zeile an die Protokollnachricht für die vorherige Zeile an.

Standardmäßig prüft die Log-Manager-Komponente, ob die Zeile mit einem Leerzeichen beginnt, z. B. einer Registerkarte oder einem Leerzeichen. Andernfalls behandelt der Protokollmanager diese Zeile als neue Protokollnachricht. Andernfalls wird diese Zeile an die aktuelle Protokollnachricht angehängt. Dieses Verhalten stellt sicher, dass die Log-Manager-Komponente keine Nachrichten aufteilt, die sich über mehrere Zeilen erstrecken, z. B. Stack-Ablaufverfolgungen.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Protokollmanager-Komponente nach neuen Protokolldateien zum Hochladen sucht.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Konfigurationszusammenführung

Die folgende Beispielkonfiguration gibt an, Systemprotokolle und com.example.HelloWorld Komponentenprotokolle in CloudWatch Protokolle hochzuladen.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300" }
v2.1.x
logsUploaderConfiguration

(Optional) Die Konfiguration für Protokolle, die die Log-Manager-Komponente hochlädt. Dieses Objekt enthält die folgenden Informationen:

systemLogsConfiguration

(Optional) Die Konfiguration für -AWS IoT GreengrassCore-Softwaresystemprotokolle, die Protokolle aus dem Greengrass-Kern und den Plugin-Komponenten enthalten. Geben Sie diese Konfiguration an, damit die Log Manager-Komponente Systemprotokolle verwalten kann. Dieses Objekt enthält die folgenden Informationen:

uploadToCloudWatch

(Optional) Sie können Systemprotokolle in CloudWatch -Protokolle hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn Sie die Greengrass-Kernkomponente für die Ausgabe von Protokollen im JSON-Format konfigurieren. Um Protokolle im JSON-Format zu aktivieren, geben Sie JSON für den Protokollierungsformatparameter (logging.format) an.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Greengrass-Systemprotokolldateien diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Greengrass-Systemprotokolldateien.

Dieser Parameter entspricht dem Parameter für die Protokollgrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtgröße des Greengrass-Systemprotokolls.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

componentLogsConfiguration

(Optional) Eine Liste von Protokollkonfigurationen für Komponenten auf dem Core-Gerät. Jede Konfiguration in dieser Liste definiert die Protokollkonfiguration für eine Komponente oder Anwendung. Die Log Manager-Komponente lädt diese Komponentenprotokolle in CloudWatch Logs hoch

Jedes Objekt enthält die folgenden Informationen:

componentName

Der Name der Komponente oder Anwendung für diese Protokollkonfiguration. Sie können den Namen einer Greengrass-Komponente oder einen anderen Wert angeben, um diese Protokollgruppe zu identifizieren.

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindestebene gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON-Format verwenden, das Sie im AWS IoT Greengrass Protokollierungsmodul-Repository auf finden GitHub.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Protokolldateien dieser Komponente diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Protokolldateien dieser Komponente.

Dieser Parameter bezieht sich auf den Parameter zur Begrenzung der Protokollgröße (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

logFileDirectoryPath

(Optional) Der Pfad zu dem Ordner, der die Protokolldateien dieser Komponente enthält.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Format des Protokolldateinamens angibt, das die Komponente oder Anwendung verwendet. Die Log Manager-Komponente verwendet diesen regulären Ausdruck, um Protokolldateien im Ordner unter zu identifizierenlogFileDirectoryPath.

Sie müssen diesen Parameter nicht für Greengrass-Komponenten angeben, die in der Standardausgabe (stdout) und im Standardfehler (stderr) gedruckt werden.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen Regex an, der den rotierten Protokolldateinamen entspricht. Sie können beispielsweise angeben, hello_world\\\\w*.log um Protokolle für eine Hello World-Anwendung hochzuladen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, die alphanumerische Zeichen und Unterstriche enthalten. Dieser Regex gleicht Protokolldateien mit und ohne Zeitstempel im Namen ab. In diesem Beispiel lädt der Protokollmanager die folgenden Protokolldateien hoch:

  • hello_world.log – Die neueste Protokolldatei für die Hello World-Anwendung.

  • hello_world_2020_12_15_17_0.log – Eine ältere Protokolldatei für die Hello World-Anwendung.

Standard: componentName\\\\w*.log, wobei componentName der Name der Komponente für diese Protokollkonfiguration ist.

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann eine Protokollnachricht in einer neuen Zeile eine neue Protokollnachricht ist. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Protokollmanagerkomponente die neue Zeile an die Protokollnachricht für die vorherige Zeile an.

Standardmäßig prüft die Log-Manager-Komponente, ob die Zeile mit einem Leerzeichen beginnt, z. B. einer Registerkarte oder einem Leerzeichen. Andernfalls behandelt der Protokollmanager diese Zeile als neue Protokollnachricht. Andernfalls wird diese Zeile an die aktuelle Protokollnachricht angehängt. Dieses Verhalten stellt sicher, dass die Log-Manager-Komponente keine Nachrichten aufteilt, die sich über mehrere Zeilen erstrecken, z. B. Stack-Ablaufverfolgungen.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Protokollmanager-Komponente nach neuen Protokolldateien zum Hochladen sucht.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Konfigurationszusammenführung

Die folgende Beispielkonfiguration gibt an, Systemprotokolle und com.example.HelloWorld Komponentenprotokolle in CloudWatch Protokolle hochzuladen.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfiguration": [ { "componentName": "com.example.HelloWorld", "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } ] }, "periodicUploadIntervalSec": "300" }
v2.0.x
logsUploaderConfiguration

(Optional) Die Konfiguration für Protokolle, die die Log-Manager-Komponente hochlädt. Dieses Objekt enthält die folgenden Informationen:

systemLogsConfiguration

(Optional) Die Konfiguration für -AWS IoT GreengrassCore-Softwaresystemprotokolle. Geben Sie diese Konfiguration an, damit die Log Manager-Komponente Systemprotokolle verwalten kann. Dieses Objekt enthält die folgenden Informationen:

uploadToCloudWatch

(Optional) Sie können Systemprotokolle in CloudWatch -Protokolle hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn Sie die Greengrass-Kernkomponente für die Ausgabe von Protokollen im JSON-Format konfigurieren. Um Protokolle im JSON-Format zu aktivieren, geben Sie JSON für den Protokollierungsformatparameter (logging.format) an.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Greengrass-Systemprotokolldateien diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Greengrass-Systemprotokolldateien.

Dieser Parameter entspricht dem Parameter für die Protokollgrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtgröße des Greengrass-Systemprotokolls.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

componentLogsConfiguration

(Optional) Eine Liste von Protokollkonfigurationen für Komponenten auf dem Core-Gerät. Jede Konfiguration in dieser Liste definiert die Protokollkonfiguration für eine Komponente oder Anwendung. Die Log Manager-Komponente lädt diese Komponentenprotokolle in CloudWatch Logs hoch

Jedes Objekt enthält die folgenden Informationen:

componentName

Der Name der Komponente oder Anwendung für diese Protokollkonfiguration. Sie können den Namen einer Greengrass-Komponente oder einen anderen Wert angeben, um diese Protokollgruppe zu identifizieren.

minimumLogLevel

(Optional) Die Mindestebene der hochzuladenden Protokollnachrichten. Diese Mindestebene gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON-Format verwenden, das Sie im AWS IoT Greengrass Protokollierungsmodul-Repository auf finden GitHub.

Wählen Sie aus den folgenden Protokollebenen aus, die hier in der Reihenfolge der Ebenen aufgeführt sind:

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der Einheit, die Sie in angebendiskSpaceLimitUnit. Nachdem die Gesamtgröße der Protokolldateien dieser Komponente diese maximale Gesamtgröße überschreitet, löscht die AWS IoT Greengrass Core-Software die ältesten Protokolldateien dieser Komponente.

Dieser Parameter bezieht sich auf den Parameter zur Begrenzung der Protokollgröße (totalLogsSizeKB) der Greengrass-Kernkomponente . Die AWS IoT Greengrass Core-Software verwendet das Minimum der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für die diskSpaceLimit. Wählen Sie aus den folgenden Optionen aus:

  • KB – Kilobyte

  • MB – Megabyte

  • GB – Gigabyte

Standard: KB

logFileDirectoryPath

Der Pfad zu dem Ordner, der die Protokolldateien dieser Komponente enthält.

Um die Protokolle einer Greengrass-Komponente hochzuladen, geben Sie an /greengrass/v2/logsund ersetzen Sie durch /greengrass/v2 Ihren Greengrass-Stammordner.

logFileRegex

Ein regulärer Ausdruck, der das Format des Protokolldateinamens angibt, das die Komponente oder Anwendung verwendet. Die Log Manager-Komponente verwendet diesen regulären Ausdruck, um Protokolldateien im Ordner unter zu identifizierenlogFileDirectoryPath.

Um die Protokolle einer Greengrass-Komponente hochzuladen, geben Sie einen Regex an, der den rotierten Protokolldateinamen entspricht. Sie können beispielsweise angeben, com.example.HelloWorld\\w*.log um Protokolle für eine Hello-World-Komponente hochzuladen. Das \\w* Muster entspricht null oder mehr Wortzeichen, die alphanumerische Zeichen und Unterstriche enthalten. Dieser Regex gleicht Protokolldateien mit und ohne Zeitstempel im Namen ab. In diesem Beispiel lädt der Protokollmanager die folgenden Protokolldateien hoch:

  • com.example.HelloWorld.log – Die neueste Protokolldatei für die Hello World-Komponente.

  • com.example.HelloWorld_2020_12_15_17_0.log – Eine ältere Protokolldatei für die Hello World-Komponente. Der Greengrass-Kernus fügt den Protokolldateien einen rotierenden Zeitstempel hinzu.

deleteLogFileAfterCloudUpload

(Optional) Sie können eine Protokolldatei löschen, nachdem die Protokollmanagerkomponente die Protokolle in CloudWatch Logs hochgeladen hat.

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann eine Protokollnachricht in einer neuen Zeile eine neue Protokollnachricht ist. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Protokollmanagerkomponente die neue Zeile an die Protokollnachricht für die vorherige Zeile an.

Standardmäßig prüft die Log-Manager-Komponente, ob die Zeile mit einem Leerzeichen beginnt, z. B. einer Registerkarte oder einem Leerzeichen. Andernfalls behandelt der Protokollmanager diese Zeile als neue Protokollnachricht. Andernfalls wird diese Zeile an die aktuelle Protokollnachricht angehängt. Dieses Verhalten stellt sicher, dass die Log-Manager-Komponente keine Nachrichten aufteilt, die sich über mehrere Zeilen erstrecken, z. B. Stack-Ablaufverfolgungen.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Protokollmanager-Komponente nach neuen Protokolldateien zum Hochladen sucht.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Konfigurationszusammenführung

Die folgende Beispielkonfiguration gibt an, Systemprotokolle und com.example.HelloWorld Komponentenprotokolle in CloudWatch Protokolle hochzuladen.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfiguration": [ { "componentName": "com.example.HelloWorld", "minimumLogLevel": "INFO", "logFileDirectoryPath": "/greengrass/v2/logs", "logFileRegex": "com.example.HelloWorld\\w*.log", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } ] }, "periodicUploadIntervalSec": "300" }

Verwendung

Die Log Manager-Komponente lädt in die folgenden Protokollgruppen und Protokollstreams hoch.

2.1.0 and later
Protokollgruppenname
/aws/greengrass/componentType/region/componentName

Der Name der Protokollgruppe verwendet die folgenden Variablen:

  • componentType – Der Typ der Komponente, der einer der folgenden sein kann:

    • GreengrassSystemComponent – Diese Protokollgruppe enthält Protokolle für die Kern- und Plugin-Komponenten, die in derselben JVM wie der Greengrass-Kern ausgeführt werden. Die Komponente ist Teil des Greengrass-Kerns .

    • UserComponent – Diese Protokollgruppe enthält Protokolle für generische Komponenten, Lambda-Komponenten und andere Anwendungen auf dem Gerät. Die Komponente ist nicht Teil des Greengrass-Kerns.

    Weitere Informationen finden Sie unter Komponententypen.

  • region – Die AWS Region, die das Core-Gerät verwendet.

  • componentName – Der Name der Komponente. Für Systemprotokolle ist dieser Wert System.

Name des Protokollstreams
/date/thing/thingName

Der Name des Protokollstreams verwendet die folgenden Variablen:

  • date – Das Datum des Protokolls, z. B. 2020/12/15. Die Log-Manager-Komponente verwendet das yyyy/MM/dd Format .

  • thingName – Der Name des Core-Geräts.

Anmerkung

Wenn ein Objektname einen Doppelpunkt (:) enthält, ersetzt der Protokollmanager den Doppelpunkt durch ein Pluszeichen (+).

2.0.x
Protokollgruppenname
/aws/greengrass/componentType/region/componentName

Der Name der Protokollgruppe verwendet die folgenden Variablen:

  • componentType – Der Typ der Komponente, der einer der folgenden sein kann:

    • GreengrassSystemComponent – Die Komponente ist Teil des Greengrass-Kerns .

    • UserComponent – Die Komponente ist nicht Teil des Greengrass-Kerns. Der Protokollmanager verwendet diesen Typ für Greengrass-Komponenten und andere Anwendungen auf dem Gerät.

  • region – Die AWS Region, die das Core-Gerät verwendet.

  • componentName – Der Name der Komponente. Für Systemprotokolle ist dieser Wert System.

Name des Protokollstreams
/date/deploymentTargets/thingName

Der Name des Protokollstreams verwendet die folgenden Variablen:

  • date – Das Datum des Protokolls, z. B. 2020/12/15. Die Log-Manager-Komponente verwendet das yyyy/MM/dd Format .

  • deploymentTargets – Die Objekte, deren Bereitstellungen die Komponente enthalten. Die Protokollmanagerkomponente trennt jedes Ziel durch einen Schrägstrich. Wenn die Komponente aufgrund einer lokalen Bereitstellung auf dem Core-Gerät ausgeführt wird, ist dieser Wert LOCAL_DEPLOYMENT.

    Stellen Sie sich ein Beispiel vorMyGreengrassCore, in dem Sie ein Core-Gerät mit dem Namen haben und das Core-Gerät zwei Bereitstellungen hat:

    • Eine Bereitstellung, die auf das Core-Gerät abzielt, MyGreengrassCore.

    • Eine Bereitstellung, die auf eine Objektgruppe mit dem Namen abzieltMyGreengrassCoreGroup, die das Core-Gerät enthält.

    Die deploymentTargets für dieses Core-Gerät sind thing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup.

  • thingName – Der Name des Core-Geräts.

Formate für Protokolleinträge.

Der Greengrass-Kern schreibt Protokolldateien entweder im Zeichenfolgen- oder JSON-Format. Für Systemprotokolle steuern Sie das Format, indem Sie das format Feld des logging Eintrags festlegen. Sie finden den logging Eintrag in der Konfigurationsdatei der Greengrass-Kernkomponente. Weitere Informationen finden Sie unter Greengrass-Kernkonfiguration.

Das Textformat ist frei und akzeptiert jede Zeichenfolge. Die folgende Servicemeldung für den Flottenstatus ist ein Beispiel für die Protokollierung im Zeichenfolgenformat:

2023-03-26T18:18:27.271Z [INFO] (pool-1-thread-2) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {trigger=CADENCE, serviceName=FleetStatusService, currentState=RUNNING}

Sie sollten das JSON-Format verwenden, wenn Sie Protokolle mit dem Greengrass-CLI-Protokollbefehl anzeigen oder programmgesteuert mit Protokollen interagieren möchten. Im folgenden Beispiel wird die JSON-Form beschrieben:

{ "loggerName": <string>, "level": <"DEBUG" | "INFO" | "ERROR" | "TRACE" | "WARN">, "eventType": <string, optional>, "cause": <string, optional>, "contexts": {}, "thread": <string>, "message": <string>, "timestamp": <epoch time> # Needs to be epoch time }

Um die Ausgabe der Protokolle Ihrer Komponente zu steuern, können Sie die minimumLogLevel Konfigurationsoption verwenden. Um diese Option verwenden zu können, muss Ihre Komponente ihre Protokolleinträge im JSON-Format schreiben. Sie sollten dasselbe Format wie die Systemprotokolldatei verwenden.

Lokale Protokolldatei

Diese Komponente verwendet dieselbe Protokolldatei wie die Greengrass-Kernkomponente.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
So zeigen Sie die Protokolle dieser Komponente an
  • Führen Sie den folgenden Befehl auf dem Core-Gerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. Ersetzen Sie /greengrass/v2 oder C:\greengrass\v2 durch den Pfad zum AWS IoT Greengrass Stammordner.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in jeder Version der Komponente beschrieben.

Version

Änderungen

2.3.7

Version für Greengrass-Kern Version 2.12.0 aktualisiert.

2.3.6

Fehlerbehebungen und Verbesserungen
  • Passt die Protokollstufen für bestimmte Fehler an.

2.3.5

Verbesserungen

Verbessert die Geschwindigkeit des Protokoll-Uploads.

Version für Greengrass-Kern Version 2.11.0 aktualisiert.

2.3.4

Fehlerbehebungen und Verbesserungen
  • Fügt Unterstützung für die Einstellung des periodicUploadIntervalSec Parameters auf Bruchwerte hinzu. Das Minimum beträgt 1 Mikrosekunde.

  • Behebt ein Problem, bei dem Log Manager die CloudWatch putLogEvents Limits nicht einhält.

2.3.3

Version für Greengrass-Kern Version 2.10.0 aktualisiert.

2.3.2

Fehlerbehebungen und Verbesserungen
  • Verbessert die Speicherplatzverwaltung, sodass Protokolldateien nicht gelöscht werden, bevor sie hochgeladen werden.

  • Behebt Probleme mit der Cache-Verwaltung.

  • Zusätzliche kleinere Fehlerbehebungen und Verbesserungen.

2.3.1

Fehlerbehebungen und Verbesserungen
  • Behebt ein Problem, bei dem s, die Dateigruppen mit mehreren aktiven Protokolldateien anvisieren, doppelte Einträge in hochladen CloudWatch.

  • Zusätzliche kleinere Fehlerbehebungen und Verbesserungen.

2.3.0

Anmerkung

Wir empfehlen, dass Sie ein Upgrade auf Greengrass-Kern 2.9.1 durchführen, wenn Sie ein Upgrade auf Log Manager 2.3.0 durchführen.

Neue Features

Reduziert Protokollverzögerungen, indem aktive Protokolldateien verarbeitet und direkt hochgeladen werden, anstatt darauf zu warten, dass neue Dateien rotiert werden.

Fehlerbehebungen und Verbesserungen
  • Verbessert die Unterstützung der Protokollrotation beim Rotieren von Dateien mit einem eindeutigen Namen.

  • Zusätzliche kleinere Fehlerbehebungen und Verbesserungen.

2.2.8

Version für Greengrass-Kern Version 2.9.0 aktualisiert.

2.2.7

Version für Greengrass-Kern Version 2.8.0 aktualisiert.

2.2.6

Version für Greengrass-Kern Version 2.7.0 aktualisiert.

2.2.5

Version für Greengrass-Kern Version 2.6.0 aktualisiert.

2.2.4

Fehlerbehebungen und Verbesserungen
  • Verbessert die Stabilität beim Umgang mit ungültigen Konfigurationen.

  • Zusätzliche kleinere Korrekturen und Verbesserungen.

2.2.3

Fehlerbehebungen und Verbesserungen
  • Verbessert die Stabilität in bestimmten Szenarien, in denen die Komponente neu gestartet wird oder Fehler auftreten.

  • Behebt Probleme, bei denen große Protokollmeldungen und große Protokolldateien in bestimmten Szenarien nicht hochgeladen werden konnten.

  • Behebt Probleme mit der Handhabung von Konfigurationsrücksetzungsaktualisierungen durch diese Komponente.

  • Behebt ein Problem, bei dem ein null diskSpaceLimit Konfigurationswert die Bereitstellung der Komponente verhindert hat.

2.2.2

Fehlerbehebungen und Verbesserungen
  • Fügt Unterstützung für Protokollnachrichten hinzu, die größer als 256 Kilobyte sind. Die Log-Manager-Komponente teilt diese großen Protokollmeldungen in mehrere Meldungen mit demselben Protokollereigniszeitstempel auf.

2.2.1

Version für Greengrass-Kern Version 2.5.0 aktualisiert.

2.2.0

Neues Feature
  • Fügt den componentLogsConfigurationMap Konfigurationsparameter hinzu, um ein Zuordnungsformat für Komponentenprotokollkonfigurationen zu unterstützen. Jedes componentName Objekt in der Zuordnung definiert die Protokollkonfiguration für eine Komponente oder Anwendung.

2.1.3

Version für Greengrass-Kern Version 2.4.0 aktualisiert.

2.1.2

Version für Greengrass-Kern Version 2.3.0 aktualisiert.

2.1.1

Fehlerbehebungen und Verbesserungen
  • Behebt ein Problem, bei dem die Systemprotokollkonfiguration in bestimmten Fällen nicht aktualisiert wurde.

2.1.0

Fehlerbehebungen und Verbesserungen
  • Verwenden Sie Standardwerte für logFileDirectoryPath und logFileRegex, die für Greengrass-Komponenten funktionieren, die auf die Standardausgabe (stdout) und den Standardfehler (stderr) gedruckt werden.

  • Datenverkehr beim Hochladen von Protokollen in CloudWatch Protokolle korrekt über einen konfigurierten Netzwerk-Proxy weiterleiten.

  • Verarbeiten Sie Doppelpunktzeichen (:) in Protokollstreamnamen korrekt. CloudWatch Logs-Protokollstreamnamen unterstützen keine Doppelpunkte.

  • Vereinfachen Sie die Namen von Protokollstreams, indem Sie Objektgruppennamen aus dem Protokollstream entfernen.

  • Entfernen Sie eine Fehlermeldung, die während des normalen Verhaltens ausgegeben wird.

2.0.x

Erste Version