日誌 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

日誌

使用命logs令分析核心裝置上的 Greengrass 記錄檔。

get

收集、篩選和視覺化 Greengrass 記錄檔。此命令僅支援 JSON 格式的記錄檔。您可以在核心組態中指定記錄格式

概要
greengrass-cli logs get [--log-dir path/to/a/log/folder] [--log-file path/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。 檢查記錄檔的目錄路徑,例如/greengrass/v2/logs。請勿與配合使用--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][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 定義的系統記錄通訊協定處理所有記錄檔。請勿與--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.