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.
AWS IoT Greengrass besteht aus dem Cloud-Service und der AWS IoT Greengrass Core-Software. Die AWS IoT Greengrass Core-Software kann Protokolle in Amazon CloudWatch Logs und in das lokale Dateisystem des Kerngeräts schreiben. Greengrass-Komponenten, die auf dem Kerngerät ausgeführt werden, können auch Protokolle in CloudWatch Logs und das lokale Dateisystem schreiben. Sie können die Protokolle verwenden, um Ereignisse zu überwachen und Probleme zu beheben. Alle AWS IoT Greengrass Protokolleinträge enthalten einen Zeitstempel, eine Protokollebene und Informationen über das Ereignis.
Standardmäßig schreibt die AWS IoT Greengrass Core-Software Protokolle nur in das lokale Dateisystem. Sie können Dateisystemprotokolle in Echtzeit anzeigen, sodass Sie Greengrass-Komponenten, die Sie entwickeln und bereitstellen, debuggen können. Sie können ein Core-Gerät auch so konfigurieren, dass es Protokolle in Logs schreibt, sodass Sie Fehler auf dem Core-Gerät beheben können, ohne auf das lokale Dateisystem zugreifen zu müssen. CloudWatch Weitere Informationen finden Sie unter Aktivieren Sie die Protokollierung in CloudWatch Logs.
Themen
Greifen Sie auf Dateisystemprotokolle zu
Die AWS IoT Greengrass Core-Software speichert Protokolle in dem
Ordner auf einem Core-Gerät, in dem
/logs/greengrass/v2
sich der Pfad zum AWS IoT Greengrass Stammordner befindet. Der Protokollordner hat die folgende Struktur./greengrass/v2
└── logs ├── greengrass.log ├── greengrass_
/greengrass/v2
2021_09_14_15_0
.log ├──ComponentName
.log ├──ComponentName
_2021_09_14_15_0
.log └── main.log
-
greengrass.log
— Die Protokolldatei der AWS IoT Greengrass Core-Software. Verwenden Sie diese Protokolldatei, um Echtzeitinformationen zu Komponenten und Bereitstellungen anzuzeigen. Diese Protokolldatei enthält Protokolle für den Greengrass-Nucleus, den AWS IoT Greengrass Kern der Core-Software, und Plugin-Komponenten wie Log Manager und Secret Manager. -
— Protokolldateien der Greengrass-Komponente. Verwenden Sie Komponenten-Protokolldateien, um Echtzeitinformationen über eine Greengrass-Komponente anzuzeigen, die auf dem Kerngerät ausgeführt wird. Generische Komponenten und Lambda-Komponenten schreiben Standardausgaben (stdout) und Standardfehler (stderr) in diese Protokolldateien.ComponentName
.log -
main.log
— Die Protokolldatei für denmain
Dienst, der die Lebenszyklen von Komponenten verwaltet. Diese Protokolldatei wird immer leer sein.
Weitere Hinweise zu den Unterschieden zwischen Plug-in-, generischen und Lambda-Komponenten finden Sie unterKomponententypen.
Die folgenden Hinweise gelten für die Verwendung von Dateisystemprotokollen:
-
Root-Benutzerberechtigungen
Sie benötigen Root-Rechte, um AWS IoT Greengrass Protokolle im Dateisystem lesen zu können.
-
Rotation der Protokolldateien
Die AWS IoT Greengrass Core-Software rotiert die Protokolldateien jede Stunde oder wenn sie eine Dateigrößenbeschränkung überschreiten. Rotierte Protokolldateien enthalten einen Zeitstempel in ihrem Dateinamen. Beispielsweise könnte eine rotierte AWS IoT Greengrass Core-Software-Protokolldatei benannt
greengrass_2021_09_14_15_0.log
werden. Die Standarddateigrößenbeschränkung beträgt 1.024 KB (1 MB). Sie können die Dateigrößenbeschränkung für die Greengrass Nucleus-Komponente konfigurieren. -
Löschen der Protokolldatei
Die AWS IoT Greengrass Core-Software bereinigt frühere Protokolldateien, wenn die Größe der AWS IoT Greengrass Core-Software-Protokolldateien oder der Protokolldateien von Greengrass-Komponenten, einschließlich rotierter Protokolldateien, eine Speicherplatzbeschränkung überschreitet. Das Standardlimit für den Festplattenspeicher für das AWS IoT Greengrass Core-Softwareprotokoll und jedes Komponentenprotokoll beträgt 10.240 KB (10 MB). Sie können das Speicherplatzlimit für das AWS IoT Greengrass Core-Software-Protokoll auf der Greengrass Nucleus-Komponente oder der Log Manager-Komponente konfigurieren. Sie können die Speicherplatzbeschränkung für die einzelnen Komponenten in der Log Manager-Komponente konfigurieren.
Um die AWS IoT Greengrass Core-Software-Protokolldatei anzuzeigen
-
Führen Sie den folgenden Befehl aus, um die Protokolldatei in Echtzeit anzuzeigen.
Ersetzen Sie es durch den Pfad zum AWS IoT Greengrass Stammordner./greengrass/v2
sudo tail -f
/logs/greengrass.log/greengrass/v2
Um die Protokolldatei für eine Komponente anzuzeigen
-
Führen Sie den folgenden Befehl aus, um die Protokolldatei in Echtzeit anzuzeigen. Ersetzen Sie
oder/greengrass/v2
C:\greengrass\v2
durch den Pfad zum AWS IoT Greengrass Stammordner undcom.example.HelloWorld
ersetzen Sie ihn durch den Namen der Komponente.sudo tail -f
/logs//greengrass/v2
com.example.HelloWorld
.log
Sie können auch den logs
Befehl der Greengrass-CLI verwenden, um Greengrass-Protokolle auf einem Kerngerät zu analysieren. Um den logs
Befehl verwenden zu können, müssen Sie den Greengrass-Nucleus so konfigurieren, dass er Protokolldateien im JSON-Format ausgibt. Weitere Informationen erhalten Sie unter Greengrass-Befehlszeilenschnittstelle und Protokolle.
Zugriffs-Logs CloudWatch
Sie können die Log Manager-Komponente bereitstellen, um das Kerngerät so zu konfigurieren, dass es in CloudWatch Protokolle schreibt. Weitere Informationen finden Sie unter Aktivieren Sie die Protokollierung in CloudWatch Logs. Anschließend können Sie die Protokolle auf der Logs-Seite der CloudWatch Amazon-Konsole oder mithilfe der CloudWatch Logs-API anzeigen.
- 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 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 dasyyyy/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 (+
). -
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 das 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 Kerngerä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 .
Greifen Sie auf Systemdienstprotokolle zu
Wenn Sie die AWS IoT Greengrass Core-Software als Systemdienst konfigurieren, können Sie Systemdienstprotokolle einsehen, um Probleme zu beheben, z. B. wenn die Software nicht gestartet werden kann.
So zeigen Sie Systemdienstprotokolle (CLI) an
-
Führen Sie den folgenden Befehl aus, um die Systemdienstprotokolle der AWS IoT Greengrass Core-Software anzuzeigen.
sudo journalctl -u greengrass.service
-
Auf Windows-Geräten erstellt die AWS IoT Greengrass Core-Software eine separate Protokolldatei für Systemdienstfehler. Führen Sie den folgenden Befehl aus, um die Fehlerprotokolle des Systemdienstes anzuzeigen.
type
C:\greengrass\v2
\logs\greengrass.err.log
Auf Windows-Geräten können Sie auch die Event Viewer-Anwendung verwenden, um Systemdienstprotokolle anzuzeigen.
So zeigen Sie Windows-Dienstprotokolle an (Event Viewer)
-
Öffnen Sie die Event Viewer-Anwendung.
-
Wählen Sie Windows-Protokolle aus, um es zu erweitern.
-
Wählen Sie Anwendung, um die Anwendungsdienstprotokolle anzuzeigen.
-
Suchen und öffnen Sie Ereignisprotokolle, deren Quelle greengrass.
Aktivieren Sie die Protokollierung in CloudWatch Logs
Sie können die Log Manager-Komponente einsetzen, um ein Kerngerät so zu konfigurieren, dass es CloudWatch Protokolle in Logs schreibt. Sie können CloudWatch Logs for AWS IoT Greengrass Core Software Logs aktivieren, und Sie können CloudWatch Logs für bestimmte Greengrass-Komponenten aktivieren.
Anmerkung
Die Token-Austauschrolle des Greengrass-Core-Geräts muss es dem Kerngerät ermöglichen, in CloudWatch Logs zu schreiben, wie in der folgenden IAM-Beispielrichtlinie gezeigt. Wenn Sie die AWS IoT Greengrass Core-Software mit automatischer Ressourcenbereitstellung installiert haben, verfügt Ihr Kerngerät über diese Berechtigungen.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:*"
}
]
}
Um ein Core-Gerät so zu konfigurieren, dass es AWS IoT Greengrass Core-Softwareprotokolle in CloudWatch Logs schreibt, erstellen Sie eine Bereitstellung, die ein Konfigurationsupdate spezifiziert, das true
für die aws.greengrass.LogManager
Komponente uploadToCloudWatch
auf eingestellt ist. AWS IoT Greengrass Zu den wichtigsten Softwareprotokollen gehören Protokolle für den Greengrass-Nucleus und die Plugin-Komponenten.
{
"logsUploaderConfiguration": {
"systemLogsConfiguration": {
"uploadToCloudWatch": "true"
}
}
}
Um ein Core-Gerät so zu konfigurieren, dass es die Logs einer Greengrass-Komponente in Logs schreibt, erstellen Sie ein Deployment, das ein Konfigurationsupdate spezifiziert, das die Komponente zur Liste der Komponenten-Logging-Konfigurationen hinzufügt. CloudWatch Wenn Sie dieser Liste eine Komponente hinzufügen, schreibt die Log-Manager-Komponente ihre Protokolle in CloudWatch Logs. Zu den Komponentenprotokollen gehören Protokolle für generische Komponenten und Lambda-Komponenten.
{
"logsUploaderConfiguration": {
"componentLogsConfigurationMap": {
"com.example.HelloWorld
": {
}
}
}
}
Wenn Sie die Log Manager-Komponente bereitstellen, können Sie auch Festplattenspeicherbeschränkungen konfigurieren und festlegen, ob das Kerngerät Protokolldateien löscht, nachdem sie in Logs geschrieben wurden. CloudWatch Weitere Informationen finden Sie unter Konfigurieren Sie die Protokollierung für AWS IoT Greengrass.
Konfigurieren Sie die Protokollierung für AWS IoT Greengrass
Sie können die folgenden Optionen konfigurieren, um die Protokollierung für Greengrass-Core-Geräte anzupassen. Um diese Optionen zu konfigurieren, erstellen Sie eine Bereitstellung, die ein Konfigurationsupdate für die Greengrass Nucleus- oder Log Manager-Komponenten spezifiziert.
-
Protokolle in Logs schreiben CloudWatch
Um Probleme mit Kerngeräten per Fernzugriff zu beheben, können Sie die Kerngeräte so konfigurieren, dass sie die AWS IoT Greengrass Core-Software- und CloudWatch Komponentenprotokolle in Logs schreiben. Stellen Sie dazu die Log Manager-Komponente bereit und konfigurieren Sie sie. Weitere Informationen finden Sie unter Aktivieren Sie die Protokollierung in CloudWatch Logs.
-
Löschen hochgeladener Protokolldateien
Um den Speicherverbrauch zu reduzieren, können Sie die Kerngeräte so konfigurieren, dass Protokolldateien nach dem Schreiben der Protokolldateien in CloudWatch Logs gelöscht werden. Weitere Informationen finden Sie im
deleteLogFileAfterCloudUpload
Parameter der Log Manager-Komponente, den Sie für AWS IoT Greengrass Core-Softwareprotokolle und Komponentenprotokolle angeben können. -
Speicherplatzbeschränkungen protokollieren
Um die Speicherbelegung zu begrenzen, können Sie den maximalen Festplattenspeicher für jedes Protokoll, einschließlich der rotierten Protokolldateien, auf einem Core-Gerät konfigurieren. Sie können beispielsweise den maximalen kombinierten Speicherplatz für Dateien
greengrass.log
und rotiertegreengrass.log
Dateien konfigurieren. Weitere Informationen finden Sie in den Parametern der Greengrass Nucleus-Komponente und in denlogging.totalLogsSizeKB
Parametern der LogdiskSpaceLimit
Manager-Komponente, die Sie für AWS IoT Greengrass Core-Softwareprotokolle und Komponentenprotokolle angeben können. -
Größenbeschränkung für Protokolldateien
Sie können die maximale Dateigröße für jede Protokolldatei konfigurieren. Wenn eine Protokolldatei diese Dateigrößenbeschränkung überschreitet, erstellt die AWS IoT Greengrass Core-Software eine neue Protokolldatei. Die Log Manager-Komponente, Version 2.28 (und früher), schreibt nur rotierte Protokolldateien in CloudWatch Logs, sodass Sie eine niedrigere Dateigrößenbeschränkung angeben können, um Logs häufiger in CloudWatch Logs zu schreiben. Die Protokollmanager-Komponente Version 2.3.0 (und höher) verarbeitet und lädt alle Protokolle hoch, anstatt darauf zu warten, dass sie rotiert werden. Weitere Informationen finden Sie im Parameter zur Größenbeschränkung für Protokolldateien (
logging.fileSizeKB
) der Greengrass Nucleus-Komponente. -
Minimale Protokollebenen
Sie können die minimale Protokollebene konfigurieren, die die Greengrass Nucleus-Komponente in Dateisystemprotokolle schreibt. Sie können beispielsweise
DEBUG
Level-Logs angeben, um bei der Problembehandlung zu helfen, oder Sie könnenERROR
Level-Logs angeben, um die Anzahl der Logs zu reduzieren, die ein Core-Gerät erstellt. Weitere Informationen finden Sie im Log-Level-Parameter (logging.level
) der Greengrass Nucleus-Komponente.Sie können auch die minimale Protokollebene konfigurieren, die die Log-Manager-Komponente in CloudWatch Logs schreibt. Sie können beispielsweise eine höhere Protokollebene angeben, um die Protokollierungskosten
zu senken. Weitere Informationen finden Sie im minimumLogLevel
Parameter der Log Manager-Komponente, den Sie für AWS IoT Greengrass Core-Softwareprotokolle und Komponentenprotokolle angeben können. -
Intervall, in dem nach Protokollen gesucht werden soll, die in die CloudWatch Protokolle geschrieben werden sollen
Um die Häufigkeit, mit der die Log Manager-Komponente Protokolle in Logs schreibt, zu CloudWatch erhöhen oder zu verringern, können Sie das Intervall konfigurieren, in dem sie nach neuen Protokolldateien sucht, die geschrieben werden sollen. Sie können beispielsweise ein niedrigeres Intervall angeben, um CloudWatch Protokolle früher als mit dem Standardintervall von 5 Minuten in Logs anzuzeigen. Sie können ein höheres Intervall angeben, um die Kosten zu senken, da die Log Manager-Komponente Protokolldateien in weniger Anfragen stapelt. Weitere Informationen finden Sie im Upload-Intervallparameter (
periodicUploadIntervalSec
) der Log Manager-Komponente. -
Format des Protokolls
Sie können wählen, ob die AWS IoT Greengrass Core-Software Protokolle im Text- oder JSON-Format schreibt. Wählen Sie das Textformat, wenn Sie Protokolle lesen, oder das JSON-Format, wenn Sie eine Anwendung zum Lesen oder Analysieren von Protokollen verwenden. Weitere Informationen finden Sie im Protokollformatparameter (
logging.format
) der Greengrass-Nukleus-Komponente. -
Ordner mit lokalen Dateisystemprotokollen
Sie können den Protokollordner von
einem anderen Ordner auf dem Kerngerät ändern. Weitere Informationen finden Sie im Ausgabeverzeichnisparameter (
/logs/greengrass/v2
logging.outputDirectory
) der Greengrass-Nukleus-Komponente.
AWS CloudTrail Logs
AWS IoT Greengrass integriert sich in AWS CloudTrail, einen Dienst, der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder AWS-Service in ausgeführt wurden AWS IoT Greengrass. Weitere Informationen finden Sie unter AWS IoT Greengrass V2 API-Aufrufe protokollieren mit AWS CloudTrail.