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 Kerngeräten zu Amazon CloudWatch Logs hoch. Sie können Protokolle aus dem Greengrass-Nucleus, anderen Greengrass-Komponenten und anderen Anwendungen und Diensten hochladen, die keine Greengrass-Komponenten sind. Weitere Informationen zur Überwachung von Protokollen in CloudWatch Logs und im lokalen Dateisystem finden Sie unter. Überwachen von AWS IoT Greengrass Protokollen

Die folgenden Überlegungen gelten, wenn Sie die Log-Manager-Komponente zum Schreiben in CloudWatch Logs verwenden:

  • Verzögerungen protokollieren

    Anmerkung

    Wir empfehlen Ihnen, auf Log Manager Version 2.3.0 zu aktualisieren, um Protokollverzögerungen bei rotierten und aktiven Protokolldateien zu reduzieren. Wenn Sie auf Log Manager 2.3.0 aktualisieren, empfehlen wir Ihnen, auch auf Greengrass Nucleus 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 die Protokolldateien jede Stunde oder nachdem sie 1.024 KB groß sind. Daher lädt die Log-Manager-Komponente Protokolle erst hoch, nachdem die AWS IoT Greengrass Core-Software oder eine Greengrass-Komponente Protokolle im Wert von über 1.024 KB geschrieben hat. Sie können eine niedrigere Größenbeschränkung für Protokolldateien konfigurieren, damit Protokolldateien häufiger rotieren. Dies führt dazu, dass die Log-Manager-Komponente Logs häufiger in CloudWatch Logs 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 Log Manager Version 2.3.0 (und höher) diese aktive Protokolldatei und lädt sie 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 Log-Manager-Komponente Logs häufiger in Logs hochlädt, CloudWatch indem Sie den konfigurieren. periodicUploadIntervalSec Weitere Informationen zur Konfiguration dieses periodischen 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 zum Schreiben von Protokollen verwenden, kehrt der Log Manager zum Verhalten der Protokollmanager-Komponentenversionen 2.2.8 und früher zurück. Informationen zum Zugriff auf Dateisystemprotokolle finden Sie unter Zugriff auf Dateisystemprotokolle.

  • Zeitversatz

    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 mehr synchron ist, lehnt CloudWatch Logs die Anfragen ab. Weitere Informationen finden Sie unter Signaturprozess mit Signaturversion 4 in derAllgemeine AWS-Referenz .

Hinweise zu den Protokollgruppen und Protokollströmen, 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 Nucleus aus. Der Nucleus 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 Kerngerä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:CreateLogGrouplogs:CreateLogStream,logs:PutLogEvents, und zulassen, wie in der folgenden IAM Beispielrichtlinie 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 identitätsbasierter Richtlinien (IAMRichtlinien) für CloudWatch Protokolle im Amazon CloudWatch Logs-Benutzerhandbuch.

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

    • Die Log Manager-Komponente muss über Konnektivität verfügenlogs.region.amazonaws.com, zu der der VPC Endpunkt istcom.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 Endpunkten und Ports, die für den Basisbetrieb erforderlich sind. 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 Logs schreiben. CloudWatch

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 all ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitstellen zu können. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können die Abhängigkeiten für jede Version der Komponente auch in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.

2.3.8

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

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.1.0 <2.14.0 Weich
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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=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 Art der Abhängigkeit
Grüngraskern >=2.0.3 <2.1.0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den Komponentenrezepten.

Konfiguration

Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

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 Greengrass Core-Softwaresystemprotokolle, die Protokolle der Greengrass-Nukleus - 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 Logs hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestanzahl an Protokollnachrichten, die hochgeladen werden sollen. Diese Mindeststufe gilt nur, wenn Sie die Greengrass Nucleus-Komponente für die Ausgabe von Protokollen JSON im Ausgabeformat konfigurieren. Um das JSON Formatieren von Protokollen zu aktivieren, geben Sie JSON für den Logging-Formatparameter (logging.format) an.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der von Ihnen angegebenen Einheit. diskSpaceLimitUnit Wenn 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 diediskSpaceLimit. 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 Log-Manager-Komponente die Protokolle in Logs hochgeladen hat. CloudWatch

Standard: false

componentLogsConfigurationMap

(Optional) Eine Übersicht der Protokollkonfigurationen für Komponenten auf dem Kerngerä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 Logs hoch. CloudWatch

Wichtig

Wir empfehlen dringend, einen einzigen 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. Die Nichtbeachtung dieser Empfehlung kann dazu führen, dass doppelte Protokolle hochgeladen werden CloudWatch. Wenn Sie auf mehrere aktive Protokolldateien mit einem einzigen regulären Ausdruck abzielen, empfehlen wir Ihnen, ein Upgrade auf Log Manager v2.3.1 oder höher durchzuführen und eine Änderung Ihrer Konfiguration anhand der Beispielkonfiguration in Betracht zu ziehen.

Anmerkung

Wenn Sie ein Upgrade von einer früheren Version von Log Manager als Version 2.2.0 durchführen, können Sie stattdessen weiterhin die Liste verwenden. componentLogsConfiguration componentLogsConfigurationMap Es wird jedoch dringend empfohlen, das Zuordnungsformat zu verwenden, sodass Sie Aktualisierungen zum Zusammenführen und Zurücksetzen verwenden können, um Konfigurationen für bestimmte Komponenten zu ändern. Informationen zu diesem componentLogsConfiguration Parameter finden Sie in den Konfigurationsparametern für Version 2.1.x dieser Komponente.

componentName

Die Protokollkonfiguration für 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 Mindestanzahl der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON Format verwenden, das Sie im Repository des AWS IoT Greengrass Logging-Moduls finden GitHub.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der von Ihnen angegebenen EinheitdiskSpaceLimitUnit. Wenn 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 für die Loggrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente. Die AWS IoT Greengrass Core-Software verwendet den kleinsten der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für diediskSpaceLimit. 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Namensformat der Protokolldatei 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen regulären Ausdruck an, der den Namen der rotierten Protokolldateien entspricht. Sie könnten beispielsweise angebenhello_world\\\\w*.log, dass Protokolle für eine Hello World-Anwendung hochgeladen werden sollen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, einschließlich alphanumerischer Zeichen und Unterstriche. Dieser reguläre Ausdruck entspricht Protokolldateien mit und ohne Zeitstempel im Namen. 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, wo componentName ist der Name der Komponente für diese Protokollkonfiguration.

deleteLogFileAfterCloudUpload

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

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann es sich bei einer Protokollnachricht in einer neuen Zeile um eine neue Protokollnachricht handelt. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Log-Manager-Komponente 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. einem Tabulator 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 Log-Manager-Komponente Nachrichten, die sich über mehrere Zeilen erstrecken, nicht aufteilt, wie z. B. Stack-Traces.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Log Manager-Komponente nach neuen Protokolldateien sucht, die hochgeladen werden können.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

deprecatedVersionSupport

Gibt an, ob der Protokollmanager die in Log Manager v2.3.5 eingeführten Verbesserungen der Protokollierungsgeschwindigkeit verwenden sollte. Stellen Sie den Wert auf ein, false um die Verbesserungen zu nutzen.

Wenn Sie diesen Wert false bei der Aktualisierung von Log Manager v2.3.1 oder früher auf festlegen, werden möglicherweise doppelte Protokolleinträge hochgeladen.

Der Standardwert ist true.

Beispiel: Update zur Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration legt fest, dass System- und com.example.HelloWorld Komponentenprotokolle in Logs hochgeladen werden CloudWatch sollen.

{ "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 als Ziel verwenden möchten. Diese Beispielkonfiguration gibt an, in welche aktiven Protokolldateien Sie hochladen möchten CloudWatch. Bei Verwendung dieser Beispielkonfiguration werden auch alle rotierten Dateien hochgeladen, die dem entsprechenlogFileRegex. Diese Beispielkonfiguration wird von 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 Greengrass Core-Softwaresystemprotokolle, die Protokolle der Greengrass-Nukleus - 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 Logs hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestanzahl an Protokollnachrichten, die hochgeladen werden sollen. Diese Mindeststufe gilt nur, wenn Sie die Greengrass Nucleus-Komponente für die Ausgabe von Protokollen JSON im Ausgabeformat konfigurieren. Um das JSON Formatieren von Protokollen zu aktivieren, geben Sie JSON für den Logging-Formatparameter (logging.format) an.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der von Ihnen angegebenen Einheit. diskSpaceLimitUnit Wenn 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 diediskSpaceLimit. 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 Log-Manager-Komponente die Protokolle in Logs hochgeladen hat. CloudWatch

Standard: false

componentLogsConfigurationMap

(Optional) Eine Übersicht der Protokollkonfigurationen für Komponenten auf dem Kerngerä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 Logs hoch. CloudWatch

Wichtig

Wir empfehlen dringend, einen einzigen 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. Die Nichtbeachtung dieser Empfehlung kann dazu führen, dass doppelte Protokolle hochgeladen werden CloudWatch. Wenn Sie auf mehrere aktive Protokolldateien mit einem einzigen regulären Ausdruck abzielen, empfehlen wir Ihnen, auf Log Manager v2.3.1 zu aktualisieren und eine Änderung Ihrer Konfiguration anhand der Beispielkonfiguration in Betracht zu ziehen.

Anmerkung

Wenn Sie ein Upgrade von einer früheren Version von Log Manager als Version 2.2.0 durchführen, können Sie stattdessen weiterhin die Liste verwenden. componentLogsConfiguration componentLogsConfigurationMap Es wird jedoch dringend empfohlen, das Zuordnungsformat zu verwenden, sodass Sie Aktualisierungen zum Zusammenführen und Zurücksetzen verwenden können, um Konfigurationen für bestimmte Komponenten zu ändern. Informationen zu diesem componentLogsConfiguration Parameter finden Sie in den Konfigurationsparametern für Version 2.1.x dieser Komponente.

componentName

Die Protokollkonfiguration für 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 Mindestanzahl der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON Format verwenden, das Sie im Repository des AWS IoT Greengrass Logging-Moduls finden GitHub.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der von Ihnen angegebenen EinheitdiskSpaceLimitUnit. Wenn 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 für die Loggrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente. Die AWS IoT Greengrass Core-Software verwendet den kleinsten der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für diediskSpaceLimit. 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Namensformat der Protokolldatei 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen regulären Ausdruck an, der den Namen der rotierten Protokolldateien entspricht. Sie könnten beispielsweise angebenhello_world\\\\w*.log, dass Protokolle für eine Hello World-Anwendung hochgeladen werden sollen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, einschließlich alphanumerischer Zeichen und Unterstriche. Dieser reguläre Ausdruck entspricht Protokolldateien mit und ohne Zeitstempel im Namen. 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, wo componentName ist der Name der Komponente für diese Protokollkonfiguration.

deleteLogFileAfterCloudUpload

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

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann es sich bei einer Protokollnachricht in einer neuen Zeile um eine neue Protokollnachricht handelt. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Log-Manager-Komponente 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. einem Tabulator 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 Log-Manager-Komponente Nachrichten, die sich über mehrere Zeilen erstrecken, nicht aufteilt, wie z. B. Stack-Traces.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Log Manager-Komponente nach neuen Protokolldateien sucht, die hochgeladen werden können.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration legt fest, dass System- und com.example.HelloWorld Komponentenprotokolle in Logs hochgeladen werden CloudWatch sollen.

{ "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 als Ziel verwenden möchten. Diese Beispielkonfiguration gibt an, in welche aktiven Protokolldateien Sie hochladen möchten CloudWatch. Bei Verwendung dieser Beispielkonfiguration werden auch alle rotierten Dateien hochgeladen, die dem entsprechenlogFileRegex. Diese Beispielkonfiguration wird von 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 Greengrass Core-Softwaresystemprotokolle, die Protokolle der Greengrass-Nukleus - 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 Logs hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestanzahl an Protokollnachrichten, die hochgeladen werden sollen. Diese Mindeststufe gilt nur, wenn Sie die Greengrass Nucleus-Komponente für die Ausgabe von Protokollen JSON im Ausgabeformat konfigurieren. Um das JSON Formatieren von Protokollen zu aktivieren, geben Sie JSON für den Logging-Formatparameter (logging.format) an.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der von Ihnen angegebenen Einheit. diskSpaceLimitUnit Wenn 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 diediskSpaceLimit. 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 Log-Manager-Komponente die Protokolle in Logs hochgeladen hat. CloudWatch

Standard: false

componentLogsConfigurationMap

(Optional) Eine Übersicht der Protokollkonfigurationen für Komponenten auf dem Kerngerä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 Logs hoch. CloudWatch

Anmerkung

Wenn Sie ein Upgrade von einer früheren Version von Log Manager als Version 2.2.0 durchführen, können Sie stattdessen weiterhin die componentLogsConfiguration Liste verwenden. componentLogsConfigurationMap Es wird jedoch dringend empfohlen, das Zuordnungsformat zu verwenden, sodass Sie Aktualisierungen zum Zusammenführen und Zurücksetzen verwenden können, um Konfigurationen für bestimmte Komponenten zu ändern. Informationen zu diesem componentLogsConfiguration Parameter finden Sie in den Konfigurationsparametern für Version 2.1.x dieser Komponente.

componentName

Die Protokollkonfiguration für 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 Mindestanzahl der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON Format verwenden, das Sie im Repository des AWS IoT Greengrass Logging-Moduls finden GitHub.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der von Ihnen angegebenen EinheitdiskSpaceLimitUnit. Wenn 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 für die Loggrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente. Die AWS IoT Greengrass Core-Software verwendet den kleinsten der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für diediskSpaceLimit. 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Namensformat der Protokolldatei 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen regulären Ausdruck an, der den Namen der rotierten Protokolldateien entspricht. Sie könnten beispielsweise angebenhello_world\\\\w*.log, dass Protokolle für eine Hello World-Anwendung hochgeladen werden sollen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, einschließlich alphanumerischer Zeichen und Unterstriche. Dieser reguläre Ausdruck entspricht Protokolldateien mit und ohne Zeitstempel im Namen. 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, wo componentName ist der Name der Komponente für diese Protokollkonfiguration.

deleteLogFileAfterCloudUpload

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

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann es sich bei einer Protokollnachricht in einer neuen Zeile um eine neue Protokollnachricht handelt. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Log-Manager-Komponente 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. einem Tabulator 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 Log-Manager-Komponente Nachrichten, die sich über mehrere Zeilen erstrecken, nicht aufteilt, wie z. B. Stack-Traces.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Log Manager-Komponente nach neuen Protokolldateien sucht, die hochgeladen werden können.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration legt fest, dass System- und com.example.HelloWorld Komponentenprotokolle in Logs hochgeladen werden CloudWatch sollen.

{ "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 Greengrass Core-Softwaresystemprotokolle, die Protokolle der Greengrass-Nukleus - 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 Logs hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestanzahl an Protokollnachrichten, die hochgeladen werden sollen. Diese Mindeststufe gilt nur, wenn Sie die Greengrass Nucleus-Komponente für die Ausgabe von Protokollen JSON im Ausgabeformat konfigurieren. Um das JSON Formatieren von Protokollen zu aktivieren, geben Sie JSON für den Logging-Formatparameter (logging.format) an.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der von Ihnen angegebenen Einheit. diskSpaceLimitUnit Wenn 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 diediskSpaceLimit. 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 Log-Manager-Komponente die Protokolle in Logs hochgeladen hat. CloudWatch

Standard: false

componentLogsConfiguration

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

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 Mindestanzahl der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON Format verwenden, das Sie im Repository des AWS IoT Greengrass Logging-Moduls finden GitHub.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der von Ihnen angegebenen EinheitdiskSpaceLimitUnit. Wenn 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 für die Loggrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente. Die AWS IoT Greengrass Core-Software verwendet den kleinsten der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für diediskSpaceLimit. 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Standard: /greengrass/v2/logs.

logFileRegex

(Optional) Ein regulärer Ausdruck, der das Namensformat der Protokolldatei 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 auf Standardausgabe (stdout) und Standardfehler (stderr) drucken.

Wenn Ihre Komponente oder Anwendung Protokolldateien rotiert, geben Sie einen regulären Ausdruck an, der den Namen der rotierten Protokolldateien entspricht. Sie könnten beispielsweise angebenhello_world\\\\w*.log, dass Protokolle für eine Hello World-Anwendung hochgeladen werden sollen. Das \\\\w* Muster entspricht null oder mehr Wortzeichen, einschließlich alphanumerischer Zeichen und Unterstriche. Dieser reguläre Ausdruck entspricht Protokolldateien mit und ohne Zeitstempel im Namen. 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, wo componentName ist der Name der Komponente für diese Protokollkonfiguration.

deleteLogFileAfterCloudUpload

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

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann es sich bei einer Protokollnachricht in einer neuen Zeile um eine neue Protokollnachricht handelt. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Log-Manager-Komponente 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. einem Tabulator 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 Log-Manager-Komponente Nachrichten, die sich über mehrere Zeilen erstrecken, nicht aufteilt, wie z. B. Stack-Traces.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Log Manager-Komponente nach neuen Protokolldateien sucht, die hochgeladen werden können.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration legt fest, dass System- und com.example.HelloWorld Komponentenprotokolle in Logs hochgeladen werden CloudWatch sollen.

{ "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 Greengrass Core-Software-Systemprotokolle. 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 Logs hochladen.

Standard: false

minimumLogLevel

(Optional) Die Mindestanzahl an Protokollnachrichten, die hochgeladen werden sollen. Diese Mindeststufe gilt nur, wenn Sie die Greengrass Nucleus-Komponente für die Ausgabe von Protokollen JSON im Ausgabeformat konfigurieren. Um das JSON Formatieren von Protokollen zu aktivieren, geben Sie JSON für den Logging-Formatparameter (logging.format) an.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße der Greengrass-Systemprotokolldateien in der von Ihnen angegebenen Einheit. diskSpaceLimitUnit Wenn 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 diediskSpaceLimit. 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 Log-Manager-Komponente die Protokolle in Logs hochgeladen hat. CloudWatch

Standard: false

componentLogsConfiguration

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

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 Mindestanzahl der hochzuladenden Protokollnachrichten. Diese Mindeststufe gilt nur, wenn die Protokolle dieser Komponente ein bestimmtes JSON Format verwenden, das Sie im Repository des AWS IoT Greengrass Logging-Moduls finden GitHub.

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

  • DEBUG

  • INFO

  • WARN

  • ERROR

Standard: INFO

diskSpaceLimit

(Optional) Die maximale Gesamtgröße aller Protokolldateien für diese Komponente in der von Ihnen angegebenen EinheitdiskSpaceLimitUnit. Wenn 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 für die Loggrößenbeschränkung (totalLogsSizeKB) der Greengrass-Kernkomponente. Die AWS IoT Greengrass Core-Software verwendet den kleinsten der beiden Werte als maximale Gesamtprotokollgröße für diese Komponente.

diskSpaceLimitUnit

(Optional) Die Einheit für diediskSpaceLimit. 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/greengrass/v2/logs, geben Sie Ihren Greengrass-Stammordner an und /greengrass/v2 ersetzen Sie ihn durch diesen.

logFileRegex

Ein regulärer Ausdruck, der das Namensformat der Protokolldatei 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 Logs einer Greengrass-Komponente hochzuladen, geben Sie eine Regex an, die den rotierten Log-Dateinamen entspricht. Sie könnten beispielsweise angebencom.example.HelloWorld\\w*.log, dass Protokolle für eine Hello World-Komponente hochgeladen werden sollen. Das \\w* Muster entspricht null oder mehr Wortzeichen, einschließlich alphanumerischer Zeichen und Unterstriche. Dieser reguläre Ausdruck entspricht Protokolldateien mit und ohne Zeitstempel im Namen. 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-Kern fügt den Protokolldateien einen rotierenden Zeitstempel hinzu.

deleteLogFileAfterCloudUpload

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

Standard: false

multiLineStartPattern

(Optional) Ein regulärer Ausdruck, der angibt, wann es sich bei einer Protokollnachricht in einer neuen Zeile um eine neue Protokollnachricht handelt. Wenn der reguläre Ausdruck nicht mit der neuen Zeile übereinstimmt, hängt die Log-Manager-Komponente 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. einem Tabulator 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 Log-Manager-Komponente Nachrichten, die sich über mehrere Zeilen erstrecken, nicht aufteilt, wie z. B. Stack-Traces.

periodicUploadIntervalSec

(Optional) Der Zeitraum in Sekunden, in dem die Log Manager-Komponente nach neuen Protokolldateien sucht, die hochgeladen werden können.

Standard: 300 (5 Minuten)

Minimum: 0.000001 (1 Mikrosekunde)

Beispiel: Aktualisierung der Zusammenführung von Konfigurationen

Die folgende Beispielkonfiguration legt fest, dass System- und com.example.HelloWorld Komponentenprotokolle in Logs hochgeladen werden CloudWatch sollen.

{ "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 Dateien in die folgenden Protokollgruppen und Protokolldatenströme hoch.

2.1.0 and later
Name der Protokollgruppe
/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 umfasst Protokolle für die Nucleus- und Plugin-Komponenten, die in derselben Weise JVM wie der Greengrass-Nucleus ausgeführt werden. Die Komponente ist Teil des Greengrass-Kerns.

    • UserComponent— Diese Protokollgruppe umfasst 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 Kerngerät verwendet.

  • componentName— Der Name der Komponente. Für Systemprotokolle ist dieser WertSystem.

Name des Protokollstreams
/date/thing/thingName

Der Name des Protokolldatenstroms verwendet die folgenden Variablen:

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

  • thingName— Der Name des Kerngeräts.

Anmerkung

Wenn ein Dingname einen Doppelpunkt (:) enthält, ersetzt der Logmanager den Doppelpunkt durch ein Plus (+).

2.0.x
Name der Protokollgruppe
/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 Logmanager verwendet diesen Typ für Greengrass-Komponenten und andere Anwendungen auf dem Gerät.

  • region— Die AWS Region, die das Kerngerät verwendet.

  • componentName— Der Name der Komponente. Für Systemprotokolle ist dieser WertSystem.

Name des Protokollstreams
/date/deploymentTargets/thingName

Der Name des Protokolldatenstroms verwendet die folgenden Variablen:

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

  • deploymentTargets— Die Dinge, zu deren Deployments die Komponente gehört. Die Log-Manager-Komponente trennt jedes Ziel durch einen Schrägstrich. Wenn die Komponente aufgrund einer lokalen Bereitstellung auf dem Kerngerät ausgeführt wird, ist LOCAL_DEPLOYMENT dieser Wert.

    Stellen Sie sich ein Beispiel vorMyGreengrassCore, bei dem Sie ein Kerngerät mit dem Namen haben und das Kerngerät über zwei Bereitstellungen verfügt:

    • Eine Bereitstellung, die auf das Kerngerät abzielt,MyGreengrassCore.

    • Eine Bereitstellung, die auf eine Dinggruppe mit dem Namen abzieltMyGreengrassCoreGroup, die das Kerngerät enthält.

    Die deploymentTargets für dieses Kerngerät sindthing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup.

  • thingName— Der Name des Kerngeräts.

Formate für Protokolleinträge.

Der Greengrass-Kern schreibt Protokolldateien entweder als Zeichenfolge oder als JSON Format. Bei Systemprotokollen steuern Sie das Format, indem Sie das format Feld für den logging Eintrag festlegen. Sie finden den logging Eintrag in der Konfigurationsdatei der Greengrass Nucleus-Komponente. Weitere Informationen finden Sie unter Greengrass Nucleus-Konfiguration.

Das Textformat ist formfrei und akzeptiert jede Zeichenfolge. Die folgende Servicemeldung zum Flottenstatus ist ein Beispiel für die Protokollierung im Zeichenkettenformat:

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 Befehl Greengrass CLI logs anzeigen oder programmgesteuert mit Protokollen interagieren möchten. Das folgende Beispiel skizziert die Form: JSON

{ "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 Nucleus-Komponente.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Um die Protokolle dieser Komponente einzusehen
  • Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. Ersetzen Sie /greengrass/v2 oder C:\greengrass\v2 mit dem 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 den einzelnen Versionen der Komponente beschrieben.

Version

Änderungen

2.3.8

Die Version wurde für die Version 2.13.0 von Greengrass Nucleus aktualisiert.

2.3.7

Die Version wurde für die Version 2.12.0 von Greengrass Nucleus aktualisiert.

2.3.6

Fehlerkorrekturen und Verbesserungen
  • Passt die Protokollebenen für bestimmte Fehler an.

2.3.5

Verbesserungen

Verbessert die Geschwindigkeit beim Hochladen von Protokollen.

Die Version wurde für die Version 2.11.0 von Greengrass Nucleus aktualisiert.

2.3.4

Fehlerkorrekturen und Verbesserungen
  • Fügt Unterstützung für das Setzen des periodicUploadIntervalSec Parameters auf Bruchwerte hinzu. Das Minimum ist 1 Mikrosekunde.

  • Behebt ein Problem, bei dem der Protokollmanager die CloudWatch putLogEvents Grenzwerte nicht einhält.

2.3.3

Die Version wurde für die Version 2.10.0 von Greengrass Nucleus aktualisiert.

2.3.2

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

  • Behebt Probleme mit der Cache-Verwaltung.

  • Zusätzliche kleinere Bugfixes und Verbesserungen.

2.3.1

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Problem, bei dem Zieldateigruppen mit mehreren aktiven Protokolldateien doppelte Einträge hochladen. CloudWatch

  • Zusätzliche kleinere Bugfixes und Verbesserungen.

2.3.0

Anmerkung

Wir empfehlen, dass Sie auf Greengrass Nucleus 2.9.1 aktualisieren, wenn Sie auf Log Manager 2.3.0 aktualisieren.

Neue Features

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

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

  • Zusätzliche kleinere Fehlerkorrekturen und Verbesserungen.

2.2.8

Die Version wurde für die Version 2.9.0 von Greengrass Nucleus aktualisiert.

2.2.7

Die Version wurde für die Version 2.8.0 von Greengrass Nucleus aktualisiert.

2.2.6

Die Version wurde für die Version 2.7.0 von Greengrass Nucleus aktualisiert.

2.2.5

Die Version wurde für die Version 2.6.0 von Greengrass Nucleus aktualisiert.

2.2.4

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

  • Zusätzliche kleinere Korrekturen und Verbesserungen.

2.2.3

Fehlerkorrekturen 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 Protokollnachrichten und große Protokolldateien in bestimmten Szenarien nicht hochgeladen werden können.

  • Behebt Probleme mit der Art und Weise, wie diese Komponente Updates zum Zurücksetzen der Konfiguration verarbeitet.

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

2.2.2

Fehlerkorrekturen und Verbesserungen
  • Integriert die Unterstützung für Protokollnachrichten, die größer als 256 Kilobyte sind. Die Log-Manager-Komponente teilt diese großen Protokollnachrichten in mehrere Meldungen mit demselben Protokollereignis-Zeitstempel auf.

2.2.1

Die Version wurde für die Version 2.5.0 von Greengrass Nucleus 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

Die Version wurde für die Version 2.4.0 von Greengrass Nucleus aktualisiert.

2.1.2

Die Version wurde für die Version 2.3.0 von Greengrass Nucleus aktualisiert.

2.1.1

Fehlerkorrekturen und Verbesserungen
  • Behebt ein Problem, bei dem die Konfiguration des Systemprotokolls in bestimmten Fällen nicht aktualisiert wurde.

2.1.0

Fehlerkorrekturen und Verbesserungen
  • Verwenden Sie Standardwerte für logFileDirectoryPath Greengrass-KomponentenlogFileRegex, die auf Standardausgabe (stdout) und Standardfehler (stderr) drucken, und die für diese funktionieren.

  • Leiten Sie den Datenverkehr korrekt über einen konfigurierten Netzwerk-Proxy weiter, wenn Sie Protokolle in Logs hochladen. CloudWatch

  • Behandelt Doppelpunkte (:) in Protokolldatenstromnamen korrekt. CloudWatch Log-Log-Stream-Namen unterstützen keine Doppelpunkte.

  • Vereinfachen Sie die Namen von Protokolldatenströmen, indem Sie die Namen der Dinggruppen aus dem Protokollstream entfernen.

  • Entfernen Sie eine Fehlerprotokollmeldung, die bei normalem Verhalten ausgegeben wird.

2.0.x

Erste Version