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
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.
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:
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:
Voraussetzungen
Für diese Komponente gelten die folgenden Anforderungen:
-
Die Greengrass-Geräterolle muss die logs:DescribeLogStreams
Aktionen logs:CreateLogGroup
logs: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:*:*:*"
}
]
}
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.
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:
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
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:
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:
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:
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
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:
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:
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:
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
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:
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:
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:
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:
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:
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:
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:
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.
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
Ä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
-
|
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
|
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
-
|
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
-
|
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
-
|
2.2.1
|
Die Version wurde für die Version 2.5.0 von Greengrass Nucleus aktualisiert.
|
2.2.0
|
|
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
-
|
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
|