本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
日誌
使用命logs
令分析核心裝置上的 Greengrass 記錄檔。
子命令
get
收集、篩選和視覺化 Greengrass 記錄檔。此命令僅支援 JSON 格式的記錄檔。您可以在核心組態中指定記錄格式。
- 概要
-
greengrass-cli logs get [--log-dir
path/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
。 在發生記錄檔更新時顯示。CLI Greengrass 繼續執行並從指定的記錄中讀取。如果您指定時間範圍,則 Greengrass CLI 會在所有時間視窗結束後停止監視記錄檔。 -
--filter
,-f
。 用作篩選器的關鍵字、規則運算式或索引鍵值組。將此值提供為字串、規則運算式或索引鍵值配對。為要指定的每個其他篩選器使用不同的引數。評估時,在單一引數中指定的多個篩選器會以 OR 運算子分隔,而在其他引數中指定的篩選器會與 AND 運算子結合。例如,如果您的命令包括
--filter "installed" --filter "name=alpha,name=beta"
,則 Greengrass CLI 將過濾並顯示包含關鍵字installed
和具有name
值或的鍵的日誌消息。alpha
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][value
m|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 定義的系統記錄通訊協定處理所有記錄檔。請勿與--log-dir
和一起使用--verbose
。系統記錄通訊協定使用下列格式:。"<$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
列表關鍵字
顯示可用來篩選記錄檔的建議關鍵字。
- 概要
-
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.