本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日誌
使用 logs命令來分析核心裝置上的 Greengrass 日誌。
get
收集、篩選和視覺化 Greengrass 日誌檔案。此命令僅支援 JSON 格式的日誌檔案。您可以在 核組態中指定記錄格式。
- 概要
-
greengrass-cli logs get [--log-dirpath/to/a/log/folder] [--log-filepath/to/a/log/file] [--follow true | false ] [--filter<filter>] [--time-window<start-time>,<end-time>] [--verbose ] [--no-color ] [--before<value>] [--after<value>] [--syslog ] [--max-long-queue-size<value>] - Arguments (引數)
-
-
--log-dir、-ld。 要檢查日誌檔案的目錄路徑,例如。請勿與 搭配使用/logs/greengrass/v2--syslog。為每個要指定的額外目錄使用單獨的引數。您必須使用--log-dir或 中的至少一個--log-file。您也可以在單一命令中使用兩個引數。 -
--log-file、-lf。 您要使用的日誌目錄路徑。為每個要指定的額外目錄使用單獨的引數。您必須使用--log-dir或 中的至少一個--log-file。您也可以在單一命令中使用兩個引數。 -
--follow、-fol。 在日誌更新發生時顯示日誌更新。Greengrass CLI 會繼續執行並從指定的日誌讀取。如果您指定時段,則 Greengrass CLI 會在所有時段結束後停止監控日誌。 -
--filter、-f。 要用作篩選條件的關鍵字、規則運算式或鍵值對。將此值提供為字串、規則表達式或索引鍵/值對。為每個要指定的額外篩選條件使用單獨的引數。評估時,單一引數中指定的多個篩選條件會由 OR 運算子分隔,而其他引數中指定的篩選條件則會與 AND 運算子合併。例如,如果您的命令包含
--filter "installed" --filter "name=alpha,name=beta",則 Greengrass CLI 將篩選和顯示包含關鍵字installed和具有alpha或 值的name金鑰的日誌訊息beta。 -
--time-window、-t。 要顯示日誌資訊的時間範圍。您可以同時使用確切的時間戳記和相對位移。您必須以 格式提供此資訊。如果您未指定開始時間或結束時間,則該選項的值會預設為目前的系統日期和時間。為每個要指定的額外時段使用單獨的引數。<begin-time>,<end-time>Greengrass CLI 支援下列時間戳記格式:
-
yyyy-MM-DD,例如2020-06-30。當您使用此格式時,時間預設為 00:00:00。yyyyMMDD,例如20200630。當您使用此格式時,時間預設為 00:00:00。HH:mm:ss,例如15:30:45。當您使用此格式時,日期預設為目前的系統日期。HH:mm:ssSSS,例如15:30:45。當您使用此格式時,日期預設為目前的系統日期。YYYY-MM-DD'T'HH:mm:ss'Z',例如2020-06-30T15:30:45Z。YYYY-MM-DD'T'HH:mm:ss,例如2020-06-30T15:30:45。yyyy-MM-dd'T'HH:mm:ss.SSS,例如2020-06-30T15:30:45.250。
相對偏移會指定與目前系統時間的時段偏移。Greengrass CLI 支援下列格式的相對偏移:
+|-[<。value>h|hr|hours][valuem|min|minutes][value]s|sec|seconds例如,下列引數指定目前時間 1 小時到 2 小時 15 分鐘之間的時間範圍
--time-window -2h15min,-1hr。 -
-
--verbose。 顯示日誌訊息中的所有欄位。請勿與 搭配使用--syslog。 -
--no-color、-nc。 移除顏色編碼。日誌訊息的預設顏色編碼使用粗體紅色文字。僅支援類似 UNIX 的終端機,因為它使用 ANSI 逸出序列。 -
--before、-b。 在相符的日誌項目前面顯示的行數。預設值為 0。 -
--after、-a。 在相符的日誌項目之後顯示的行數。預設值為 0。 -
--syslog。 使用 RFC3164 定義的 syslog 通訊協定來處理所有日誌檔案。請勿搭配--log-dir和 使用--verbose。syslog 通訊協定使用以下格式:"<$Priority>$Timestamp $Host $Logger ($Class): $Message"。如果您未指定日誌檔案,則 Greengrass CLI 會從下列位置讀取日誌訊息:/var/log/messages、/var/log/syslog或/var/log/system.log。AWS IoT Greengrass 目前不支援 Windows 核心裝置上的此功能。
-
--max-log-queue-size、-m。 要配置到記憶體的日誌項目數目上限。使用此選項可最佳化記憶體用量。預設為 100。
-
- 輸出
-
下列範例顯示執行此命令時產生的輸出。
$ sudo greengrass-cli logs get --verbose \ --log-file /greengrass/v2/logs/greengrass.log \ --filter deployment,serviceName=DeploymentService \ --filter level=INFO \ --time-window 2020-12-08T01:11:17,2020-12-08T01:11:22 2020-12-08T01:11:17.615Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.DeploymentService: Current deployment finished. {DeploymentId=44d89f46-1a29-4044-ad89-5151213dfcbc, serviceName=DeploymentService, currentState=RUNNING} 2020-12-08T01:11:17.675Z [INFO] (pool-2-thread-14) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=SUCCEEDED, StatusDetails={detailed-deployment-status=SUCCESSFUL}, ThingName=MyThing, JobId=22d89f46-1a29-4044-ad89-5151213dfcbc
list-keywords
顯示建議的關鍵字,您可以用來篩選日誌檔案。
- 概要
-
greengrass-cli logs list-keywords [arguments] - Arguments (引數)
-
無
- 輸出
-
下列範例顯示執行此命令時產生的輸出。
$ sudo greengrass-cli logs list-keywords Here is a list of suggested keywords for Greengrass log: level=$str thread=$str loggerName=$str eventType=$str serviceName=$str error=$str$ sudo greengrass-cli logs list-keywords --syslog Here is a list of suggested keywords for syslog: priority=$int host=$str logger=$str class=$str
list-log-files
顯示位於指定目錄中的日誌檔案。
- 概要
-
greengrass-cli logs list-log-files [arguments] - Arguments (引數)
-
--log-dir、-ld。 要檢查日誌檔案的目錄路徑。 - 輸出
-
下列範例顯示執行此命令時產生的輸出。
$ sudo greengrass-cli logs list-log-files -ld /greengrass/v2/logs/ /greengrass/v2/logs/aws.greengrass.Nucleus.log /greengrass/v2/logs/main.log /greengrass/v2/logs/greengrass.log Total 3 files found.