本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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
。 在日誌更新發生時顯示日誌更新。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][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 定義的 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.